Rss & SiteMap

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

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

标题:[求助]使用图标程序化交易,就是不执行,这是我的源码,麻烦帮忙看看

1楼
熊猫 发表于:2021/1/26 15:46:37

各位大神,我写的策略就是不能实现图标程序化是怎么回事呢?


信号是有的,我回测过,都执行了,就是在使用图标程序化的时候不执行,编程的代码之中有显示持仓holding,持仓都显示开仓了,就是不执行。


参数设置:

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

2楼
FireScript 发表于:2021/1/26 16:03:20
 你至少要保证代码能编译成功啊。

前面这几个变量的定义不符合基本语法。修改如下:
N1:=20;
n2:=40;
n3:=20;
m1:=2;
m2:=2;

3楼
FireScript 发表于:2021/1/26 16:04:42

最后效果如下:

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

4楼
FireScript 发表于:2021/1/26 16:05:52
 你现在有信号的情况下 你要看下当时最新K上是否有信号了。有信号没下单是一回事,没信号那又是一回事了。

你截图我们看下你的设置:

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

[小贴士]论坛贴图 - 金字塔软件问题提交 - 金字塔客服中心 - 专业程序化交易软件提供商 - 0

[此贴子已经被作者于2021/1/26 16:07:34编辑过]
共4 条记录, 每页显示 10 条, 页签: [1]


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