Questions from Beginners MQL5 MT5 MetaTrader 5 - page 1300

 
Vladimir Karputov:
 m_trade.SetExpertMagicNumber(InpMagic);

Yes, I did, it turns out I made a logical error that caused the method not to be called. Thanks for the reply.


One more question: how to call another method of the same class inside a class method (in .mqh file)?

The construct does not work:

void CTradeMT45::CloseAll(int OrderType) {

CloseOrder(ticket);

}

void CTradeMT45::CloseOrder(ulong ticket){

}
 
Ildar Yusupov:

Yes, I did, it turns out I made a logical error that caused the method not to be called. Thanks for the reply.


One more question: how to call another method of the same class inside a class method (in .mqh file)?

The construct does not work:

Here's a tip: forget the word "order" (only "pending order" is allowed) and you will immediately get all the logic in place.

 
Vladimir Karputov:

A word of advice: forget about the word "order" (only "pending order" can be used) and all logic will immediately fall into place.

Instead of "Order", it would be more correct to use the word "Order" in mt5. Although they are similar in their essence.

 
Valeriy Yastremskiy:

Instead of Order, the correct word to use in mt5 is Order. Although they are similar words.

There is also a market order in MetaTrader 5. You cannot just give up something, which is an integral part of the order system of the trading platform, for "religious" reasons.

There are orders in MT5. And they are displayed in the history. And they even carry information which a knowledgeable person will use for his or her own benefit.

You just need to know better how things work, and not take in stride the name of what is exactly called an order. It is a trade order. It is the originator of the rest of the chain of metamorphoses that leads to a position. A pending order is a different entity. It can be also attributed to orders - a "conditional order", so to speak.

When the order is executed, a market order appears and is transformed into a deal that generates a position or changes it. If memory serves me right - it's been a long time since I looked through all the history with the chain of events from order to closing a position. But when I was dealing with it thoroughly, if memory serves me right now, that's exactly how it goes: order -- market order -- deal -- opening/changing/closing position.

And, yes - these are not closely related words, but a translation from English to Russian. Order == Order

 
Artyom Trishkin:

MetaTrader 5 also has a market order. You can't just give up something that is an integral part of the order system of the trading platform for "religious" reasons.

There are orders in MT5. And they are displayed in the history. And they even carry information which a knowledgeable person will use for his or her own benefit.

You just need to know better how things work, and not take in stride the name of what is exactly called an order. It is a trade order. It is the originator of the rest of the chain of metamorphoses that leads to a position. A pending order is a different entity. It can be also classified as an order, so to say, a conditional order.

When the order is executed, a market order appears and is transformed into a deal that generates a position or changes it. If memory serves me right - it's been a long time since I looked through all the history with the chain of events from order to closing a position. But when I was dealing with it thoroughly, if memory serves me right now, that's exactly how it goes: order -- market order -- deal -- opening/changing/closing position.

And, yes - these are not closely related words, but a translation from English to Russian. Order == Order.

Apparently, I am not speaking English. I am by no means calling for a substitution of concepts. Just for the sake of proper understanding replace the words. And to use substitution when explaining it. And to use existing concepts.

In trading it is used as a translation. And in Russian a warrant is an order to be executed in production. A production order is usually a production order.

 
Valeriy Yastremskiy:

Apparently I'm not very articulate. I am by no means calling for a replacement of concepts. Only to substitute words for proper understanding. And to use substitutions when explaining them. And to use existing concepts.

In trading it is used as a translation. And in Russian a warrant is an order to be executed in production. A production order is usually.

An order to execute in production, is called a naryad. In some places it was called an order-order, an order-assignment...

There was always only a consignment note for the release of products. And a warrant was usually issued for an arrest... or a search... Which one should you write)))))))))

It's not all that bad... There was also a warrant for a place to live. I've had two of those...

 

I can't figure out what kind of nonsense the indicator is giving out. I want to check on which of the next 10 candles have zig zag peaks, on the same candles I want to highlight only highs and also only lows. I know that in 0 buffer all local peaks, in 1 - hai, in 2 - lows.

What is the problem here? I don't understand it. I checked the indicator settings on the chart and the ones I pass to the call - they are the same. I only print the main buffer zero to check the operation.

input int ExtDepth = 40;
input int ExtDeviation = 5;
input int ExtBackstep = 3;

double zz = 0;
double zi_0[];
double zi_1[];
double zi_2[];
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   ArraySetAsSeries(zi_0,  true);
   ArraySetAsSeries(zi_1,  true);
   ArraySetAsSeries(zi_2,  true);
   zz = iCustom(_Symbol,PERIOD_CURRENT,"Examples\\ZigZag",ExtDeviation,ExtDeviation,ExtBackstep);
   
   CopyBuffer(zz,0,0,10,zi_0);
   CopyBuffer(zz,1,0,10,zi_1);
   CopyBuffer(zz,2,0,10,zi_2);
   
  
  for(int i = 0; i < 10; i++)
     {
       Print(i,"  ",zi_0[i]);
     }
   
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {

   
  }
//+------------------------------------------------------------------+


 
Nikita Chernyshov:

I can't figure out what kind of nonsense the indicator is giving out. I want to check on which of the next 10 candles have zig zag peaks, on the same candles I want to highlight only highs and also only lows. I know that in 0 buffer all local peaks, in 1 - hai, in 2 - lows.

What is the problem here? I don't understand it. I checked the indicator settings on the chart and the ones I pass to the call - they are the same. I print only main buffer zero to check if it works.


In the "0" buffer peaks = peak values, or "0". "0" is those bars that are not peaks.

 

Good afternoon.

The question is this. When I work in the Strategy Tester, the Expert Advisor saves the necessary information on positions in a file. The file is saved in the folder
"<terminal_folder>\Tester\<testing_agent_name>\MQL5\Files\........".

Later I want to use the same data file just on the chart (NOT in the tester). The terminal allows to work with files from the folder

"<terminal_folder>\MQL5\Files\.....".

Is it possible for the MQL5 code to drag the files uploaded by the Expert Advisor to the folder " <Terminal_folder>\Tester\\<Testing_agent_name>\MQL5\Files\ "? Or these areas are strictly separated between the Strategy Tester and the usual work?

I haven't been able to write everything from the Strategy Tester to "<Terminal_folder>\MQL5\Files\" or to copy it using theFileMove method.

 
satorifx:

Good afternoon.

The question is this. When I work in the Strategy Tester, the Expert Advisor saves the necessary information on positions in a file. The file is saved in the folder
"<terminal_folder>\Tester\<testing_agent_name>\MQL5\Files\........".

Later I want to use the same data file just on the chart (NOT in the tester). The terminal allows to work with files from the folder

"<terminal_folder>\MQL5\Files\.....".

Is it possible for the MQL5 code to drag the files uploaded by the Expert Advisor to the folder " <Terminal_folder>\Tester\\<Testing_agent_name>\MQL5\Files\ "? Or these areas are strictly separated between the Strategy Tester and the usual work?

I haven't been able to write everything from the Strategy Tester to "<Terminal_folder>\MQL5\Files\" or to copy it using theFileMove method.

Write in the Shared folder for all terminals (FILE_COMMON flag)
Reason: