if ( SignalLine > MainLine && ChPos(OP_BUY)==0 )
{ // если сигнальная линия выше основной и нет длинной позы . то закрыть короткую открыть длиннуюif (ChPos(OP_SELL)>0 ) ClosePosition(OP_SELL) ;
OpenPosition(OP_BUY) ;
I close unprofitable positions without breaking the equilibrium in the lot by removing TP. Alas, TP=0, although I got a very annoying message in the log:
bool notakeprofit()
{ bool ok=true;
int k=OrdersTotal();
for (int i=k-1; i >=0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_368)
{OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(),NormalizeDouble(0,Point), OrderExpiration(), CLR_NONE);
}
else;
// { Print("OrderSelect() error - ",GetLastError()); ok=false;}
}
return(ok);
}
Due to the need to make sure in the main code that all market orders have TP=0 I control the result of this function - ok, in the code you can see that ok - it only changes when there is an error
In my case, the rule is: "Separate NOT in nouns, adjectives and adverbs, if there is or is meant to be a contradiction" http://www.rusyaz.ru/pr/od07.html - "to do" is NOT - the correct word is " to do" (the highlighted word is a contradiction and is preceded by a hyphen).
you are interpreting the Russian language wrong (!). Separate "not" would be written in the case of:
"to do" is NOT correct, but bad. - it is in this sense that it is understood to be opposed. Look at the examples to the rule.
In your sentence, NOT should be written with a conjunction (paragraph 3 of paragraph 88 on the same page applies):
IgorM: I lock losing positions so I don't want to break an equilibrium in the position but I have to remove TP, but alas, TP=0, although in my journal it keeps on coming up many times:
code:
Due to the need to make sure in the main code that all market orders have TP=0 I control the result of this function - ok, in the code you can see that ok - only changes when there is an error
HELP MI PLZ! :)
thanks in advance
Maybe not NormalizeDouble(0,Point) but NormalizeDouble(0,Digits)?
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.
Please excuse me if I'm distracting you with a probably stupid question.
I've just started to learn this and have no one to ask for advice.
I have read the manual a few times. I have started an Expert Advisor with the simplest functions, pending orders.
I still do not understand what I have to do to open orders once, and not with every tick.
Insert a function like this
int ChPos( int type_H_L) { // возвращает кол-во позици которые открыты int i; int col; int count=0 ; for( i=0; i < OrdersTotal(); i++) { if(OrderSelect(i,SELECT_BY_POS)==true) { if(OrderType()==OP_BUY && type_H_L==OP_BUY && OrderMagicNumber()== magic){count++;} if(OrderType()==OP_SELL && type_H_L==OP_SELL && OrderMagicNumber()== magic){count++;} if(OrderType()==OP_BUYSTOP && type_H_L==OP_BUYSTOP && OrderMagicNumber()== magic){count++;} if(OrderType()==OP_SELLSTOP && type_H_L==OP_SELLSTOP && OrderMagicNumber()== magic){count++;} } } return(count); }In your code, check this way, for example
code:
Due to the need to make sure in the main code that all market orders have TP=0 I control the result of this function - ok, in the code you can see that ok - it only changes when there is an error
HELP MI PLZ! :)
thanks in advance
In my case, the rule is: "Separate NOT in nouns, adjectives and adverbs, if there is or is meant to be a contradiction" http://www.rusyaz.ru/pr/od07.html - "to do" is NOT - the correct word is " to do" (the highlighted word is a contradiction and is preceded by a hyphen).
you are interpreting the Russian language wrong (!). Separate "not" would be written in the case of:
"to do" is NOT correct, but bad. - it is in this sense that it is understood to be opposed. Look at the examples to the rule.
In your sentence, NOT should be written with a conjunction (paragraph 3 of paragraph 88 on the same page applies):
"to do" is misspelled, " to do" is correct .
There is a standard MACD indicator. how is it used to test on history?
is there an example?
I lock losing positions so I don't want to break an equilibrium in the position but I have to remove TP, but alas, TP=0, although in my journal it keeps on coming up many times:
code:
Due to the need to make sure in the main code that all market orders have TP=0 I control the result of this function - ok, in the code you can see that ok - only changes when there is an error
HELP MI PLZ! :)
thanks in advance
Maybe not NormalizeDouble(0,Point) but NormalizeDouble(0,Digits)?
Maybe not NormalizeDouble(0,Point) but NormalizeDouble(0,Digits)?
Thanks, I found it myself, but it didn't fix error #1
Thanks, I found it myself, but it didn't fix error #1.
The first thing I would do is substitute some other number in TP instead of zero (to eliminate the error) to make sure that' s the reason.
The first thing I would do is substitute some other number in TP instead of zero (to eliminate the error) to make sure that' s the reason.
it used to work OK until I wrote this function, now I call Kim's function instead of OrderModify():
void ModifyOrder(double pp=-1, double sl=0, double tp=0, datetime ex=0)
the error is gone
there is an osma type indicator, the signal is reversed when crossing 0. how do i test it on history?
Insert this function
And in your code, do a check like this
Excuse me, but if I may, one more question?
I am beginning to understand something, but not everything.
Does the first function tell the application how many open orders it has?
Please advise how to make only two pending ones appear permanently,
independently of the triggered ones.