← К каталогу
Исходный код · ID 4765

StopLoss and Take Profit Manager

0 - sl_and_tp_for_all_orders.mq4
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Советник предназначен для автоматической установки уровней Stop Loss и Take Profit на открытых ордерах в MetaTrader 4. При запуске он проверяет все активные ордера на текущем символе и для тех из них, у которых ещё не заданы уровни стоп-лосса и тейк-профита, устанавливает их в соответствии с параметрами StopLoss и TakeProfit.

Параметры задаются в пунктах (points) относительно цены открытия позиции. Для покупающих позиций (BUY, BUYSTOP, BUYLIMIT) стоп-лосс устанавливается ниже цены открытия, а тейк-профит — выше. Для продающих позиций (SELL, SELLSTOP, SELLLIMIT) — наоборот. Советник модифицирует ордера с помощью функции OrderModify.

Настройки программы

НастройкаОписание
StopLoss Уровень стоп-лосса в пунктах относительно цены открытия ордера. Если значение больше нуля, советник устанавливает стоп-лосс для подходящих ордеров; если равно нулю — стоп-лосс не задаётся.
TakeProfit Уровень тейк-профита в пунктах относительно цены открытия ордера. Если значение больше нуля, советник устанавливает тейк-профит для подходящих ордеров; если равно нулю — тейк-профит не задаётся.

Поиск по коду файла

extern int StopLoss=0;
extern int TakeProfit=0;

void start() 
{
      // код доступен только после оплаты
   }
   double SL,TP;
   int i,Total;
   int Dig=MarketInfo(Symbol(),MODE_DIGITS);     

  Total=OrdersTotal();
  if(Total>0)
  {
     for(i=Total-1; i>=0; i--) 
     {
        if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true) 
        {
           if(OrderSymbol()==Symbol() && (OrderType()==OP_SELL || OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT) && OrderStopLoss()==0 && OrderTakeProfit()==0) 
           {
              if(StopLoss>0)SL=OrderOpenPrice()+StopLoss*Point;else SL=0;
              if(TakeProfit>0)TP=OrderOpenPrice()-TakeProfit*Point;else TP=0;
              b

Показано первые 50% кода (символов: 1011)