На этой неделе торговля вас может удивить. Особенно, если у вас все позиции закрыты, и вы открываете новую. У вас может просто не хватить средств на покрытие маржи для новой позиции. Ответ прост — ждем референдума в Великобритании, и поэтому
многие брокеры перестраховались и изменили размер плеча до 25, и даже до 10.
Т.е. если у меня при плече 500 и при лоте 0.01 на паре eur/usd маржинальные требования примерно составят 2.26$, то при плече 25 эта цифра будет 45.27!
Но как я не перечитывала несколько раз новость от брокера, так и не поняла, затронут ли изменения конкретно мой счет. Поэтому лучше перестраховаться, и перед открытием позиции всё проверить. Для этого напишем небольшой скрипт.
Итак, создаем в MetaEditor скрипт. Перед функцией OnStart() помещаем входящий параметр — лот, с каким мы торгуем:
#property show_inputs
//------- external parameters ---------------------------------------+
extern double Lot = 0.01; // Лот
В функцию OnStart() записываем следующее:
//---
double _buyM = AccountFreeMargin()-AccountFreeMarginCheck(Symbol(), OP_SELL, Lot);
double _sellM = AccountFreeMargin()-AccountFreeMarginCheck(Symbol(), OP_BUY, Lot);
double _marga = AccountMargin();
double _SbuyM = _marga+_buyM;
double _SsellM = _marga+_sellM;
Alert("----------------------------------------------------------------------------------------------");
Alert("SELL лот = ", Lot," маржа: ", DoubleToSubstring(_buyM, 3), " Итого маржа составит: ", DoubleToSubstring(_SbuyM, 3));
Alert("BUY лот = ", Lot," маржа: ", DoubleToSubstring(_sellM, 3), " Итого маржа составит: ", DoubleToSubstring(_SsellM, 3));
Alert("Текущая маржа: ", DoubleToSubstring(_marga, 3));
Alert("Плечо: ", AccountInfoInteger(ACCOUNT_LEVERAGE));
И ниже добавляем небольшую функцию, которая округляет дробные числа, когда переводит их в текст:
//+------------------------------------------------------------------+
string DoubleToSubstring (double _toString, int _afterPoint=5) {
string _txt = (string)_toString;
int _i = StringFind(_txt, ".", 0);
if(_i!=-1)
_txt = StringSubstr(_txt, 0, _i+_afterPoint+1);
return(_txt);
}
//+------------------------------------------------------------------+
Вот, у меня не было открыто позиций, и я проверила плечо и маржу:
Потом я открыла несколько позиций и собиралась открыть еще одну. И перед её открытием запустила скрипт, проверить будущую величину маржи:
Сами файлы скрипта:
Info_marga.ex4 (7 Kb)
Info_marga.mq4 (2 Kb)
Комментарии (8)
Специально перед открытием сделки проверила:
Открыла сделку и ВОТ:
27 Oxy Автор Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
13 writelint00 Сообщений: 592 - writelint
Она конкретно по символу, на котором запущен скрипт, должна определить сколько свободных средств останется после открытия позиции. Вот она не увидела изменений!
27 Oxy Автор Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
13 writelint00 Сообщений: 592 - writelint
27 Oxy Автор Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
20 Anatoly74 Сообщений: 3710 - Анатолий
явно брокеры как-то хитро изменили плечо
27 Oxy Автор Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
27 Oxy Автор Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий