您现在的位置:程序化交易>> 期货公式>> 文华财经>> 文华财经知识>>正文内容

连续交易问题 [文华财经]

  • 咨询内容: 麻烦老师帮写一组程序化连续交易的程序:
    A(买多),PA(平多)B(卖空),PB(平空)
    第1次出现买卖信号开仓为1手,如果止损,第2次出现买卖信号开仓为2手,如果按信号平仓后盈利可以弥补前面的亏损,则重新1手开始算。如果被止损或者平仓不能完全弥补前面亏损,则第3次出现买卖信号开仓为3手,如果按信号平仓后盈利可以弥补前面的亏损,则重新1手开始算。如果被止损或者平仓不能完全弥补前面亏损,则第4次出现买卖信号开仓为4手,如果按信号平仓后盈利可以弥补前面的亏损,则重新1手开始算。如果被止损或者平仓不能完全弥补前面亏损,则第5次出现买卖信号开仓为5手,如果按信号平仓后盈利可以弥补前面的亏损,则重新1手开始算。如果被止损或者平仓不能完全弥补前面亏损,则此后出现买卖信号都按5手开仓。
    另外开仓后,设置最大止损位10价位,最大回撤也为10价位,出现平仓信号或者到达最大止损位或者最大回撤位自动平仓,等下一场买卖信号出现重新开始。
    谢谢老师。

     

  • 文华技术人员:

    这样编写。

    N:=BARSLAST(DATE<>REF(DATE,1))+1;
    M:=IFELSE(OFFSETPROFIT>0,1,MIN(COUNTSIG(BK,N),5));
    M1:=IFELSE(OFFSETPROFIT>0,1,MIN(COUNTSIG(SK,N),5));
    A,BK(M);
    PA,SP(BKVOL);
    B,SK(M1);
    PB,BP(SKVOL);
    C<BKPRICE-10,SP(BKVOL);
    C>SKPRICE+10,BP(SKVOL);
    TRADE_AGAIN(60);

     

  • 文华客服:  老师你好,根据上面程序,得到的回测结果是错误的(见附图)可能是我原来表达的意思不够。我的意思是:比方说:在多头行情中,有连续的多头(空头)信号,我只在第一个多头(空头)信号时买入(卖空)1手,后面连续的多头(空头)信号不再买入。直到被止损或者条件平仓,此时亏损的话,则在下一个信号出现时,买入(卖空)2手,直到被止损或者条件平仓,此时不能弥补前面亏损的话,则下次信号出现时,买入(卖空)3手。以此类推,最大开仓5手后,不再更换手数(都是5手)直到弥补完亏损。每次开仓(平仓)都是以第一个信号为准。亏损弥补完以后,再从1手开始下一个循环。无论第几次平仓开始先利润,都重新开始。

    此主题相关图片如下:回测报告.jpg


     

  • 网友回复:

    模型这样修改试下。

    N:=BARSLAST(DATE<>REF(DATE,1))+1;
    M:=IFELSE(OFFSETPROFIT>0,1,MIN(COUNTSIG(BK,N),5));
    M1:=IFELSE(OFFSETPROFIT>0,1,MIN(COUNTSIG(SK,N),5));
    A,BK(M);
    PA,SP(BKVOL);
    B,SK(M1);
    PB,BP(SKVOL);
    C<BKPRICE-10,SP(BKVOL);
    C>SKPRICE+10,BP(SKVOL);

     

  • 网友回复:  老师你好,开仓手数变化是修改哪里呢??比如:2-4-6-8-10手或者:10-20-30-40-50手

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容