- Accueil
- Communauté
- Programmation
- Best forums for discussing beginner-friendly MQL4 scripting?...
Advertisement
Edit Your Comment
Best forums for discussing beginner-friendly MQL4 scripting?
Jan 29, 2017 at 08:16
(édité Jan 29, 2017 at 01:30)
Membre depuis Jan 25, 2017
posts 12
I'm trying to devise a way to calculate a Breakeven point across multiple orders, then update my orders once the threshold has been crossed across the multiple pair average.
I would also like to calculate a Take Profit across multiple orders, then update my take profit when new orders are entered.
This is something I intuitively do while manually trading, but I'm having some difficulty typing it out.
How would you break this down in pseudo-code? Are there some beginner-friendly MQL4 scripting forums to discuss this sort of thing?
I would also like to calculate a Take Profit across multiple orders, then update my take profit when new orders are entered.
This is something I intuitively do while manually trading, but I'm having some difficulty typing it out.
How would you break this down in pseudo-code? Are there some beginner-friendly MQL4 scripting forums to discuss this sort of thing?
Jan 29, 2017 at 13:02
Membre depuis Sep 20, 2014
posts 342
Well, you can start by clearly defining what you want to do. I can see you haven't.
You're talking about apples and pears. First its BE on multiple orders (or is that positions as orders haven't been hit yet to create positions ?) and then it's multiple pairs average, so how does that work on say Eurusd at 1.20 v. UsdJpy on 121.00 something ? What's the average of a 100 units EurUsd at 1.20 and 112 units UsdJpy at 121.00?
To do what you want to do, if I read it correctly, you'd have to work out the weighted average on each pair you're trading, and then convert ALL OF THEM to a USD value, iow's create a USD weighted average of the weighted averages of your positions. If you intend to do it correctly that is. And to code that is a shit load of work. At least a thousand lines of code, maybe more.
It's not for an amateur. You need to know what you're doing to do this. But doing it will be absolutely invaluable to your trading. It is well worth doing even if it is difficult. And it's not valuable because of any result it gives you, it's valuable because it will teach you how to view fx positions as quantifiable assets and calculate their value at any given time.
In effect it also means you're trading USD against everything. Is that what you want to do ? Because that's what you're about to do. And USD moves around in value all the time, so your targets are moving.
So now that we've had a look at a few of the details, tell me clearly and concisely what you want to do and I will see if I can help.
In the meantime I suggest a bit of study on weighted averages, that's essentially your question: http://www.investopedia.com/terms/w/weightedaverage.asp
You're talking about apples and pears. First its BE on multiple orders (or is that positions as orders haven't been hit yet to create positions ?) and then it's multiple pairs average, so how does that work on say Eurusd at 1.20 v. UsdJpy on 121.00 something ? What's the average of a 100 units EurUsd at 1.20 and 112 units UsdJpy at 121.00?
To do what you want to do, if I read it correctly, you'd have to work out the weighted average on each pair you're trading, and then convert ALL OF THEM to a USD value, iow's create a USD weighted average of the weighted averages of your positions. If you intend to do it correctly that is. And to code that is a shit load of work. At least a thousand lines of code, maybe more.
It's not for an amateur. You need to know what you're doing to do this. But doing it will be absolutely invaluable to your trading. It is well worth doing even if it is difficult. And it's not valuable because of any result it gives you, it's valuable because it will teach you how to view fx positions as quantifiable assets and calculate their value at any given time.
In effect it also means you're trading USD against everything. Is that what you want to do ? Because that's what you're about to do. And USD moves around in value all the time, so your targets are moving.
So now that we've had a look at a few of the details, tell me clearly and concisely what you want to do and I will see if I can help.
In the meantime I suggest a bit of study on weighted averages, that's essentially your question: http://www.investopedia.com/terms/w/weightedaverage.asp
Membre depuis Aug 20, 2009
posts 256
Jan 30, 2017 at 08:11
Membre depuis Aug 20, 2009
posts 256
Here you go........it is a function that takes a MagicNumber and Symbol and returns the Weighted-Cost Average entry price for all the orders. You simply add your TP to that price........
//+------------------------------------------------------------------+
double Get_WCA_Entry(int l_Magic, string l_Symbol)
{
double
Entry,
Price_x_Lots=0,
Sum_Lots=0,
WCA_TP=0;
int dig = (int)MarketInfo(l_Symbol,MODE_DIGITS);
//|............
for(int i = OrdersTotal()-1;i>=0;i--){
if(OrderSelect(i,SELECT_BY_POS)){
if(OrderType()>1)continue;
if(OrderMagicNumber()==l_Magic){
if(OrderSymbol()==l_Symbol){
Price_x_Lots += OrderOpenPrice() * OrderLots();
Sum_Lots += OrderLots();
}
}
}
}
if(Sum_Lots==0){
Print(OrderSymbol() + " divide zero error trapped in Get_WCA_Entry. l_Symbol = " + l_Symbol);
return(-1);
}
Entry = Price_x_Lots/Sum_Lots;
return(Entry);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
double Get_WCA_Entry(int l_Magic, string l_Symbol)
{
double
Entry,
Price_x_Lots=0,
Sum_Lots=0,
WCA_TP=0;
int dig = (int)MarketInfo(l_Symbol,MODE_DIGITS);
//|............
for(int i = OrdersTotal()-1;i>=0;i--){
if(OrderSelect(i,SELECT_BY_POS)){
if(OrderType()>1)continue;
if(OrderMagicNumber()==l_Magic){
if(OrderSymbol()==l_Symbol){
Price_x_Lots += OrderOpenPrice() * OrderLots();
Sum_Lots += OrderLots();
}
}
}
}
if(Sum_Lots==0){
Print(OrderSymbol() + " divide zero error trapped in Get_WCA_Entry. l_Symbol = " + l_Symbol);
return(-1);
}
Entry = Price_x_Lots/Sum_Lots;
return(Entry);
}
//+------------------------------------------------------------------+
Wealth Creation Through Technology
Jan 30, 2017 at 08:52
Membre depuis Sep 20, 2014
posts 342
So @compuforexpamm, where exactly in this is the conversion to compare say a JPY position to a EURO position or a USD position to compare "once the threshold has been crossed across the multiple pair average "?
Each pair has to go to a single value to be comparable. That code is useless for his purposes.
Each pair has to go to a single value to be comparable. That code is useless for his purposes.

forex_trader_367321
Membre depuis Oct 08, 2016
posts 44
Feb 08, 2017 at 06:03
(édité Feb 08, 2017 at 06:03)
Membre depuis Sep 20, 2014
posts 342
You can code. Why are you looking to get people to code for you ? What's really going on ? But then again it doesn't really matter, does it?
I think I'll go drink beer at the pool for a few hours. Good luck with whatever the latest scheme is.
I think I'll go drink beer at the pool for a few hours. Good luck with whatever the latest scheme is.
Membre depuis Feb 22, 2011
posts 4573
Feb 09, 2017 at 16:05
Membre depuis Feb 22, 2011
posts 4573
benchmarkpro posted:
fxftw,
if you are fortunate to find a good software composer, please forward his contact information to me when you are finished with him.
I ask for good composer with good hygiene habits and good manners.
Thank you.
You dont seem to have
good hygiene habits

*Lutilisation commerciale et le spam ne seront pas tolérés et peuvent entraîner la fermeture du compte.
Conseil : Poster une image/une url YouTube sera automatiquement intégrée dans votre message!
Conseil : Tapez le signe @ pour compléter automatiquement un nom dutilisateur participant à cette discussion.