Залог за 1 лот = 100000/leverage по курсу для
USDCAD
USDCHF
Для покупки использовать Ask. Для продажи использовать Bid.
На форуме альпари есть скрипт Инфо в исходнике. Там есть расчет стоимости залога за 1 лот в валюте депозита для любой пары.
Скрипт Инфо.mq4 http://forum.alpari-idc.ru/attachment.php?attachmentid=24380
USDCAD
USDCHF
Для покупки использовать Ask. Для продажи использовать Bid.
На форуме альпари есть скрипт Инфо в исходнике. Там есть расчет стоимости залога за 1 лот в валюте депозита для любой пары.
Скрипт Инфо.mq4 http://forum.alpari-idc.ru/attachment.php?attachmentid=24380
Я решил так:
M_AUDJPY=MarketInfo("AUDJPY",MODE_LOTSIZE)/Leverage*((MarketInfo("AUDUSD",MODE_ASK)+MarketInfo("AUDUSD",MODE_BID))/2);
M_AUDUSD=MarketInfo("AUDUSD",MODE_LOTSIZE)/Leverage*((MarketInfo("AUDUSD",MODE_ASK)+MarketInfo("AUDUSD",MODE_BID))/2);
M_CADJPY=MarketInfo("CADJPY",MODE_LOTSIZE)/Leverage*((MarketInfo("USDCAD",1/MODE_ASK)+MarketInfo("USDCAD",1/MODE_BID))/2);
M_CHFJPY=MarketInfo("CHFJPY",MODE_LOTSIZE)/Leverage*((MarketInfo("USDCHF",1/MODE_ASK)+MarketInfo("USDCHF",1/MODE_BID))/2);
M_EURAUD=MarketInfo("EURAUD",MODE_LOTSIZE)/Leverage*((MarketInfo("EURUSD",MODE_ASK)+MarketInfo("EURUSD",MODE_BID))/2);
M_EURCAD=MarketInfo("EURCAD",MODE_LOTSIZE)/Leverage*((MarketInfo("EURUSD",MODE_ASK)+MarketInfo("EURUSD",MODE_BID))/2);
M_EURCHF=MarketInfo("EURCHF",MODE_LOTSIZE)/Leverage*((MarketInfo("EURUSD",MODE_ASK)+MarketInfo("EURUSD",MODE_BID))/2);
M_EURGBP=MarketInfo("EURGBP",MODE_LOTSIZE)/Leverage*((MarketInfo("EURUSD",MODE_ASK)+MarketInfo("EURUSD",MODE_BID))/2);
M_EURUSD=MarketInfo("EURUSD",MODE_LOTSIZE)/Leverage*((MarketInfo("EURUSD",MODE_ASK)+MarketInfo("EURUSD",MODE_BID))/2);
M_EURJPY=MarketInfo("EURJPY",MODE_LOTSIZE)/Leverage*((MarketInfo("EURUSD",MODE_ASK)+MarketInfo("EURUSD",MODE_BID))/2);
M_GBPCHF=MarketInfo("GBPCHF",MODE_LOTSIZE)/Leverage*((MarketInfo("GBPUSD",MODE_ASK)+MarketInfo("GBPUSD",MODE_BID))/2);
M_GBPJPY=MarketInfo("GBPJPY",MODE_LOTSIZE)/Leverage*((MarketInfo("GBPUSD",MODE_ASK)+MarketInfo("GBPUSD",MODE_BID))/2);
M_GBPUSD=MarketInfo("GBPUSD",MODE_LOTSIZE)/Leverage*((MarketInfo("GBPUSD",MODE_ASK)+MarketInfo("GBPUSD",MODE_BID))/2);
M_USDCAD=MarketInfo("USDCAD",MODE_LOTSIZE)/Leverage;
M_USDCHF=MarketInfo("USDCHF",MODE_LOTSIZE)/Leverage;
M_USDJPY=MarketInfo("USDJPY",MODE_LOTSIZE)/Leverage;
M_AUDJPY=MarketInfo("AUDJPY",MODE_LOTSIZE)/Leverage*((MarketInfo("AUDUSD",MODE_ASK)+MarketInfo("AUDUSD",MODE_BID))/2);
M_AUDUSD=MarketInfo("AUDUSD",MODE_LOTSIZE)/Leverage*((MarketInfo("AUDUSD",MODE_ASK)+MarketInfo("AUDUSD",MODE_BID))/2);
M_CADJPY=MarketInfo("CADJPY",MODE_LOTSIZE)/Leverage*((MarketInfo("USDCAD",1/MODE_ASK)+MarketInfo("USDCAD",1/MODE_BID))/2);
M_CHFJPY=MarketInfo("CHFJPY",MODE_LOTSIZE)/Leverage*((MarketInfo("USDCHF",1/MODE_ASK)+MarketInfo("USDCHF",1/MODE_BID))/2);
M_EURAUD=MarketInfo("EURAUD",MODE_LOTSIZE)/Leverage*((MarketInfo("EURUSD",MODE_ASK)+MarketInfo("EURUSD",MODE_BID))/2);
M_EURCAD=MarketInfo("EURCAD",MODE_LOTSIZE)/Leverage*((MarketInfo("EURUSD",MODE_ASK)+MarketInfo("EURUSD",MODE_BID))/2);
M_EURCHF=MarketInfo("EURCHF",MODE_LOTSIZE)/Leverage*((MarketInfo("EURUSD",MODE_ASK)+MarketInfo("EURUSD",MODE_BID))/2);
M_EURGBP=MarketInfo("EURGBP",MODE_LOTSIZE)/Leverage*((MarketInfo("EURUSD",MODE_ASK)+MarketInfo("EURUSD",MODE_BID))/2);
M_EURUSD=MarketInfo("EURUSD",MODE_LOTSIZE)/Leverage*((MarketInfo("EURUSD",MODE_ASK)+MarketInfo("EURUSD",MODE_BID))/2);
M_EURJPY=MarketInfo("EURJPY",MODE_LOTSIZE)/Leverage*((MarketInfo("EURUSD",MODE_ASK)+MarketInfo("EURUSD",MODE_BID))/2);
M_GBPCHF=MarketInfo("GBPCHF",MODE_LOTSIZE)/Leverage*((MarketInfo("GBPUSD",MODE_ASK)+MarketInfo("GBPUSD",MODE_BID))/2);
M_GBPJPY=MarketInfo("GBPJPY",MODE_LOTSIZE)/Leverage*((MarketInfo("GBPUSD",MODE_ASK)+MarketInfo("GBPUSD",MODE_BID))/2);
M_GBPUSD=MarketInfo("GBPUSD",MODE_LOTSIZE)/Leverage*((MarketInfo("GBPUSD",MODE_ASK)+MarketInfo("GBPUSD",MODE_BID))/2);
M_USDCAD=MarketInfo("USDCAD",MODE_LOTSIZE)/Leverage;
M_USDCHF=MarketInfo("USDCHF",MODE_LOTSIZE)/Leverage;
M_USDJPY=MarketInfo("USDJPY",MODE_LOTSIZE)/Leverage;
Средняя цена может не дать нужной точности. Скажем, если захочешь открыть максимально доступное число лотов. Нужно для покупки использовать курс MarketInfo(base+сurrency,MODE_ASK), для продажи - курс MarketInfo (base+сurrency,MODE_BID). А в остальном правильных ход мыслей.
Здесь
base - базовая валюта пары (первые три буквы),
сurrency - валюта счета, обычно USD.
Если base=сurrency, то использовать курс=1. Для USDCHF, USDJPY, USDCAD, и т.д.
Здесь
base - базовая валюта пары (первые три буквы),
сurrency - валюта счета, обычно USD.
Если base=сurrency, то использовать курс=1. Для USDCHF, USDJPY, USDCAD, и т.д.
Спасибо за поддержку. Но сверх точность до центов мне не нужна. И громоздить код не хочется.
Точность не бывает сверх. Точность бывает X знаков. Программирование не оперирует примерными понятиями. Оно оперирует истинными и ложными понятиями. - "Седня ты прогрешность дал, а завтра родину продал" (© Л.П.Берия).
Точность не бывает сверх. Точность бывает X знаков. Программирование не оперирует примерными понятиями. Оно оперирует истинными и ложными понятиями. - "Седня ты примерно определил курс валюты, завтра родину продал" (© Л.П.Берия).
Потешил. Спасибо.
Для моей задачи достаточная точность.
Только скорее будет
M_CHFJPY=Lot*MarketInfo("CHFJPY",MODE_LOTSIZE)/AccountLeverage()*2/(MarketInfo("USDCHF",MODE_ASK)+MarketInfo("USDCHF",MODE_BID));
M_CHFJPY=Lot*MarketInfo("CHFJPY",MODE_LOTSIZE)/AccountLeverage()*2/(MarketInfo("USDCHF",MODE_ASK)+MarketInfo("USDCHF",MODE_BID));
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
CADJPY
CHFJPY