您现在的位置:程序化交易>> 期货公式>> 金字塔等>> 金字塔知识>>正文内容

金字塔代码修改 [金字塔]

  • 咨询内容: AvgTR := ref(MA(TR,ATRLen),1) ;
    //建立多头进场条件
    Long := h > T20Hi ;
    //多头进场
    if Long then begin
    myEntryPrice := IF(Open>T20Hi+MINDIFF ,Open ,T20Hi+MINDIFF ) ;
    buy( _DEBUG,PosNum,limitr,myEntryPrice);
    Position := 1 ;
    TurtleUnits := 1 ;
    N := AvgTR ;BuyOrderThisBar := 1;
    //多头加仓条件
    While (High>myEntryPrice+0.5*N) and TurtleUnits<4 Do Begin
    myEntryPrice := IF(Open>myEntryPrice+0.5*N ,Open ,myEntryPrice+0.5*N ) ;
    myEntryPrice := Ceiling(myEntryPrice/MINDIFF)*MINDIFF ;
    buy( _DEBUG, PosNum, limitr, myEntryPrice);
    TurtleUnits := TurtleUnits+1 ;
    BuyOrderThisBar := 1;
    End //While 上面的ATR计算了4次,第一段开仓有1次,记为第一次,后面一段加仓有3次,分别记为第二,第三,第四次,我希望第二第三第四次依然用第一次的ATR,而不要刷新k线后重新计算。   本人不擅长编程,所以希望版上老师帮我写一下,能够给我完整的修改好的代码。不要只提供一个思路,思路我也懂,就是第一次下单记录最初的值。 不胜感激。 [此贴子已经被作者于2012-9-25 19:39:39编辑过]

     

  • 金字塔客服:

    您好,正在处理该问题,预计在今天收盘前解决

     

  • 用户回复:

    variable:N=0;

    AvgTR := ref(MA(TR,ATRLen),1) ;

    //建立多头进场条件
    Long := h > T20Hi ;
    //多头进场
    if Long and a=0 then begin
    myEntryPrice := IF(Open>T20Hi+MINDIFF ,Open ,T20Hi+MINDIFF ) ;
    buy( _DEBUG,PosNum,limitr,myEntryPrice);
    Position := 1 ;
    TurtleUnits := 1 ;
    N:= AvgTR ;
    BuyOrderThisBar := 1;

    a:=1;

    end

     

    //多头加仓条件

    if long and a=1 then begin

    myEntryPrice := IF(Open>T20Hi+MINDIFF ,Open ,T20Hi+MINDIFF ) ;
    buy( _DEBUG,PosNum,limitr,myEntryPrice);
    Position := 1 ;
    TurtleUnits := 1 ;
    BuyOrderThisBar := 1;
    While (High>myEntryPrice+0.5*N) and TurtleUnits<4 Do Begin
    myEntryPrice := IF(Open>myEntryPrice+0.5*N ,Open ,myEntryPrice+0.5*N ) ;
    myEntryPrice := Ceiling(myEntryPrice/MINDIFF)*MINDIFF ;
    buy( _DEBUG, PosNum, limitr, myEntryPrice);
    TurtleUnits := TurtleUnits+1 ;
    BuyOrderThisBar := 1;
    End //While

     

  • 网友回复: 多头进场第一句就不理解,if Long and a=0。。。这个a哪里来的啊?

     

  • 网友回复:

    //多头加仓条件

    if long and a=1 then begin

    myEntryPrice := IF(Open>T20Hi+MINDIFF ,Open ,T20Hi+MINDIFF ) ;
    buy( _DEBUG,PosNum,limitr,myEntryPrice);
    Position := 1 ;
    TurtleUnits := 1 ;
    BuyOrderThisBar := 1;

     

    为什么加仓的时候有这样一段代码?这不是开仓吗?加仓应该用while语句啊

 

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

可联系技术人员 QQ: 262069696  点击在线交流进行 有偿 编写!不贵!点击查看价格!


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

相关文章

    没有相关内容