帮我写一个代码吧,谢谢 (文华财经WH8赢智V8.2)

投资者咨询:帮我写一个代码吧,谢谢 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-18 17:39
 

需求:

买多条件(BK)(并且关系):

     1 、 昨天日线收阳;

     2、 昨日日线上穿5日均线;

     3、昨日5日均线>昨日10日均线;

     4、昨日10日均线>昨日20日均线;

     5、今日第3个根1分钟k线为阳线;

     3、 今日第4根1分钟K线开盘买入;

     或:

     1 、 昨天日线收阳;

     2、 昨日日线上穿5日均线;

     3、昨日5日均线>昨日10日均线;

     4、昨日10日均线>昨日20日均线;

     2、 今日连续5根1分钟K线收阴,最后一根1分钟K线的最低价低于开盘价格5个最小单位;

     3、 下一根1分钟K线的开盘价买入;

买多加仓条件(BK):

     1、 距上次买入价格每涨5个最小单位,下一根K线开盘加仓1手;

卖出清仓条件(或者关系)(SP):

     1、 距上次买入价格跌了3个最小单位;

     2、下午14:50前无条件平仓;

技术人员回复
日期:2018-5-18 19:12
 被引用指标AA参考:

MA5:MA(C,5);
MA10:MA(C,10);
MA20:MA(C,20);
UP:ISUP;
DO:ISDOWN;
T2:CROSS(C,MA5);
T3:REF(MA5>MA10,1);
T4:REF(MA10>MA20,1);

加载模型:

#IMPORT[DAY,1,AA]AS VAR
DUP:VAR.UP;
DDO:VAR.DO;
T2:VAR.T2;
T3:VAR.T3;
T4:VAR.T4;
TT:=TIME<1450;
TT&&BKVOL=0&&DUP&&DDO&&T2&&T3&&T4&&DAYBARPOS=4 &&REF(ISUP,1),BK(1);
TT&&BKVOL=0&&DUP&&DDO&&T2&&T3&&T4&&REF(EVERY(ISDOWN,5)&&L<O-5*MINPRICE,1),BK(1);
TT&&REF(C-BKPRICE>=5*MINPRICE,1)&&BKVOL>0,BK(1);
C<BKPRICE-3*MINPRICE,SP(1);
TT=0,CLOSEOUT;
TRADE_AGAIN(50);

投资者咨询:帮我写一个代码吧,谢谢 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-18 17:39

是不是两个指标都要加载上,才可以进行回测?我这里进行回测时候,没有计算结果,没有交易。

技术人员回复
日期:2018-5-18 19:58
 跨周期模型的使用参考这个帖子了解一下:【编写技巧】:wh8 跨周期编写方法介绍
投资者咨询:帮我写一个代码吧,谢谢 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-18 17:39
 还是没有回测结果
技术人员回复
日期:2018-5-18 20:20
 具体加载在什么合约周期上没有结果呢?
投资者咨询:帮我写一个代码吧,谢谢 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-18 17:39
 还是没有回测结果。

图片点击可在新窗口打开查看
技术人员回复
日期:2018-5-18 20:53
 核实一下,您具体加载在什么合约与周期上的呢?

我们帮您加载查看一下
投资者咨询:帮我写一个代码吧,谢谢 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-18 17:39

加载在白糖主连,1分钟K线上

 

技术人员回复
日期:2018-5-19 11:12
这样修改:
 
AA模型:


MA5:MA(C,5);
MA10:MA(C,10);
MA20:MA(C,20);
UP:REF(ISUP,1);
DO:REF(ISDOWN,1);
T2:REF(CROSS(C,MA5),1);
T3:REF(MA5>MA10,1);
T4:REF(MA10>MA20,1);

下面指标加载到1分钟周期:

#IMPORT[DAY,1,AA]AS VAR
DUP:VAR.UP;
DDO:VAR.DO;
T2:VAR.T2;
T3:VAR.T3;
T4:VAR.T4;
TT:=TIME<1450;
TT&&BKVOL=0&&DUP&&T2&&T3&&T4&&DAYBARPOS>3 &&ISUP,BK(1);
TT&&BKVOL=0&&DUP&&T2&&T3&&T4&&EVERY(ISDOWN,5)&&(L<O-5*MINPRICE),BK(1);
TT&&(C-BKPRICE>=5*MINPRICE&&BKVOL>0),BK(1);
C<BKPRICE-3*MINPRICE,SP(1);
TT=0,CLOSEOUT;
TRADE_AGAIN(50);