MetaTrader 5上的Stoch交易系统详解

Mike 2017.01.26 18:09 27 0 0
附件

创意作者CollectorMQL5代码作者barabashkakvn

这个系统通过挂单的卖出限价(Sell Limit)和买入限价(Buy Limit)来进行交易。每天下午23:59会自动删除所有挂单,并平掉所有持仓。

挂单价格计算方法:

   double temp_h=iHigh(1);
   double temp_l=iLow(1);
   double temp_c=iClose(1);
   double H4,L4;
   H4 = (((temp_h - temp_l)*1.1) / 2.0) + temp_c;
   L4 = temp_c - ((temp_h - temp_l)*1.1) / 2.0;
//---
   if(db!=str1.day_of_week && s==0)
     {
      if(!m_trade.SellLimit(Lots,H4,Symbol(),
         H4+ExtStopLoss*Point(),
         H4-ExtTakeProfit*Point(),0,0,"H4"))
         GlobalVariableSet("SELLLIMIT",0);
      else
        {
         GlobalVariableSet("SELLLIMIT",1);
         GlobalVariableSet("DateS",str1.day_of_week);
        }
     }
//----
   if(db!=str1.day_of_week && b==0)
     {
      if(!m_trade.BuyLimit(Lots,L4,Symbol(),
         L4-ExtStopLoss*Point(),
         L4+ExtTakeProfit*Point(),0,0,"L4"))
         GlobalVariableSet("BUYLIMIT",0);
      else
        {
         GlobalVariableSet("BUYLIMIT",1);
         GlobalVariableSet("DateB",str1.day_of_week);
        }
     }

在这种情况下,如果在23:59时还有挂单或持仓,将会自动删除这些挂单并平掉持仓:

   if(total_pos>0 && str1.hour==23 && str1.min==59)
      DeleteAllPositions();

   if(total_orders>0 && str1.hour==23 && str1.min==59)
      DeleteAllOrders();

建议在H1图表上使用此系统:

Stoch tester

 

列表
评论 0