[ARCHIVE]Any rookie question, so as not to clutter up the forum. Professionals, don't pass it by. Can't go anywhere without you - 5. - page 332

 
first_may:
Good evening. Could you please tell me if there are any market profile indicators? And also a documentation or description of how to use them? At least the simplest signals to enter the market using market profile indicators?

What do you mean by market profile?
 
Vinin:

What do you understand by market profile?


Here it is:
"Market Profile as a way of graphically depicting price acceptance or rejection over time."

I found the indicator http://fxcoder.ru/indicators/tpo

But I don't know how to make the right decision, so I wanted to ask the experts...

 
first_may:


Here:
"Market Profile as a way of graphically depicting price acceptance or rejection over time."

I found the indicator http://fxcoder.ru/indicators/tpo

But I don't know how to make the right decision, so I wanted to ask the experts...


Then you seem to be asking the wrong question. This thread is for a different purpose
 
Vinin:

Then it looks like you asked it in the wrong place. This thread is not for that purpose.



Where can I go?

There is also this indicator: https://www.mql5.com/ru/code/8115#20318

I wonder how to analyse it? Is this question not answered here?

 

Hello everyone! Happy May 9th! Victory Day!

The pros need your help.

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

After this code I need a code that will act separately from the code above.

That is, the position will be opened and held by other set criteria, and when they disappear to exit the position and start acting on the original trading conditions (code above.)

The strategy essence is as follows: two bars do not touch the EMA min buy, two bars do not touch the EMA max sell.

What code is necessary to implement it.

I am trying to put this into criteria (I am not sure if this code is a good solution):

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

Goes through without errors, but when I add a criterion to sell it gives out errors - this is one problem.

Another one - how to cut off criteria from fulfillment that is above?

The third is to set EMA parameters by the number of daily bars (each bar should refer to the EMA corresponding to its day).

 
first_may:



Where can I go?

There is also this indicator: https://www.mql5.com/ru/code/8115#20318

I wonder how to analyse it? Is this question not answered here?


That's where you could ask the question
 

Folks, can you tell me why the username and password won't register... or anyone who might know and advise...

The message "4032291" comes up: connect failed (No connection).

Ping is checking - it means there is a connection. Otherwise, there is no connection for some reason.

And how to use this mql4 ?

 
Vinin:

That's how you could ask a question there


Will there be an answer? The last entry there was dated 11.05.2010 00:44...
 
first_may:


Will they answer? The last entry was dated 11.05.2010 00:44...
The author of the publication is listed there, click and ask him a question in a private message!
 

Artyom and Boris, thank you for "chewing up" my question. I have periods when I can get stuck on fairly simple things, as was the case this time...

Now there's a new question.

I have added to the function that calculates the amount of open orders t, searches for orders of a specified type with specified profits and compares their profits with some specified value (currently 0). Furthermore, if there are no open orders, 2 flags with value True are returned with function FindOrders() parameters, it means you can send an order, but if there are orders, profit is checked to make sure it is higher than the set value, if it is lower than the set value, 2 flags with value False are returned with function FindOrders() parameters, so when there are losing orders in some direction, there is no investments into the losing direction.

//+-------------------------------------------------------------------------------------+
//| Поиск своих ордеров                                                                 |
//+-------------------------------------------------------------------------------------+
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);
}

After that I call the FindOrders() function in the signal function:

//+-------------------------------------------------------------------------------------+
//| Получаем общий торговый сигнал                                                      |
//+-------------------------------------------------------------------------------------+
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);
}

Orders have moved open at all. The logic seems to be correct. Maybe, can you see where I have made a mistake?

I understand that everything can be done easier with a separate function and I can do it. But I want to understand why it doesn't work in this version.

Reason: