EA: 抛硬币

 

抛硬币:

使用马丁格尔策略开单, 并带有虚拟尾随停止。

作者: Vladimir Gribachev

 
我的也是这种策略的EA,但如何做到总体盈利后一键平单?求请教
 
Caven:
我的也是这种策略的EA,但如何做到总体盈利后一键平单?求请教

//+------------------------------------------------------------------+

//|                                               CloseAllOrders.mq4 |

//|                       Copyright ?2008, PRMQuotes Software Corp. |

//|                                           Jedimedic77@gmail.com  |

//+------------------------------------------------------------------+

#property copyright "Copyright ?2008, PRMQuotes Software Corp."

#property link      ""

//+------------------------------------------------------------------+

//| EX4 imports                                                      |

//+------------------------------------------------------------------+

#include <stdlib.mqh>

//+------------------------------------------------------------------+

//| global variables to program:                                     |

//+------------------------------------------------------------------+

double Price[2];

int    giSlippage;

bool   CloseOpenOrders=true;

//+------------------------------------------------------------------+

//| script program start function                                    |

//+------------------------------------------------------------------+

void start()

  {

   int iOrders=OrdersTotal()-1,i;


   if(CloseOpenOrders)

     {

      for(i=iOrders; i>=0; i--)

        {

         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==Symbol() && (OrderType()<=OP_SELL) && GetMarketInfo() && !OrderClose(OrderTicket(),OrderLots(),Price[1-OrderType()],giSlippage)) Print(OrderError());

         else Print("ok");


        }

     }

     }

//+------------------------------------------------------------------+

//| Function..: OrderError                                           |

//+------------------------------------------------------------------+

   string OrderError()

     {

      int iError=GetLastError();

      return(StringConcatenate("Order:",OrderTicket()," GetLastError()=",iError," ",ErrorDescription(iError)));

     }

//+------------------------------------------------------------------+

//| Function..: GetMarketInfo                                        |

//+------------------------------------------------------------------+

   bool GetMarketInfo()

     {


      RefreshRates();

      Price[0]=MarketInfo(OrderSymbol(),MODE_ASK);

      Price[1]=MarketInfo(OrderSymbol(),MODE_BID);

      double dPoint=MarketInfo(OrderSymbol(),MODE_POINT);

      //if(dPoint==0) return(false);

      giSlippage=(Price[0]-Price[1])/dPoint;

      giSlippage=3;

      return(Price[0]>0.0 && Price[1]>0.0);

     }

//+------------------------------------------------------------------+


 
代码里怎么这么多乱码
原因: