以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://www.weistock.com/bbs/list.asp?boardid=4) ---- [求助]使用图标程式化交易,就是不执行交易 (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=184069) |
-- 作者:熊猫 -- 发布时间:2021/1/25 22:54:53 -- [求助]使用图标程式化交易,就是不执行交易 各位大神,我写完策略之后,使用公式测试系统进行回测,完全可以执行,策略加载在品种之中,也正常执行,也有开平仓。 但是使用图标程式化交易,点击启动交易之后,就不执行交易,这是怎么回事? |
-- 作者:FireScript -- 发布时间:2021/1/26 8:59:59 -- 首先要看有没有信号,历史信号是不会重复下单,只有最新K上有信号 在交易中才能被触发。其他的话 还需要知道你的相关设置:周期,走完K还是固定轮询模式。 |
-- 作者:熊猫 -- 发布时间:2021/1/26 10:31:00 -- 使用图标程序化交易,就是不执行,这是我的源码,麻烦帮忙看看 参数设置: N1=20,n2=40 ,n3=20,m1=2,m2=2
variable:最近1次盈亏数额=0,c1=0; MA5:MA(CLOSE,n2); MA10:MA(CLOSE,n3); CONDBUY:=CROSS(MA5,MA10); CONDSELL:=CROSS(MA10,MA5);
平多开空:=CONDSELL and HOLDING>=0; 平空开多:=CONDBUY and HOLDING<=0;
持仓:HOLDING; 上次开仓量:=ENTERVOL;
d:=date+19000000;
日期条件:=if(d>20200101,1,0);
loss_num:=0; win_num:=0;
if HOLDING=0 and 日期条件 then begin if condbuy then BUY(CONDBUY ,n1,NEXTOPEN); if condsell then BUYSHORT(CONDSELL,n1,NEXTOPEN); END
开仓价格:=ENTERPRICE; if CONDBUY =1 then 平仓价格:=c; if CONDSELL=1 then 平仓价格:=c; pc:=平仓价格;
if 持仓<0 and condbuy=1 and (PC-开仓价格)>0 then 最近1次盈亏数额:=1; if 持仓<0 and condbuy=1 and (PC-开仓价格)>0 then 最近1次盈亏数额:=-1; if 持仓>0 and condsell=1 and (PC-开仓价格)<0 then 最近1次盈亏数额:=-1; if 持仓>0 and condsell=1 and (PC-开仓价格)>0 then 最近1次盈亏数额:=1;
dd:=最近1次盈亏数额; 最近2次盈亏数额:=NUMPROFIT(1); 最近3次盈亏数额:=NUMPROFIT(2); 最近4次盈亏数额:=NUMPROFIT(3);
3连亏:= 最近1次盈亏数额<0 and 最近2次盈亏数额<0 and 最近3次盈亏数额<0 and 最近4次盈亏数额>0;
3连盈:=最近1次盈亏数额>0 and 最近2次盈亏数额>0 and 最近3次盈亏数额>0 and 最近4次盈亏数额<0;
if HOLDING>0 and condsell and 日期条件 then SELL(CONDsell,holding,THISCLOSE);
if HOLDING=0 and condsell and 3连亏 and 日期条件 then BEGIN BUYSHORT( 1, 上次开仓量*m1,NEXTOPEN ); END
if HOLDING=0 and condsell and 3连盈 and 日期条件 then BEGIN BUYSHORT( 1, 上次开仓量/m2,NEXTOPEN ); END
if HOLDING=0 and condsell and not(3连亏) and not(3连盈) and 日期条件 then BEGIN BUYSHORT( 1, 上次开仓量,NEXTOPEN ); END
if HOLDING<0 and condbuy and 日期条件 then SELLshort(condbuy,holding,THISCLOSE);
if HOLDING=0 and condbuy and 3连盈 and 日期条件 then BEGIN BUY( 1, (-1)*上次开仓量/m2,NEXTOPEN ); END
if HOLDING=0 and condbuy and 3连亏 and 日期条件 then BEGIN BUY( 1, (-1)*上次开仓量*m1,NEXTOPEN ); END
if HOLDING=0 and condbuy and not(3连亏) and not(3连盈) and 日期条件 then BEGIN BUY( 1, (-1)*上次开仓量,NEXTOPEN ); END
|
-- 作者:熊猫 -- 发布时间:2021/1/26 12:03:45 -- 使用图标程序化交易,就是不执行 信号是有的,我回测过,都执行了,就是在使用图标程序化的时候不执行,编程的代码之中有显示持仓holding,持仓都显示开仓了,就是不执行。 |