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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件策略编写求助区 → 蚂蚁后台程序化交易编写求助

   

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


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

主题:蚂蚁后台程序化交易编写求助

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/2 11:08:21 [显示全部帖子]

外部参数暂时采用参数设置的方式处理,这个也是不需要打开源码修改的。直接在后台程序化设置界面就可以修改参数。
另外你这个逻辑缺少盈利平仓的环节,建议补全上这个。否则你这里的逻辑都是亏损平仓。 另外我这里是按照期货的处理的,你如果是交易股票得话,持仓时候是需要判断是否有老仓的。
 
//ss参数是手数;n是连续上涨幅度;t1是连续亏损后停止交易的时间;t2是开仓后不盈利的时间;m是亏损平仓设置的亏损幅度;kscs表示连亏次数
INPUT:ss(10000,1,100000,1),n(0.2,0.01,100,0.01),t1(30,1,120,1),t2(3,1,120,1),m(0.1,0.01,100,0.01),kscs(3,1,100,1);
GLOBALVARIABLE:jsq1:=0,jsq2:=0,jsq3:=0;//jsq1用来记录下单具体的历时,单位是秒;jsq2记录连续亏损的次数;jsq3记录连亏之后停止交易的时间。

//"该品种连续上涨0.2%" 暂时按照当前K线涨幅来处理。你可以调整K线周期大小。使得这个涨幅大小限制在一个合适的时间范围内进行判断。
zd:100*(c-ref(c,1))/ref(c,1);

if jsq2=kscs then jsq3:=CURRENTTIME;//连亏三次之后利用jsq3变量开始计时
Timecd:jsq2=kscs and (CURRENTTIME-jsq3)<=t1*60;//判断是否在连亏后的指定时间内。

if zd>=n and not(Timecd) then  
begin
tbuy(1,ss,mkt);//买入
jsq1:=CURRENTTIME;
jsq3:=0;
end


//有可用持仓;开仓历时大于300s;当前依然没有盈利。满足三点直接平仓
if TBUYHOLDINGEX('','',1)>0 and CURRENTTIME-jsq1>=60*t2 and TAVGENTERPRICEEX2('','',0)-c>0 then
begin
tsell(1,TBUYHOLDINGEX('','',1),mkt);
jsq2:=jsq2+1;
end

//开仓后亏损到一定百分比平仓
if TBUYHOLDINGEX('','',1)>0 and ((TAVGENTERPRICEEX2('','',0)-c)/TAVGENTERPRICEEX2('','',0))>=m/100 then
begin
tsell(1,TBUYHOLDINGEX('','',1),mkt);
jsq2:=jsq2+1;
end





命数如织,当如磐石。
查看使用道具详细信息
获赠金币帖,共获得 0 个金币
 回到顶部