Navigation:Home > Content >

Open_Market_Orders.mq4

Time: 2014-03-03 | Download file:Open_Market_Orders.mq4

#property copyright "Copyright © 2014, Хлыстов Владимир"
#property link      "[email protected]"
#property show_inputs
#property version   "1.00"
#property strict
//--------------------------------------------------------------------
#property description "скрипт по текущей цене откроет сразу указанное в переменной orders кол-во ордеров по одной цене, "
#property description "выставит стопы у всех на одинаковом размере пунктов, тейки будут у всех разные, по мере увеличения." 
#property description "Например, открылись 10 ордеров лотом 0,01, стопы у всех 400 пунктов, а тейки на первом - 50, "
#property description "на втором -100, на третьем - 150, на четвертом - 200 ну и так все 10 ордеров."
//--------------------------------------------------------------------
input int     type         = OP_BUY;   //тип ордера 0 - buy;   1 - sell
input int     orders       = 10;       //кол-во ордеров
input int     stoploss     = 200;       //уровень выставления SL, если 0, то SL не выставляется
input int     takeprofit   = 200;       //уровень выставления TP, если 0, то SL не выставляется
input int     Step_TP      = 100;       //шаг выставления последующих TP
input double  Lot          = 0.1;      //объем ордера

input int     slippage     = 3;        //Максимально допустимое отклонение цены для рыночных ордеров
input int     Magic        = 0;        //уникальный номер ордера
//--------------------------------------------------------------------
double SL,TP;
//--------------------------------------------------------------------
int start()
{
   if (type==OP_BUY)
   {
      if (takeprofit!=0) TP  = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP=0;
      if (stoploss!=0)   SL  = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;     
   }
   if (type==OP_SELL)
   {
      if (takeprofit!=0) TP  = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0;
      if (stoploss!=0)   SL  = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0;     
   }
   for (int i=0; i 10) return;
      Sleep(2000);
   }
return;
}                  
//--------------------------------------------------------------------
void ShowERROR()
{
   int err=GetLastError();
   switch ( err )
   {                  
      case 1:   return;
      case 2:   Alert("Нет связи с торговым сервером ",Symbol());return;
      case 3:   Alert("Error неправильные параметры ",Symbol());return;
      case 130: Alert("Error близкие стопы   Ticket ",Symbol());return;
      case 134: Alert("Недостаточно денег   ",Symbol());return;
      case 146: Alert("Error Подсистема торговли занята ",Symbol());return;
      case 129: Alert("Error Неправильная цена ",Symbol());return;
      case 131: Alert("Error Неправильный объем ",Symbol());return;
      case 4200:Alert("Error Объект уже существует ",Symbol());return;
      default:  Alert("Error  " ,err," ",Symbol());return;
   }
}
//--------------------------------------------------------------------

Recommend