欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 止损代码

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3207人关注过本帖树形打印复制链接

主题:止损代码

帅哥哟,离线,有人找我吗?
gxx978
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2020/6/23 15:06:58    Post IP:180.169.30.6[显示全部帖子]

大致理清了这段逻辑,我们会借鉴里面的开平仓条件,加上你的止损需求编写金字塔代码的。需要使用全局变量记录当天的亏损率,来进行止损。代码编写需要时间,我们会尽快回复,关注此贴就可以,不必重复发帖。

 回到顶部
帅哥哟,离线,有人找我吗?
gxx978
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2020/6/23 16:21:12    Post IP:180.169.30.6[显示全部帖子]

代码如下,以供参考:

VARIABLE:PROFIT=0,KD=0,KK=0,ZZ=0;    //PROFIT记录亏损率,KD和KK分别控制日内分别只开1次,ZZ用来控制止损后不再交易。

N1:=TODAYBAR;
DM:=4-INTPART(LOG(C));
SS:ROUNDS(IF(SUM(VOL,N1)=0,C,SUM(C*VOL,N1)/SUM(VOL,N1)),2+DM);    //金字塔中没有函数SETTLE,用此计算出当日均价
A1:=PRVSETTLEMENT;             //获取昨结算
A2:=SS>A1;
A3:=C>SS;
A4:SS<A1;
A5:C<SS;

 

M:TIME>010000 AND TIME<183000;

 

XPRICE:=REF(ENTERPRICE,1);     //获取上次开仓价

IF KD=0 AND ZZ=0 AND A2 AND A3 AND M THEN  BEGIN
 SELLSHORT(HOLDING<0,HOLDING,MARKET);
 PROFIT:=PROFIT+(XPRICE-EXITPRICE)/XPRICE;      //计算空单盈利率(负的则表示亏损)
 BUY(HOLDING=0,1,MARKET);
 KD:=1;
 END

IF KK=0 AND ZZ=0 AND A4 AND A5 AND M THEN  BEGIN
 SELL(HOLDING>0,HOLDING,MARKET);
 PROFIT:=PROFIT+(EXITPRICE-XPRICE)/XPRICE;           //计算多单盈利率(负的则表示亏损)
 BUYSHORT(HOLDING=0,1,MARKET);
 KK:=1;
 END 

 

IF PROFIT<-0.01 THEN BEGIN
   SELL(1,HOLDING,MARKET);
   SELLSHORT(1,HOLDING,MARKET);
   ZZ:=1;                        //止损后,禁止当日再交易
   END
  
IF TIME>=CLOSETIME(4) THEN BEGIN     //盘后,交易开关复位
 KD:=0;
 KK:=0;
 ZZ:=0;
 PROFIT:=0;
 END


 回到顶部