Советники: HLine Manual

 

HLine Manual:

Помощник в ручной торговле: открытие позиции в зависимости от размещённой горизонтальной линии

HLine Manual

Автор: Vladimir Karputov

 
Automated-Trading:

HLine Manual:

Автор: Vladimir Karputov

Владимир- подскажите пожалуйста.

как запустить - как коснётся линии?

----------------------------------------------------------

прикосновении линии - сработает покупка или продажа  

//+------------------------------------------------------------------+
//| Check for long position opening                                  |
//+------------------------------------------------------------------+
bool CSampleExpert::LongOpened(void)
  {
   bool res=false;
//--- check for long position (BUY) possibility
   double priceHLine=ObjectGetDouble(0,InpHLineName,OBJPROP_PRICE);
   if(priceHLine==0.0)
      return(true);
   if(priceHLine>m_symbol.Ask())
     {
      ObjectDelete(0,InpHLineName);
      double price=m_symbol.Ask();
      double tp   =m_symbol.Bid()+m_take_profit;
      //--- check for free money
      if(m_account.FreeMarginCheck(Symbol(),ORDER_TYPE_BUY,InpLots,price)<0.0)
         printf("We have no money. Free Margin = %f",m_account.FreeMargin());
      else
        {
         //--- open position
         if(m_trade.PositionOpen(Symbol(),ORDER_TYPE_BUY,InpLots,price,0.0,tp))
            printf("Position by %s to be opened",Symbol());
         else
           {
            printf("Error opening BUY position by %s : '%s'",Symbol(),m_trade.ResultComment());
            printf("Open parameters : price=%f,TP=%f",price,tp);
           }
        }
      //--- in any case we must exit from expert
      res=true;
     }
//--- result
   return(res);
  }
//+------------------------------------------------------------------+
//| Check for short position opening                                 |
//+------------------------------------------------------------------+
bool CSampleExpert::ShortOpened(void)
  {
   bool res=false;
//--- check for short position (SELL) possibility
   double priceHLine=ObjectGetDouble(0,InpHLineName,OBJPROP_PRICE);
   if(priceHLine==0.0)
      return(true);
   if(priceHLine<m_symbol.Bid())
     {
      ObjectDelete(0,InpHLineName);
      double price=m_symbol.Bid();
      double tp   =m_symbol.Ask()-m_take_profit;
      //--- check for free money
      if(m_account.FreeMarginCheck(Symbol(),ORDER_TYPE_SELL,InpLots,price)<0.0)
         printf("We have no money. Free Margin = %f",m_account.FreeMargin());
      else
        {
         //--- open position
         if(m_trade.PositionOpen(Symbol(),ORDER_TYPE_SELL,InpLots,price,0.0,tp))
            printf("Position by %s to be opened",Symbol());
         else
           {
            printf("Error opening SELL position by %s : '%s'",Symbol(),m_trade.ResultComment());
            printf("Open parameters : price=%f,TP=%f",price,tp);
           }
        }
      //--- in any case we must exit from expert
      res=true;
     }
//--- result
   return(res);
  }
//+------------------------------------------------------------------+
//| main function returns true if any position processed             |
//+------------------------------------------------------------------+
Файлы:
 

Нет, здесь в советнике нет никакого касания - простое условие: открытие позиции в зависимости от размещённой горизонтальной линии

Торговые сигналы:

Если линии размещена ВЫШЕ текущей цены - это сигнал к открытию позиции BUY, если ниже - откроется позиция SELL. После получения сигнала линии с графика удаляется.


То есть в параметрах советника всё настроили и советник ждёт сигнал - ждёт когда пользователь кинет на график линию.

 
Vladimir Karputov:

Нет, здесь в советнике нет никакого касания - простое условие: открытие позиции в зависимости от размещённой горизонтальной линии

Торговые сигналы:

Если линии размещена ВЫШЕ текущей цены - это сигнал к открытию позиции BUY, если ниже - откроется позиция SELL. После получения сигнала линии с графика удаляется.


То есть в параметрах советника всё настроили и советник ждёт сигнал - ждёт когда пользователь кинет на график линию.

Да ! 

хотелось -бы найти, способ пересечения или касания линии.

и только после касания или пересечения - открытия позиции.  

 
Aleksandr Klapatyuk:

Да ! 

хотелось -бы найти, способ пересечения или касания линии.

и только после касания или пересечения - открытия позиции.  

А пересечение будете проверять на баре #1? Да?

 
Vladimir Karputov:

А пересечение будете проверять на баре #1? Да?

Владимир - спасибо за ваш советник!

за подсказку. 

правда я две горизонтальные линии сделал - на buy и sell

EURUSDM1

как пересекает красную линию - sell

EURUSDM1_2

Файлы:
 

Добрый день.

Пытаюсь понять почему не работает "HLine Manual так как Вы его прописываете // Таким образом выставив на уровень линию вручную, можно не сидеть у монитора - советник сам отработает когда цена пересечёт линию.//.
Сейчас советник открывает позицию сразу не дожидаясь когда цена пересечет установленную линию"HLine Manual". Почему ?

 
su6000:

Добрый день.

Пытаюсь понять почему не работает "HLine Manual так как Вы его прописываете // Таким образом выставив на уровень линию вручную, можно не сидеть у монитора - советник сам отработает когда цена пересечёт линию.//.
Сейчас советник открывает позицию сразу не дожидаясь когда цена пересечет установленную линию"HLine Manual". Почему ?

А где Вы увидели такое описание? Вот описание:

Идея торговой стратегии

Советник ожидает, что пользователь разместит на графике графический объект "Горизонтальная линия" с именем совпадающим с входным параметром  HLine Name.

Торговые сигналы:

Если линии размещена ВЫШЕ текущей цены - это сигнал к открытию позиции BUY, если ниже - откроется позиция SELL. После получения сигнала линии с графика удаляется.

 

 Из нашей с Вами переписки. В противном случае зачем вместо покупке или продажи по рынку ставить Вашу горизонтальную линию.

 

***

HLine Manual
HLine Manual
  • www.mql5.com
Советник ожидает, что пользователь разместит на графике графический объект "Горизонтальная линия" с именем совпадающим с входным параметром HLine Name. Если линии размещена ВЫШЕ текущей цены - это сигнал к открытию позиции BUY, если ниже - откроется позиция SELL. После получения сигнала линии с графика удаляется. Подробнее о настройках...
 
su6000:

 Из нашей с Вами переписки. В противном случае зачем вместо покупке или продажи по рынку ставить Вашу горизонтальную линию.

 

***

Зачем - это вопрос не ко мне. Кто-то на форуме хотел открывать позиции именно так. При помощи линий.

 

Может Вы тогда сможете усовершенствовать Вашу программу и я ,или мы все, получим  мечту любого трейдера.//Таким образом выставив на уровень линию вручную, можно не сидеть у монитора - советник сам отработает когда цена пересечёт линию.//. Пресечение  можно проверить через сравнение значения цены в данное время и значения HLine Manual  , а ордер может сработать по допустимому отклонению.

Спасибо.

Можем обсудить и другие условия.

Причина обращения: