| / | Forum |
|
oldman
2006.09.25 17:22
my expert was : Your checking is incorrect. Note that your deposit figured in dollars,
but EURUSD lot is in euro
where in usa I thought if you deposit was in usd, then your purchases would be in usd.. however I must be wrong... so should I multiply my 1000*Point*Lots to calculate the cost of each lot? |
|
All about Automated Trading Championship: Additional Materials of Championships 2006-2007 We present to you a selection of these materials that are divided into several parts. The present one contains additional materials about automated trading, Expert Advisors development, etc. |
5198 |
stringo
2006.09.25 17:41
See 'MarginCalculate' |
|
oldman
2006.09.25 18:04
so he said:
PAIRS ending with USD Factor = SPot ie AUDUSD , spot would be .7550 So each AUDUSD margin would be $755 so, substituting his SPot with Point, then I would be ok. 1000*1.2750*1lot = 1275 to purchase one lot of eur/usd with dollars. |
|
irusoh1
2006.09.25 19:54
Dollars needed to trade a lot:
double lotsize=1.0; this is number of lots you want to trade 1,2,0.5 etc. double dollars=MarketInfo(symbol,MODE_LOTSIZE)/AccountLeverage()*lotsize; if(AccountCurrency()!=StringSubstr(symbol,0,StringLen(AccountCurrency())) { if(you want to buy) dollars*=Ask; if(you want to sell) dollars*=Bid; } of course you may slip a couple of points so it's not exact. |
|
oldman
2006.09.26 20:39
so in the above example, i would have: (for eurusd)
dollars =100000/100*1 =1000 dollars per lot. ok, if that is correct, then 1 lot would cost 1000 usdollars.. so I take the present Ask which is 1.2687 and multiply that times 1000 = 1268. 70 which is what I must have in dollars in order to purchase a 1 lot of eurusd. .. is that correct? if so, and I am working in eurusd only, could I say ... if (lots * 1000 * Ask) < accountfreemargin then i can buy (1 lot * 1000 *1.2687= 1268.70 margin required) and if(lots*1000*Bid) < accountfreemargin then i can sell (1 lot * 1000*1. 2685=1268. 50 required or just to simplify the whole thing, take a little chance and go on ask only. so if(lots*1000*Ask) < accountfreemargin... do buy or sell |
|
irusoh1
2006.09.27 04:05
You can verify that,
just go ahead and buy one lot on demo account and compare this equation to a margin actually taken from the account. You will multiply by open price. It is also better to use mq4 variables and setup a function for required margin calculation: double MarginRequired(double lots); // returns dollars required This way if somehow your borker changes leverage your calculation will still be correct, or you move your account to a new broker with different leverage. |