求助跟踪止损编程的问题



Params

Numeric lots1(1);

Numeric LengthS(3);

Numeric LengthL(100);

Numeric LengthOS(30);

vars

Series<Numeric> OS;

Series<Numeric> AOS;

Numeric lots;

Events

    onBar(ArrayRef<Integer> indexs)

    {    

        lots=lots1;

    OS=(Average(close,LengthS)-wAverage(close,LengthL));

    AOS=Average(OS,LengthOS);

    if(crossover(AOS[1],0))

    {

     Buy(lots,Open);

    }

    

    if(CrossUnder(AOS[1],0))

    {

     SellShort(lots,Open);

    }

    }


   /*能否请老师帮忙做几个优化,

   1.每次最多只开1手,

   2.如何增加跟踪止损或止盈,

   比如开多单后,沿着趋势往上,回撤20跳跟踪止损多单;

   开空单,沿着趋势往下,回撤20跳跟踪止损空单;

   多空单,只要盈利100跳,止盈

    */

跟踪止损
编程求助
编程求助
编程求助
编程求助
编程求助,谢谢
固定止损锚定问题
代编程问题
跟踪止损
编程小白求助实现一个指标

//移动止盈止损---------------------------------以下

      //记录开仓后的最高最低价

      If(BarsSinceEntry == 0)

      {

          HighestAfterEntry = Close;

          LowestAfterEntry = Close;

 

          If(MarketPosition <> 0)  //建仓的K线

          {

              HighestAfterEntry = High;

              LowestAfterEntry = Low;

          }

      }

      Else

      {

          HighestAfterEntry = Max(HighestAfterEntry, High);

          LowestAfterEntry = Min(LowestAfterEntry, Low);

      }

   

      KliqPoint = LowestAfterEntry * (1 + StopPer1 * 0.01)  ;   //空单吊灯

      DliqPoint = HighestAfterEntry * (1 - StopPer1 * 0.01)  ; //多单吊灯

 

//画线

      if(MarketPosition == 1)

      {

          plt1.line("多头吊灯", DliqPoint);

      }

      Else if(MarketPosition == -1)

      {

          plt1.line("空头吊灯", KliqPoint);

      }

 

      If(MarketPosition == 1 And BarsSinceEntry >= 1 and L < DliqPoint[1])  // 有多仓的情况

      {

          sell(0, min(O, DliqPoint[1]));

          Commentary("多单移动止盈");

      }

      else if (MarketPosition == -1 And BarsSinceEntry >= 1 and H > KliqPoint[1])

      {

          BuyToCover(0, max(O, KliqPoint[1]));

          Commentary("空单移动止盈");

      }

 

      //移动止盈止损---------------------------------以上

建议投稿