[WARNING CLOSED!] Any newbie question, so as not to clutter up the forum. Professionals, don't go by. Can't go anywhere without you. - page 747

 
xrust:


Alert won't work - in the tester it turns into a print... The tester has a peculiarity to process trade conditions (orders and logic) first, and then, if there is enough time, print, so only a soment, and this operation takes much longer than a print.

Rustam, I think everyone knows this, but the print won't print anything... Maybe this is a way to get it right...
 
artmedia70:





Unfortunately the trawl doesn't work. It gives an error when compiling. What needs to be fixed?
 
artmedia70:

??????????


Try rebooting the terminal.
 

How do I calculate the amount of last losing trades in denominations!!! If you can, the code ...

It's sunny outdoors, my head's not working at all ..... )

Thank you ...
 

There are features in I.Kim's thread that might help you! - https://www.mql5.com/ru/forum/107476

The function GetProfitFromDateInCurrency(). Page 18

This function returns the total profit in the currency of the positions closed since a certain date

Function isLossLastPos(). Page 21

This function returns the flag of loss of the last closed position. Flag raised - True - last position was closed at a loss. Flag omitted - False - last position was closed either with a zero value or with a profit. This function doesn't consider swaps and commissions. The position selection is defined by external parameters:

Function isCloseLastPosByStop().

This function returns the flag to close the last position by stop. Flag raised - True - StopLoss triggered. Flag lowered - False - position was closed for another reason

Function NumberOfLossPosToday() Page 24

This function returns the number of losing positions that were closed today.

 
DaVinci:

Unfortunately the trawl doesn't work. It gives an error when compiling. What needs to be fixed?
What kind of trawl? And what error?
 

Dear friends, Good afternoon.

I'm sorry the question is not directly related to mql and robot writing, but I really want to understand it for further analysis of forex and exchange processes.

The problem is this:

There is an excel-file, which displays the value of highs/minimums of ZigZag and time of formation of these highs/minimums

You need to build the following chart based on this data:

Please tell me how to do this in Excel 2007.

(I realise this is an amateurish question, but after holiday I need to get in shape now)

Thank you very much in advance.

 

So far I haven't had to deal with multicurrency EAs. Can anyone briefly tell me if MetaTrader allows to test/optimise this kind of EAs, what are the problems and limitations at the moment, etc. What are the peculiarities of writing such EAs as compared to standard ones?

Thank you!

 
Morzh09:

Good afternoon, friends...

As far as I understand, the end result should be approximately this picture:

If so, to get it in Excel 2007 do the following:
Take the CSV file generated by the script, open it in Excel.
Delete unnecessary columns, respectively leave only Time and ZigZag Date.
Then select the remaining columns, open the "Insert" tab, click "Chart" and select the "Chart" type. The chart is drawn automatically with the standard parameters. Then, if necessary, change the division price in the axis settings, add a grid, etc.

In the archive, the original CSV for example, and the resulting graph in XLSX format.

Files:
 
PLEASE HELP ME !!! In the following code I check if the order was profitable or not ! If not I count the amount !!!
If the first trade was unprofitable then the counting loop is started and is added forever.

But there is such a catch !!! If a deal is profitable, then all subsequent losing orders are counted normally ....

double orderProf; // Counter for the number of losing trades

double CalculateLots(){
double Res=0.01;
bool bProfit=true;
int PrevTime=-1;
double tmpLots;
for (int i=0;i<OrdersHistoryTotal();i++){
if (!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue;
if (OrderSymbol()!=Symbol()) continue;
if (OrderCloseTime()<PrevTime) continue;
PrevTime=OrderCloseTime();
if (OrderProfit()>0){bProfit=true; orderProf=0;} if (OrderProfit()<0){bProfit=false; orderProf++;}
tmpLots=OrderLots();
}


return(Res);
}