You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
No, it's a kind of advice on how to learn. People are so far able to acquire knowledge only through parallel study of theory with application in practice, there is no such thing or trinket that you push a button or swallow a pill and you know everything.
If you have zero knowledge in programming, you don't know any language, it is better to start with C++, there are so many tutorials, webinars and other courses on the Internet, that you can't listen to them all even 24/7. The main thing is the basics. Since MQL and C++ are very similar, the programming of algorithms for MT4 or 5 will also be easier.
You just need to start learning rather than whining.
I had such an idea about C++, thanks for the tip.
You should not confuse programming languages, otherwise it will be like in the proverb: "two birds with one stone...", "on two chairs...".
If you just need to code in mql, then learn mql.
In general, my good advice - start learning mql5, it has a future, otherwise you won't need it before you learn mql4.
If everything will work as intended, then yes. But there are always a few ways to both make a thing and mess it up ;)
Hello!Can you tell me if you can - when installing an EA, which MQL4 folder does the PDF file go in?!
Good day to all good people ...
Below is the code of Trailing Stop function, who can explain the meaning ofOrderStopLoss()!=0 highlighted in the code, why it is applicable, in this case, only forOrderType()==1. ..?
...And another, more important question - how to write in this code the condition according to which only one of several open market orders meeting StopLoss requirements will be triggered? I.e. if we have two or more open orders of the same direction, only the one closest to the market price will be modified.
int TralFunck(int Ticket)
{
double TralPrice=0,Punkt=0;
chk=OrderSelect(Ticket,SELECT_BY_TICKET,MODE_TRADES);
if(OrderProfit()<=0)return(0);
if(OrderType()==0){Punkt=(Bid-OrderOpenPrice())/Point;TralPrice=NormalizeDouble((Bid-Tral*D*Point),Digits);}
if(OrderType()==1){Punkt=(OrderOpenPrice()-Ask)/Point;TralPrice=NormalizeDouble((Ask+Tral*D*Point),Digits);}
if(Punkt<MarketInfo(Symbol(),MODE_STOPLEVEL))return(0);
if(Punkt<(Tral+TP)*D)return(0);
if(OrderType()==0 && TralPrice<=NormalizeDouble(OrderStopLoss(),Digits))return(0);
if(OrderType()==1 && TralPrice>=NormalizeDouble(OrderStopLoss(),Digits) && OrderStopLoss()!=0)return(0);
ModifyOrder(OrderTicket(),OrderOpenPrice(),TralPrice,OrderTakeProfit());
return(0);
}
... Thanks in advance to all who responded for any response !!!