zyc8008 发表于 2018-8-3 17:06:29

根据自己的策略改成的ea[MT4公式]

//+------------------------------------------------------------------+
//|                              RSI  --------    QQE    V01    .mq4 |
//|                                        liu                  song |
//|                         www.FXwht.com            qq:1136145178   |
//+------------------------------------------------------------------+
#property copyright "liu                  song"
#property link      "liusongwh@qq.com            qq:1136145178"

extern double a = 1.2;
extern double b = 43.2365;

extern double c = 50.2589;

extern double Lots = 0.1;
extern double slippage=3.0;

extern double diancha=10.0;
extern double kuisun=100.0;
extern int  maxlots =1;

extern int  SL = 2000;
extern int  duan_sl=20;
extern int  TP  = 20000;
extern string  MT4LevelStopReversevB0设置 =" MT4-LevelStop-Reverse-vB0设置";

extern bool UseATRMode = true;
extern int NonATRStopPips =1800;
extern int ATRPeriod = 9;
extern double ATRMultiplier = 2.0;
extern int ATRSmoothing = 0;
extern color UpArrowColor = DodgerBlue;
extern color DnArrowColor = OrangeRed;
extern int ArrowDistance = 0;



int start()
  {
//----
                      double          qqe_0,qqe_1,qqe_2,qqe_3,qqe_5,qqe_6,qqe_7,qqe_day_1,qqe_day_2;

                      double           sell,buy,i,guadan,lirun;
                      double  mt4_stop_1,mt4_stop_2,chazhi,chazhi_1;

                     qqe_day_1 = iCustom (Symbol(), PERIOD_D1, "###QQE_Alert_MTF_v3###", 0, 0);
                     qqe_day_2 = iCustom (Symbol(), PERIOD_D1, "###QQE_Alert_MTF_v3###", 1, 0);

                      qqe_0     = iCustom (Symbol(), NULL, "###QQE_Alert_MTF_v3###", 0, 0);

                      qqe_1     = iCustom (Symbol(), NULL, "###QQE_Alert_MTF_v3###", 0, 1);
                      qqe_2     = iCustom (Symbol(), NULL, "###QQE_Alert_MTF_v3###", 0, 2);
                      qqe_3     = iCustom (Symbol(), NULL, "###QQE_Alert_MTF_v3###", 0, 3);

                      qqe_5     = iCustom (Symbol(), NULL, "###QQE_Alert_MTF_v3###", 0, 5);
                      qqe_6     = iCustom (Symbol(), NULL, "###QQE_Alert_MTF_v3###", 0, 6);
                      qqe_7     = iCustom (Symbol(), NULL, "###QQE_Alert_MTF_v3###", 0, 7);

                   mt4_stop_1 = iCustom(NULL,0,"MT4-LevelStop-Reverse-vB0-3",
                  UseATRMode,NonATRStopPips,ATRPeriod,ATRMultiplier,ATRSmoothing,UpArrowColor,DnArrowColor,ArrowDistance,0,1);
                   mt4_stop_2 = iCustom(NULL,0,"MT4-LevelStop-Reverse-vB0-3",
                  UseATRMode,NonATRStopPips,ATRPeriod,ATRMultiplier,ATRSmoothing,UpArrowColor,DnArrowColor,ArrowDistance,0,2);

              chazhi=mt4_stop_1-mt4_stop_2;


               if(chazhi>0){

                 chazhi_1=chazhi;
                  }
                  else{
                   if(chazhi<0){
                   chazhi_1= 0 -chazhi;
                    }
                   }


int   total = OrdersTotal();

    if (OrdersTotal( ) > 0 ){
    for(i=OrdersTotal()-1;i>=0;i--){
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)     break;
      if(OrderType()==OP_SELLLIMIT){

      if(((qqe_6-qqe_5)>a)  &&  qqe_6>c && qqe_7<=qqe_6&&
         ((qqe_2-qqe_1)>a)  &&  qqe_2>c && qqe_3<=qqe_2  ){
                                sell= NormalizeDouble((High+Close)/2, Digits);
                                 OrderModify(OrderTicket(),sell,sell+SL*Point,sell-TP*Point,0,Blue);
                                 }
                                 else{


      if (((qqe_6-qqe_5)>a)  &&  qqe_6>c&& qqe_7<=qqe_6){
        OrderDelete(OrderTicket(),Blue);
      }
     }
     }
     if(OrderType()==OP_SELL){
     Comment("账户利润", DoubleToStr(OrderProfit(), 2));
      lirun =  OrderProfit();

      if(chazhi_1>0){
       OrderModify(OrderTicket(),OrderOpenPrice(),mt4_stop_1,0,0,Blue);
       }     

/*      if(((qqe_1-qqe_2)>a)){
      buy= NormalizeDouble((Low+Close)/2, Digits);
       OrderModify(OrderTicket(),OrderOpenPrice(),0,buy+diancha*Point,0,Blue);
      }*/


      if(0-lirun>=SL/10){
       OrderClose(OrderTicket(),OrderLots(),Ask,slippage*Point,White);
        Sleep(5000);

      }
     }

    }
  }

      if (OrdersTotal( ) > 0 ){
    for(i=OrdersTotal()-1;i>=0;i--){
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)     break;
      if(OrderType()==OP_BUYLIMIT)
      {
      if(((qqe_5-qqe_6)>a) && qqe_6<b && qqe_7>=qqe_6&&
         ((qqe_1-qqe_2)>a) && qqe_2<b && qqe_3>=qqe_2){
                                    buy= NormalizeDouble((Low+Close)/2, Digits);
                         OrderModify(OrderTicket(),buy,buy-SL*Point,buy+TP*Point,0,Blue);
                              }
                                   else{

       if (((qqe_5-qqe_6)>a) && qqe_6<b && qqe_7>=qqe_6){
       OrderDelete(OrderTicket(),Blue);
        }
       }
      }
     if(OrderType()==OP_BUY){
     lirun =  OrderProfit();
     Comment("账户利润", DoubleToStr(OrderProfit(), 2));
      if(chazhi_1>0){
       OrderModify(OrderTicket(),OrderOpenPrice(),mt4_stop_1,0,0,Blue);
       }     


    /*  if(((qqe_2-qqe_1)>a)){
       sell= NormalizeDouble((High+Close)/2, Digits);

       OrderModify(OrderTicket(),OrderOpenPrice(),0,sell-diancha*Point,0,Blue);
      } */   


      if(0-lirun>=SL/10){
       OrderClose(OrderTicket(),OrderLots(),Bid,slippage*Point,White);
        Sleep(5000);

      }
     }
    }
  }


                sell= NormalizeDouble((High+Close)/2, Digits);

                      if (total<maxlots && qqe_day_1< qqe_day_2 && ((qqe_2-qqe_1)>a) &&  qqe_2>c && qqe_3<=qqe_2){
                      OrderSend(Symbol(),OP_SELLLIMIT,Lots,sell,slippage*Point,sell+SL*Point,sell-TP*Point,"sell",12345,0,Green);
                      }






                buy= NormalizeDouble((Low+Close)/2, Digits);
                     if (total<maxlots && qqe_day_1> qqe_day_2 && ((qqe_1-qqe_2)>a) && qqe_2<b && qqe_3>=qqe_2){
                     OrderSend(Symbol(),OP_BUYLIMIT,Lots,buy,slippage*Point,buy-SL*Point,buy+TP*Point,"buy",12345,0,Red);
                     }


