![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
double StoimPunkt(string B)
{RefreshRates();
double S = MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT));
return(S);}
//+-----------------------------------------------------
всегда пользовался этой функцией, это стоимость пункта при 1 лоте
double StoimPunkt(string B)
{RefreshRates();
double S = MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT));
return(S);}
//+-----------------------------------------------------
всегда пользовался этой функцией, это стоимость пункта при 1 лоте
Вместо первой функции в формуле можно написать как предложил getch для универсальности:
А на ошибку деления на ноль проверять не надо?
можно добавить, хотя мне это не нужно
//------------------------------------------------------
double StoimPunkt(string B)
{RefreshRates();
if(MarketInfo(B,MODE_TICKVALUE)!=0&&MarketInfo(B,MODE_TICKSIZE)!=0&&MarketInfo(B,MODE_POINT)!=0){
double S = MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT));}
return(S);}
//+-----------------------------------------------------
Подскажите пожалуйста, верно ли записаны формулы для расчета стоимости 1 пункта для 1 лота?
EURUSD 0,0001*100000
GBPUSD 0,0001*100000
AUDUSD 0,0001*100000
NZDUSD 0,0001*100000
USDCAD 0,0001*100000/USDCAD
USDCHF 0,0001*100000/USDCHF
USDJPY 0,01*100000/USDJPY
EURGBP 0,0001*100000*EURUSD/EURGBP
EURAUD 0,0001*100000*EURUSD/EURAUD
EURNZD 0,0001*100000*EURUSD/EURNZD
EURCAD 0,0001*100000*EURUSD/EURCAD
EURCHF 0,0001*100000*EURUSD/EURCHF
EURJPY 0,01*100000*EURUSD/EURJPY
GBPAUD 0,0001*100000*GBPUSD/GBPAUD
GBPNZD 0,0001*100000*GBPUSD/GBPNZD
GBPCAD 0,0001*100000*GBPUSD/GBPCAD
GBPCHF 0,0001*100000*GBPUSD/GBPCHF
GBPJPY 0,01*100000*GBPUSD/GBPJPY
AUDNZD 0,0001*100000*AUDUSD/AUDNZD
AUDCAD 0,0001*100000*AUDUSD/AUDCAD
AUDCHF 0,0001*100000*AUDUSD/AUDCHF
AUDJPY 0,01*100000*AUDUSD/AUDJPY
NZDCAD 0,0001*100000*NZDUSD/NZDCAD
NZDCHF 0,0001*100000*NZDUSD/NZDCHF
NZDJPY 0,01*100000*NZDUSD/NZDJPY
CADCHF 0,0001*100000*USDCAD*CADCHF
CADJPY 0,01*100000*USDCAD/CADJPY
CHFJPY 0,01*100000*USDCHF/CHFJPY
За ответ, заранее благодарю!
p.s. в особенности интересует верность последних 3х формул!Подскажите пожалуйста, верно ли записаны формулы для расчета стоимости 1 пункта для 1 лота?
,,,
За ответ, заранее благодарю!
p.s. в особенности интересует верность последних 3х формул!Чем же универсальное решение не устраивает?
Даже не знаю, что вам ответить, т.к. я не программер и сперва мне нужны расчеты в экселе для просмотра изменений стоимости пункта на истории на каждом баре!
Пока будете у брокера с 4-значными котировками и стандартным лотом в 100к единиц, всё будет верно, а вот если переедете к нестандартному брокеру или с 5-значными котировками, то придётся пересчитывать.
З.Ы.: Кроме кроссов, там формулы у вас неправильные какие-то, погуглите правильные.
Пока будете у брокера с 4-значными котировками и стандартным лотом в 100к единиц, всё будет верно, а вот если переедете к нестандартному брокеру или с 5-значными котировками, то придётся пересчитывать.
З.Ы.: Кроме кроссов, там формулы у вас неправильные какие-то, погуглите правильные.
А в чем именно разница стоимости пункта на 4х или 5ти значных котировках, если имеется ввиду стоимость пункта, а не пипса, именно 4ого знака после запятой, что в 4х или в 5ти значных котировках?
Я погуглил еще до вопроса и по этому описанию http://forex-mix.ru/base/stoimost-punkta-na-forex.php составил формулы. Закрались сомнения, вот поэтому и спросил!
И что значит "не правильные какие-то"? А по конкретнее можно? Я ведь не экстрасенс! :)
А в чем именно разница стоимости пункта на 4х или 5ти значных котировках, если имеется ввиду стоимость пункта, а не пипса, именно 4ого знака после запятой, что в 4х или в 5ти значных котировках?
Я погуглил еще до вопроса и по этому описанию http://forex-mix.ru/base/stoimost-punkta-na-forex.php составил формулы. Закрались сомнения, вот поэтому и спросил!
И что значит "не правильные какие-то"? А по конкретнее можно? Я ведь не экстрасенс! :)
Для ручных расчётов разницы может и нет, а для автомата при 5-знаке и подмене числа 0,0001 реальным значением пункта результат будет в 10 раз меньше. Кроме того, есть брокеры, у которых лот 1000 единиц (центовый) или стандартный лот = 10000 единиц (как в инстафорексе). Там тоже результат неожиданный получится.
А про неправильные формулы, вот, например, ваша формула для CADCHF 0,0001*100000*USDCAD*CADCHF - откуда такое? Результат расчёта и близко не равен стоимости пункта CADCHF - 0.0001*100000*1.1655*0.8258=9,62
правильная формула будет 0,0001*100000/USDCHF = 0.0001*100000/0.9638=10,38
А ещё правильнее будет в программе возвращать
double tkv=MarketInfo(NULL,MODE_TICKVALUE);
Для ручных расчётов разницы может и нет, а для автомата при 5-знаке и подмене числа 0,0001 реальным значением пункта результат будет в 10 раз меньше. Кроме того, есть брокеры, у которых лот 1000 единиц (центовый) или стандартный лот = 10000 единиц (как в инстафорексе). Там тоже результат неожиданный получится.
А про неправильные формулы, вот, например, ваша формула для CADCHF 0,0001*100000*USDCAD*CADCHF - откуда такое? Результат расчёта и близко не равен стоимости пункта CADCHF - 0.0001*100000*1.1655*0.8258=9,62
правильная формула будет 0,0001*100000/USDCHF = 0.0001*100000/0.9638=10,38
А ещё правильнее будет в программе возвращать
double tkv=MarketInfo(NULL,MODE_TICKVALUE);
Ну, если бы я был программером или хотя бы немного шарил, то наверно так бы и сделал и не парил себе мозги!
А пока у меня задача для экселя - получить стоимость пункта (4ый знак после запятой) на каждом баре для нормального стандартного лота, который используют все дилеры, кроме инстафорекс!
И по поводу CADCHF - разве для расчета кросс-курса не надо использовать 2 валютные пары с USD? USDCAD и USDCHF
Куда в ваше формуле делась пара USDCAD?
Как пример: для EURUSD 1 пункт (1.24500 - 4 знак после запятой) = 10$. По этому же принципу мне необходимо рассчитать все пары!