• Уважаемый гость! Чтобы просмотреть скрытую часть информации Вам нужно зарегистрироваться.

    Быстрая регистрация!

Удалено Урок Как написать стабильный Трейлинг Стоп видео

  • Автор темы Admin
  • Дата начала
  • Автор темы
  • Панель управления
  • #1
Admin

Admin

Команда форума
Администратор
Регистрация
03.01.2013
Сообщения
2 135
Реакции
509
Простой урок по написанию трейлинг стопа
Код:
//|==================================================================|//
//|                            Trall.mq4                             |//
//|               Copyright 2017, Trading-go Project.                |//
//| Author: Voldemar, Version: 12.01.2017, Site http://trading-go.ru |//
//|==================================================================|//
#property copyright  "Copyright 2017, Trading-go Project."
#property link      "http://trading-go.ru"
#property version   "17.04"
#property strict
input int TrailingStop = 300;
input int TrailingStep = 100;
input int Magic        = 227;
//|==================================================================|//
//| Expert initialization function                                   |//
//|==================================================================|//
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//|==================================================================|//
//| Expert tick function                                             |//
//|==================================================================|//
void OnTick()
  {
   double tr=0,ts=0,op=0,sl=0,
   ask = NormalizeDouble(Ask,_Digits),
   bid = NormalizeDouble(Bid,_Digits);

   tr = NormalizeDouble(TrailingStop*Point(),_Digits);
   ts = NormalizeDouble(TrailingStep*Point(),_Digits);

   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS)==true)
        {
         if(OrderSymbol()==Symbol())
           {
            if(OrderMagicNumber()==Magic)
              {
               op=NormalizeDouble(OrderOpenPrice(),_Digits);
               sl=NormalizeDouble(OrderStopLoss(),_Digits);

               if(OrderType()==OP_BUY)
                 {
                  if((bid-op)>tr)
                     if((bid-sl)>tr)
                        if(OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(ask-tr+Point(),_Digits),OrderTakeProfit(),0,clrBlue)==false)
                           Print(" Error BUY OrderModify");
                 }

               if(OrderType()==OP_SELL)
                 {
                  if((op-ask)>tr)
                     if((sl-ask)>tr || sl==0)
                        if(OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(bid+tr-Point(),_Digits),OrderTakeProfit(),0,clrBlue)==false)
                           Print(" Error SELL OrderModify");
                 }
              }
           }
        }
     }
  }
//|==================================================================|//
//| Expert deinitialization function                                 |//
//|==================================================================|//
void OnDeinit(const int reason)
  {
  }
//|==================================================================|//
//|                                                                  |//
//|==================================================================|//
 
Последнее редактирование:
G

gks590

Участник
Регистрация
12.03.2014
Сообщения
56
Реакции
7
Владимир, где можно скачать исходник от этого видео урока ?
 
  • Автор темы
  • Панель управления
  • #3
Admin

Admin

Команда форума
Администратор
Регистрация
03.01.2013
Сообщения
2 135
Реакции
509
  • Автор темы
  • Панель управления
  • #5
Admin

Admin

Команда форума
Администратор
Регистрация
03.01.2013
Сообщения
2 135
Реакции
509
Maraton0110

Maraton0110

Участник
Регистрация
23.06.2016
Сообщения
4
Реакции
1
Всем привет Господа программисты)! Возникла необходимость в советнике, после отработки функции Трейлинга, не совершать более сделок в направлении отработки трейлинга, а совершать только в противоположную сторону и наоборот. Другими словами, если трейлинг отработал по продаже, то продаж больше совершать нельзя, а искать условия на покупку. Кто нибудь пробовал реализовать эту задачу?
Пока-что на ум приходит выбрать из OrdersHistoryTotal() и перебрать по MODE_HISTORY
 
  • Автор темы
  • Панель управления
  • #7
Admin

Admin

Команда форума
Администратор
Регистрация
03.01.2013
Сообщения
2 135
Реакции
509
Всем привет Господа программисты)! Возникла необходимость в советнике, после отработки функции Трейлинга, не совершать более сделок в направлении отработки трейлинга, а совершать только в противоположную сторону и наоборот. Другими словами, если трейлинг отработал по продаже, то продаж больше совершать нельзя, а искать условия на покупку. Кто нибудь пробовал реализовать эту задачу?
Пока-что на ум приходит выбрать из OrdersHistoryTotal() и перебрать по MODE_HISTORY
Это не сложная задача, на след неделе если не забуду запишу видео с программирование такого советника.
Я так понял что нам все равно как закрылся ордер, в плюс или в минус...
 
Maraton0110

Maraton0110

Участник
Регистрация
23.06.2016
Сообщения
4
Реакции
1
Да! По сути всё равно, он полюбому закрывается в плюс, т.к условие на срабатывание "void Trailing()" является выполнение условия превышения заданной величины "TrailingStart"!
 
Maraton0110

Maraton0110

Участник
Регистрация
23.06.2016
Сообщения
4
Реакции
1
Всем привет! Набросал выборку.
Код:
//+------------------------------------------------------------------+
int HistoryOrderType()
  {
   int type;
//   datetime dt=0;
   for(int i=OrdersHistoryTotal(); i>=0; i--)
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)

            if(OrderCloseTime()>0 && OrderStopLoss()!=0)//если время закрытия ордера больше 0 и если ордер закрылся по StopLoss
              {
               type=OrderType();//0-Закрыта Покупка, 1-Закрыта Продажа
              }
        }   
   return (type);
  }
//+------------------------------------------------------------------+
 
Теги как написать тралл стопов как написать трейлинг пишем трал трейлинг стоп код урок программирования трейлинг стопа
Верх