Группа "Стол заказов MQL"

Рейтинг 2114



РЕКОМЕНДУЮ



советник безубыток

Здравствуйте.прошу написать советник выставляющий безубыток.
я руками открываю два ордера.когда срабатывает тейкпрофит одного ордера то стоплос второго ордера переводится в безубыток.
настройки:
стоплос в пунктах (с возможностью перетаскивать его на другое место чтоб он не становился обратно)
тейкпрофит в пунктах(так же как стоплос)
уровент безубытка в пунктах
и еще один момент, безубыток должен выставлятся только после срабатывания тейкпрофита.допустим если я открою еще ордера то уровень безубытка не должен пересчитыватся до тех пор пока один из ордеров не закроется по тейк профиту.

БЕЗУБЫТОК ПЕРЕСЧИТЫВАЕТСЯ ТОЛЬКО ПРИ ЗАКРЫТИЕ ОДНОГО ИЗ ОРДЕРОВ ПО ТЕЙКПРОФИТУ!!!
  • +1
  • Просмотров: 559
  • 23 мая 2024, 15:46
  • ivan1032612
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Доработка советника Hedge Martin2
Следующая запись в группе  
Информационный индикатор RSI для MT4
23 мая 2024
24 мая 2024

Комментарии (3)

+
0
на 24-е
avatar

  34  AM2 Сообщений: 15950 - Андрей

  • 24 мая 2024, 00:09
+
+1

//+------------------------------------------------------------------+
//|                                                    bezubitok.mq4 |
//|                                               Copyright 2024, Ve |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023, Ve"
#property version   "1.00"
#property strict

extern int BU        = 30;       // Уровень безубытка в пунктах
extern int Slip      = 30;       // Slippage
extern int Magic     = 0;        // Magic
int count_trades;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades(int type=-1)
  {
   int count=0;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==type || (OrderType()<2 && type==-1))
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void ModifyBu()
  {
   double sl;
   bool mod;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==0)
               {
                sl=OrderOpenPrice()+BU*_Point;
                mod=OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),0,clrYellow);
               }
            if(OrderType()==1)
               {
                sl=OrderOpenPrice()-BU*_Point;
                mod=OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),0,clrYellow);
               }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(count_trades!=CountTrades())
     {
      if(count_trades>CountTrades())
        ModifyBu();
      count_trades=CountTrades();
     }
  }
//+------------------------------------------------------------------+

avatar

  13  verta81 Сообщений: 364

  • 26 мая 2024, 00:05
+
0
спасибо большое все работает
avatar

  7  ivan1032612 Автор Сообщений: 291 - vorhyn

  • 27 мая 2024, 15:07

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари