[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 332

 
first_may:
Добрый вечер. Подскажите пожалуйста, есть ли индикаторы профиля рынка? А также документация или описание как им пользоваться? Хотя бы самые простые сигналы для входа в рынок по индикаторам профиля рынка?

Что Вы понимаете под профилем рынка?
 
Vinin:

Что Вы понимаете под профилем рынка?


Вот:
"Профиль Рынка (Market Profile) как способ графического изображения принятия или отвержения цены во времени."

 Я нашел индикатор http://fxcoder.ru/indicators/tpo

Но как правильно принимать решение незнаю, вот и хотел спросить у знатоков... 

 
first_may:


Вот:
"Профиль Рынка (Market Profile) как способ графического изображения принятия или отвержения цены во времени."

 Я нашел индикатор http://fxcoder.ru/indicators/tpo

Но как правильно принимать решение незнаю, вот и хотел спросить у знатоков... 


Тогда похоже Вы не там задали вопрос. Эта ветка для другого предназначена
 
Vinin:

Тогда похоже Вы не там задали вопрос. Эта ветка для другого предназначена



Куда можно обратиться? 

Тут же есть вот такой индикатор: https://www.mql5.com/ru/code/8115#20318

Мне интересно, как его анализировать? Тут на этот вопрос не ответят? 

 

Всем привет! С праздником 9 Мая! Днём Победы!

Профи нужна Ваша помощь.

if ( торговые условия)
     {                                          
      Opn_S=true;                              
      }
if ( торговые условия)
     {                                          
      Opn_B=true;                            
     }
if ( торговые условия)
     { 
     Cls_S=true;
     }
     else
if ( торговые условия)
     { 
     Cls_B=true;
     }

После этого кода мне нужен код, который будет действовать отдельно от кода выше.

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

Суть стратегии следующая два бара не касаются ЕМА мин. покупаем, два бара не касаются ЕМА макс. продаем.

Какой нужен код, чтобы это осуществить.

Пробую вставить в критерии вот это (не уверен, что этот код правильное решение):

else
    for(i=0;i<=Quant_Bars-1;i++)  
   if (Low[i]> MA_3_t)
     {
     Opn_B=true;
     }
      return(false);

Проходит без ошибок, но когда добавляю критерий на продажу ошибки выдает –это одна проблема.

Другая, как отсечь критерии от исполнения, что есть выше?

Третья задать параметры ЕМА по количеству дневных баров (каждый бар должен обращаться к ЕМА соответствующему его дню.)

 
first_may:



Куда можно обратиться? 

Тут же есть вот такой индикатор: https://www.mql5.com/ru/code/8115#20318

Мне интересно, как его анализировать? Тут на этот вопрос не ответят? 


Так там и можно было задать вопрос
 

Народ, подскажите почему не регится логин и пароль... или кто может знает и подсказать...

выходит сообщение "4032291": connect failed (Нет связи).

Пинг проверяется - значит связь есть. А в остальном связи нет почему-то. 

И как пользоваться этим mql4 ?

 
Vinin:

Так там и можно было задать вопрос


Ответят? Там последняя запись от 11.05.2010 00:44...
 
first_may:


Ответят? Там последняя запись от 11.05.2010 00:44...
Там Автор публикации указан, нажмите и задайте ему вопрос в личку! 
 

Артём и Борис, Благодарю Вас за то, что Вы "разжевали" мне мой вопрос. У меня бывают периоды, когда я могу заглючить на довольно-простых вещах, как было в этот раз..

 

Щяс появился новый вопрос.

 Я тут накидал функцию, добавил к функции расчёта количества открытых ордеров t, поиск ордеров заданного типа с заданных профитов и сравнение их профита с некоторых заданным значением(на данный момент 0). Дальше, если  открытых ордеров нет, то через параметры функции FindOrders() возвращаются 2 флага со значение True, что значит можно послать ордер, а если ордера есть, проверяется профит, чтоб значение профита было больше заданного значения, если профит меньше заданного значения, то через параметры функции FindOrders() возвращаются 2 флага со значение False, чтоб когда в каком-н. направлении есть убыточные ордера, то не было доливок в убыточную сторону.

//+-------------------------------------------------------------------------------------+
//| Поиск своих ордеров                                                                 |
//+-------------------------------------------------------------------------------------+
int FindOrders(bool& long, bool& short)
{
   int t, total = OrdersTotal() - 1;
   
   for (int i=total; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
          if (OrderSymbol() != Symbol()) continue;
              if (OrderMagicNumber() != i_magic) continue;
              {
                 if (OrderType() < 0)              // Ордера отсуствуют, значит можно послать ордер..
                     {
                        long = true;               // .. на покупку
                        short = true;              // .. на продажу
                     }
                 
                 if (OrderType() == OP_BUY)        // Найден ордер типа OP_BUY
                 {
                     if (OrderProfit() > 0)        // Если профит ордера выше заданного значения, то..
                         long = true;              // .. разрешена покупка
                 }

                 if (OrderType() == OP_SELL)       // Найден ордер типа OP_SELL
                 {
                     if (OrderProfit() > 0)        // Если профит ордера выше заданного значения, то..
                         short = true;             // .. разрешена продажа
                 }
                 
                 t++;
              }
   }
   
   return (t);
}

 Ну после, я вызываю функцию FindOrders() в сигнальной функции:

 

//+-------------------------------------------------------------------------------------+
//| Получаем общий торговый сигнал                                                      |
//+-------------------------------------------------------------------------------------+
int GetGeneralSignal()
{
   bool short = false,
        long = false;
        
   if (FindOrders(short, long) > 3)
       return (SIGNAL_NO);

   if (long == false)
       return (SIGNAL_NO);
   if (GetRSI(1) < i_RSIToUpLimit)
      if (GetRSI(0) > i_RSIToUpLimit)
      {
         return (SIGNAL_BUY);
      }
           
   if (short == true)
       return (SIGNAL_NO);
   if (GetRSI(1) > i_RSIToDnLimit)
      if (GetRSI(0) < i_RSIToDnLimit)
      {
         return (SIGNAL_SELL);
      }
            
   return (SIGNAL_NO);
}

 Ордера переставили вообще открываться. Логика вроде верная. Может видно, на вскидку, где я ошибся?

Я понимаю, что можно всё проще сделать отдельной функцией и смогу. Но хочется понять, почему в таком варианте не работает. 

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