On my home computer I'm doing a graphic layout. How to transfer it to another computer - which file should be overwritten?
I cannot use the output like copying the whole MT4 folder and then copying it with a new name to another computer because it is too complicated. The interesting thing is that if I leave the folder on another computer with the old name there is nothing new on the charts...
For what reason, the EA, after initialisation, cannot go to start(); ?
Maybe someone has faced such a problem?
From init(); I exit return(0); .
Thanks in advance for the answer!
The answer is even simpler: The presence of the return(0) operator at the end of a function body does not mean that this operator will ever be executed.
For what reason, the EA, after initialisation, cannot go to start(); ?
Maybe someone has faced this problem?
Sometimes there are complex calculations or loading history in init(), or the terminal has a lot of indicators and EAs suspending the terminal or...
but if during the code initialization the terminal terminals interrupts the code, the following error will appear in the log: ".... timeout in expert ...."
If the log shows no error, it means that initialization was successful. The start() function itself is easy to check - write start() : Print("new tick") in the first line;
How do I check if an order is triggered by TakeProfit or StopLoss? Thanks for the reply!
Check order history, if close price equals SL or TP - then ... but I think it would be easier to check the profit of a closed order - if > 0 then take otherwise ...
here is a similar meaningful piece of code:
double history(){
int time = 0;double profit = 0;//обьявляем необходимые нам переменные куда мы положим интересующие нас характеристики ордераfor(int i = OrdersHistoryTotal();i>=0;i--){// Перебираем все закрытые ордераif(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){//если ордер с таким номером (i) в списке закрытых ордеров есть ( не путать с тикетом)if(OrderSymbol() == Symbol()){//если выбранный ордер был открыт по нашей валютной пареif(time<OrderCloseTime()){//(сравниваем его с хранящимся в пероеменной time)
time=OrderCloseTime();//если время закрытия ордера больше - ложим его в переменную
profit=OrderProfit();//и заодно запоминаем прибыль ордера
}
}
}
}
//по окончании этой процедуры в наших переменных будут сидет наибольшее время закрытия, и его профит. Или по нулям если история чистая.//теперь мы можем выставлять условия в зависимости от результата процедурыif(profit == 0 &&time == 0){//действия если история чистая
}
if(profit >= 0){//действия если последний ордер был прибыльным, или нулевым
}
if(profit < 0 ){//действия если последний ордер был убыточным
}
return(0);
}
Allow the use of cookies to log in to the MQL5.com website.
Please enable the necessary setting in your browser, otherwise you will not be able to log in.
You are signed in. Two-factor authentication has been disabled. Set it up again and scan a new QR code, or continue with two-factor authentication disabled.
Good evening!
I have a simple question.
For what reason, the EA, after initialisation, cannot go to start(); ?
Maybe someone has faced such a problem?
From init(); I exit return(0); .
Thanks in advance for the answer!
Good evening!
I have a simple question.
For what reason, the EA, after initialisation, cannot go to start(); ?
Maybe someone has faced such a problem?
From init(); I exit return(0); .
Thanks in advance for the answer!
Hi all and profits!
I have such a problem.
On my home computer I'm doing a graphic layout. How to transfer it to another computer - which file should be overwritten?
I cannot use the output like copying the whole MT4 folder and then copying it with a new name to another computer because it is too complicated. The interesting thing is that if I leave the folder on another computer with the old name there is nothing new on the charts...
Who knows, help!
BBSL ,I used to write "start();" - is that how you wrote it? You don't need a colon there. maybe there are no curly brackets
kiimar, did you close it? If so, you need to see the code
Good evening!
I have a simple question.
For what reason, the EA, after initialisation, cannot go to start(); ?
Maybe someone has faced such a problem?
From init(); I exit return(0); .
Thanks in advance for the answer!
How do I check if an order is triggered by TakeProfit or StopLoss? Thank you for your reply!
For what reason, the EA, after initialisation, cannot go to start(); ?
Maybe someone has faced this problem?
Sometimes there are complex calculations or loading history in init(), or the terminal has a lot of indicators and EAs suspending the terminal or...
but if during the code initialization the terminal terminals interrupts the code, the following error will appear in the log: ".... timeout in expert ...."
If the log shows no error, it means that initialization was successful. The start() function itself is easy to check - write start() : Print("new tick") in the first line;
How do I check if an order is triggered by TakeProfit or StopLoss? Thanks for the reply!
Check order history, if close price equals SL or TP - then ... but I think it would be easier to check the profit of a closed order - if > 0 then take otherwise ...
here is a similar meaningful piece of code: