您现在的位置:程序化交易>> 期货公式>> 金字塔等>> 金字塔知识>>正文内容

帮写一个简单策略 [金字塔]

咨询内容: 后台股票1、AB条件同时满足时,B条件高于A条件,只开仓B。

2、A条件满足时,开仓A。
3、B满足时,A仍在持仓,则加仓2万。
4、平仓重置。
多谢~~

 

 来源: WWW.CXH99.COM

金字塔资深技术:

[PEL] 复制代码
GLOBALVARIABLE:A:=0;//全局变量记录A是否开过仓


input:n(9,1,100,10),p1(3,2,40,4),p2(3,2,40,4);//参数设置
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,P1,1);
D:SMA(K,P2,1);
J:3*K-2*D,NODRAW;
kdjjc:cross(k,d),NODRAW;//kdj金叉   A条件
kdjsc:cross(d,k),NODRAW;


input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6);
DIFF :EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  :EMA(DIFF,M);
MACD1 :2*(DIFF-DEA), COLORSTICK;
macdjc:cross(diff,dea),NODRAW;//macd金叉 B条件
macdsc:cross(dea,diff),NODRAW;


ss1:=100;//A开仓手数
ss2:=200;//B开仓手数


if kdjjc and  macdjc then //同时满足 开仓B的手数
begin 
tbuy(1,ss2,Mkt);        
end 

if kdjjc and  not(macdjc) then //满足A,不满足B 开仓A的手数 同时全局变量进行记录
begin 
tbuy(1,ss1,Mkt);
A:=1;        
end 


if macdjc AND A then //满足B条件且 有A的持仓
begin 
ss:=INTPART((20000)/(100*c))*100;//按照2万资金以及最新价计算的股数
tbuy(1,ss,MKT);
end 

IF (macdsc OR  kdjsc) AND TBUYHOLDINGEX('','',0)>0 THEN //平仓时候重置全局变量
BEGIN 
TSELL(1,0,MKT);
A:=0;
END


以此为例作为参考。你理清其中的逻辑就可以应用到你自己代码里了。只需把其中条件置换成你自己的开仓条件即可。
需要注意的是:
1.每次重启程序,都会重置。GLOBALVARIABLE 全局变量的记录仅仅每次运行期间保存。
2.股票市价下单。交易柜台是按照涨停价判断你资金释放充足的。例子里都是市价,可以自行改成限价下单。

  • 技术交流:
    技术009 发表于 2021-10-22 14:37
    [mw_shl_code=pel,true]GLOBALVARIABLE:A:=0;//全局变量记录A是否开过仓

    not () 在后台不行
    在图表是可以的。

     

  • 技术交流: “not () 在后台不行”啥意思?我这里没用到这个函数吧。而且这个函数图表后台都可以的呀。
  •  

    有思路,想编写各种指标公式,交易模型,选股公式,还原公式的朋友

    可联系技术人员 QQ: 262069696  点击在线交流或微信号:cxh99cxh99  进行 有偿收费 编写!

    怎么收费,代编流程等详情请点击阅读!

    (注:由于人数限制,QQ或微信请选择方便的一个联系我们就行,加好友时请简单备注下您的需求,否则无法通过。谢谢您!)


    【字体: 】【打印文章】【查看评论

    相关文章

      没有相关内容