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

virtual_trailing_stop.mq4

Похожие материалы по тегам

#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 1 общих теговsma crossover scalper ea for mt4.mq4MQL4 / MetaTrader 4 · 1 общих теговr15 pivot points expert advisor by @fundedmillionairess.mq4MQL4 / MetaTrader 4 · 1 общих теговnewstrader.mq5MQL5 / MetaTrader 5 · 1 общих теговmm3.0_flip_codepro_v3.1_with_cooldown@lifeindreamsworld.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Виртуальный trailing stop для MetaTrader 4. Советник отслеживает открытые позиции и реализует механизм трейлинг-стопа с возможностью установки фиксированных уровней стоп-лосс и тейк-профита. Отображает уровни стоп-лосса на графике в виде горизонтальных линий.

Советник работает в функции start(), обрабатывая все открытые ордера по текущему символу. Для каждой позиции проверяются условия фиксации по стоп-лоссу и тейк-профиту, а также обновляется виртуальный уровень стоп-лосса при движении цены в нужную сторону. При достижении виртуального уровня стоп-лосс фиксирует позицию, если она прибыльна.

В режиме тестирования при отсутствии открытых ордеров советник демонстрирует открытие тестовых позиций в обе стороны.

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

НастройкаОписание
Stoploss (Stoploss) Стоп-лосс — Фиксированный уровень стоп-лосса в пунктах от цены открытия позиции
Takeprofit (Takeprofit) Тейк-профит — Фиксированный уровень тейк-профита в пунктах от цены открытия позиции
TrailingStop (TrailingStop) Трейлинг-стоп — Расстояние в пунктах для виртуального трейлинг-стопа от текущей цены
TrailingStart (TrailingStart) Начало трейлинга — Минимальное движение цены в пунктах, после которого начинается трейлинг-стоп
TrailingStep (TrailingStep) Шаг трейлинга — Шаг сдвига виртуального стоп-лосса в пунктах при дальнейшем движении цены
Получить полный код

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

#property strict

extern int     Stoploss      = 0;    // Stoploss
extern int     Takeprofit    = 0;    // Takeprofit
extern int     TrailingStop  = 5;    // TrailingStop
extern int     TrailingStart = 5;    // TrailingStart
extern int     TrailingStep  = 1;    // TrailingStep
double   TrallB = 0;
double   TrallS = 0;
int      slippage=30;

int start()
  {
      // код доступен только после оплаты
   }
   double OOP,SL;
   int b=0,s=0,tip,TicketB=0,TicketS=0;
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol())
           {
            tip = OrderType();
            OOP = NormalizeDouble(OrderOpenPrice(),Digits);
            if(tip==OP_BUY)
              {
               b++;
               TicketB=OrderTicket();
               if(Stoploss!=0   && Bid<=OOP - Stoploss   * Point) {if(OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),slippage,clrNONE)) continue;}
               if(Takeprofit!=0 && Bid>=OOP + Takeprofit * Point) {if(OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),slippage,clrNONE)) continue;}
               if(TrailingStop>0)
                 {
                  SL=NormalizeDouble(Bid-TrailingStop*Point,Digits);
                  if(SL>=OOP+TrailingStart*Point && (TrallB==0 || TrallB+TrailingStep*Point<SL)) TrallB=SL;
                 }
              }
            if(tip==OP_SELL)
              {
               s++;
               if(Stoploss!=0   && Ask>=OOP + Stoploss   * Point) {if(OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),slippage,clrNONE)) continue;}
               if(Takeprofit!=0 && Ask<=OOP - Takeprofit * Point) {if(OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),slippage,clrNONE)) continue;}
               TicketS=OrderTicket();
               if(TrailingStop>0)
                 {
                  SL=NormalizeDouble(Ask+TrailingStop*Point,Digits);
                  i

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

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
269,30₽ ≈ $3.29