Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共4 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]使用图标程式化交易,就是不执行交易

1楼
熊猫 发表于:2021/1/25 22:54:53
各位大神,我写完策略之后,使用公式测试系统进行回测,完全可以执行,策略加载在品种之中,也正常执行,也有开平仓。
但是使用图标程式化交易,点击启动交易之后,就不执行交易,这是怎么回事?


2楼
FireScript 发表于:2021/1/26 8:59:59
 首先要看有没有信号,历史信号是不会重复下单,只有最新K上有信号 在交易中才能被触发。其他的话 还需要知道你的相关设置:周期,走完K还是固定轮询模式。
3楼
熊猫 发表于: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

 

4楼
熊猫 发表于:2021/1/26 12:03:45
信号是有的,我回测过,都执行了,就是在使用图标程序化的时候不执行,编程的代码之中有显示持仓holding,持仓都显示开仓了,就是不执行。
共4 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in .04688 s, 3 queries.