以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  交易策略发布专区  (http://www.weistock.com/bbs/list.asp?boardid=10)
----  【编程技巧】走完K线与固定轮训模式共存  (http://www.weistock.com/bbs/dispbbs.asp?boardid=10&id=151891)

--  作者:FexTel
--  发布时间:2017/4/19 16:32:34
--  【编程技巧】走完K线与固定轮训模式共存
金字塔提供2种下单模式,如下:
走完K线模式下根K线刚产生时检测上根K线是否存在信号,若存在立即下单。
固定轮训模式固定时间间隔检测信号是否存在,存在立即下单。
模式使用建议说明:http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=5224 
在实际交易过程中,一般进场会等待机会稳定,而止损止盈则希望能够实时出场。如下为2种模式共存的代码示例。

//类型:MA均线
//MA金叉进场,MA死叉出场,采用走完K线模式。盘中实时固定止盈止损。
//主要特点:在固定轮训模式下通过代码实现了2模式共存问题,进出场价格仿照实际成交价,让历史回测更贴合实际交易。
//修订时间:2017.04.19

//该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!
//适用模式:固定轮训模式

//中间变量
INPUT:A(5,1,20,1),B(10,1,30,1);
MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);
手数:=SS;

//交易条件,走完K线出入场

开多平空条件:=REF(CROSS(MA1,MA2),1);//开多平空条件
开空平多条件:=REF(CROSS(MA2,MA1),1);//开空平多条件

//交易系统
平空:SELLSHORT(开多平空条件,手数,LIMITR,OPEN);
开多:BUY(开多平空条件,手数,LIMITR,OPEN);
平多:SELL(开空平多条件,手数,LIMITR,OPEN);
开空:BUYSHORT(开空平多条件,手数,LIMITR,OPEN);

//止损止盈,实时出场
//多头
止盈:SELL(H-ENTERPRICE>=10 AND HOLDING>0,SS,LIMITR,ENTERPRICE+10);//盈利10个点止盈
止损:SELL(ENTERPRICE-L>=5 AND HOLDING>0,SS,LIMITR,ENTERPRICE-5);  //亏损5个点止损

//空头
止盈:SELLSHORT(ENTERPRICE-L>=10 AND HOLDING<0,SS,LIMITR,ENTERPRICE-10);//盈利10个点止盈
止损:SELLSHORT(H-ENTERPRICE>=5 AND HOLDING>0,SS,LIMITR,ENTERPRICE+5);  //亏损5个点止损

当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;

//其实两模式共同存在很简单,走完K线模式的条件我们采用REF函数取上周期的条件是否满足即可,同代码红色标注部分


[此贴子已经被作者于2017/4/19 16:39:47编辑过]

--  作者:Ivan
--  发布时间:2017/6/5 11:20:53
--  
把market指令限定在下K开盘时才下单,什么都解决了,什么代码都不需要改动。