//----
   return(0);
  }
//+------------------------------------------------------------------+



商品EURUSD (Euro vs US Dollar)
时间周期4 小时图 2008.12.01 00:00 - 2009.12.29 20:00 (2008.12.01 - 2009.12.30)
复盘模型每个即时价位(基于所有可利用的最小时段的每一个价位的分形插值计算)
参数a=1.2; b=43.2365; c=50.2589; Lots=0.1; slippage=3; diancha=10; kuisun=100; maxlots=1; SL=2000; duan_sl=20; TP=20000; MT4LevelStopReversevB0设置=" MT4-LevelStop-Reverse-vB0设置"; UseATRMode=true; NonATRStopPips=1800; ATRPeriod=9; ATRMultiplier=2; ATRSmoothing=0; UpArrowColor=DodgerBlue; DnArrowColor=OrangeRed; ArrowDistance=0;

经测试过的柱数2670用于复盘的即时价数量12775300复盘模型的质量n/a
输入图表错误420

起始资金1000.00
总净盈利2036.62总获利3628.03总亏损-1591.41
盈利比2.28预期盈利61.72
绝对亏损313.77最大亏损770.07 (26.06%)相对亏损43.07% (519.12)

交易单总计33卖单 (获利百分比)29 (55.17%)买单 (获利百分比)4 (50.00%)
盈利交易(占总百分比)18 (54.55%)亏损交易(占总百分比)15 (45.45%)
最大:获利交易743.33亏损交易-200.00
平均:获利交易201.56亏损交易-106.09
最大:连续获利金额4 (798.36)连续亏损金额3 (-469.60)
最多:连续获利次数798.36 (4)连续亏损次数-469.60 (3)
平均:连续获利2连续亏损2




页: [1]
查看完整版本: 根据自己的策略改成的ea[MT4公式]