Советник на несколько пар, как переделать на вариант с индикатором со стрелками ( .ex4)?

 
Кого не затруднить переделать этот советник, вставить новый пользовательский индикатор..........
//+-------------------------------------------------------------------+
//|                                              Multi_Hammer.mq4     |
//|                                   Copyright © 2010,               |
//|                                                                   |
//+-------------------------------------------------------------------+
#property copyright "Copyright © 2010, Unga"

extern bool      Use_Symbol1   = true;
extern string    Symbol1       = "EURUSD";

extern bool      Use_Symbol2   = true;
extern string    Symbol2       = "USDCHF";

extern bool      Use_Symbol3   = true;
extern string    Symbol3       = "GBPUSD";

extern bool      Use_Symbol4   = true;
extern string    Symbol4       = "USDJPY";

extern int       StopLoss      = 25;
extern int       TakeProfit    = 500;

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   if (Use_Symbol1==true) OpenSymbol(Symbol1); // Для мультивалютного
   if (Use_Symbol2==true) OpenSymbol(Symbol2); // Для мультивалютного
   if (Use_Symbol3==true) OpenSymbol(Symbol3); // Для мультивалютного
   if (Use_Symbol4==true) OpenSymbol(Symbol4); // Для мультивалютного   
//----
   return(0);
  }
//+----------------------------------------------------------------------------+
//+----------------------------------------------------------------------------+
//|  Автор    : Unga                                                  |
//+----------------------------------------------------------------------------+
//|  Описание : Возвращает торговый сигнад                                     |
//+----------------------------------------------------------------------------+
int GetSignal(string vSymbol)
   {
    double sb=iCustom(vSymbol,PERIOD_M30,"ForexHammer",0,0);
   
    int vSignal = 0;
      if( Open[3]< sb && Close[3]> sb && Close[2]> sb && Close[1]> sb )  
      vSignal =+1;//up
//-----------------------------------------------------------------------------| 
      if(Open[3]> sb && Close[3]< sb && Close[2]< sb && Close[1]<sb)
      vSignal =-1;//down
          
    return (vSignal);
   }
//+----------------------------------------------------------------------------+
//|  Описание : Открытие позиций                                               |
//+----------------------------------------------------------------------------+
int OpenSymbol(string vSymbol)
   {
    double point = MarketInfo(vSymbol,MODE_POINT);   
    double bid   = MarketInfo(vSymbol,MODE_BID);
    double ask   = MarketInfo(vSymbol,MODE_ASK);
      
    if(!ExistPositions(vSymbol))
     {
   
      if(GetSignal(vSymbol)==1)
    
      OrderSend(vSymbol,OP_BUY,5,ask,3,bid-StopLoss*point,ask+TakeProfit*point,"Unga",0,0,Green);
     
      if(GetSignal(vSymbol)==-1)
          
      OrderSend(vSymbol,OP_SELL,5,bid,3,ask+StopLoss*point,bid-TakeProfit*point,"Unga",0,0,Red);   
     
     }   
   }
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 01.09.2005                                                     |
//|  Описание : Возвращает флаг существования позиций                          |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//|    ot - время открытия             ( 0   - любое время открытия)           |
//+----------------------------------------------------------------------------+
bool ExistPositions(string sy="", int op=-1, int mn=-1, datetime ot=0) {
  int i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (ot<=OrderOpenTime()) return(True);
            }
          }
        }
      }
    }
  }
  return(False);
}

Вместо "ForexHammer" вставить индикатор "scalping_future.ex4" со стрелками бай-селл, Время Н1, закрытие при противоположной стрелке.

Если получится что-то стоящее, пользуйтесь на здоровье.

Сам буду корячиться долго,спецам проще, подправьте, что не так.

Спасибо огромное, что выслушали.

Файлы:
 
pistolet:
Кого не затруднить переделать этот советник, вставить новый пользовательский индикатор..........

Вместо "ForexHammer" вставить индикатор "scalping_future.ex4" со стрелками бай-селл, Время Н1, закрытие при противоположной стрелке.

Если получится что-то стоящее, пользуйтесь на здоровье.

Сам буду корячиться долго,спецам проще, подправьте, что не так.

Спасибо огромное, что выслушали.

Вот Вам функция, которая получает сигнал от упомянутого индикатора (точность приблизительная\интуитивная, так как отсутствует код индюка):

int FilterPeriod = 22;
int SL_distance_pips = 20;

//+----------------------------------------------------------------------------+
//|  Описание : Возвращает торговый сигнад                                     |
//+----------------------------------------------------------------------------+
int GetSignal (string vSymbol, int fi_Bar = 5)
{
    double ld_Signal_0 = iCustom (vSymbol, PERIOD_H1, "scalping_future", FilterPeriod, SL_distance_pips, 0, 0),
           ld_Signal_Bar = iCustom (vSymbol, PERIOD_H1, "scalping_future", FilterPeriod, SL_distance_pips, 0, fi_Bar);
    int    vSignal = 0;
//----
    if (ld_Signal_Bar <= -0.9 && ld_Signal_0 > -0.9) vSignal = 1;  //up
    if (ld_Signal_Bar >= 0.9 && ld_Signal_0 < 0.9) vSignal = -1;   //down
//----
    return (vSignal);
}

Параметры индикатора вынесены в глобальные переменные советника (параметры по умолчанию). Надеюсь, что с остальным справитесь самостоятельно. Удачи.

 
Неведомая фигня без исходника. К каким буферам обращаться за стрелками? К тому же рисует только на истории.
 
evillive:
Неведомая фигня без исходника. К каким буферам обращаться за стрелками? К тому же рисует только на истории.

Ctrl+D
 
sergeev:

Ctrl+D


Ну так там только один и отображается, ”BuySellWait”, буфер который рисует линию индикатора, а внутри индикатора их штук шесть, и который из них стрелки рисует - неведомо )))

Ещё и не на всех парах эта самая линия отрисовывается, на евродолларе например её нету а на франке - всегда пожалуйста.

P.S.: Хотя, линию рисует на всех парах, только как-то странно, для евро она глубоко в подвале, сразу и не увидишь.

 

Сигналы на демо: только на одной паре 3 последние сигнала дали +264 пип

Советник e-PSI@Multi_Scalping.mq4 с библиотеками не запускается, дает 10 ошибок+ 12 ошибок в b-PSI@ManagerPA.mqh

Файлы:
 
pistolet:

Сигналы на демо: только на одной паре 3 последние сигнала дали +264 пип

Советник e-PSI@Multi_Scalping.mq4 с библиотеками не запускается, дает 10 ошибок+ 12 ошибок в b-PSI@ManagerPA.mqh

Я правил упомянутые библиотеки и пока модераторы не проверили (уже 3-тьи сутки пошли) последние версии. Нужно подождать.
 

Что-нибудь попроще можно из этого сотворить?

Спасибо ТаrasBY за помощь.

 

рисует этот индикатор как троцкий :D

вот только недавно поставил его на м1, спустя какое то время сигнал бай, потом цена пошла в низ сигнал на месте, пошла еще сильней-дальше сигнал пропал с графика)

 

попробуйте на H1 и на несколько пар.

М1 несерьезно,имхо.

 
pistolet:

попробуйте на H1 и на несколько пар.

М1 несерьезно,имхо.

Поставьте вот этот индикатор и попробуйте за ним понаблюдать, а потом расскажите...
Файлы:
Причина обращения: