Вопрос к знатокам, которые знают то, что не написано в справке. Мне нужна стоимость пункта для вычисления лота, согласно проценту риска по стоп лоссу от свободной маржи (классический риск менеджмент).
В справке MQL4 дается довольно сжатое описание этого параметра:
MODE_TICKVALUE |
16 |
Размер минимального изменения цены инструмента в валюте депозита |
С справке MQL5 есть аж три параметра:
Значение SYMBOL_TRADE_TICK_VALUE_PROFIT | double | |
SYMBOL_TRADE_TICK_VALUE_PROFIT | Рассчитанная стоимость тика для прибыльной позиции | double |
SYMBOL_TRADE_TICK_VALUE_LOSS | Рассчитанная стоимость тика для убыточной позиции | double |
Всё, что я понял, это то, что SYMBOL_TRADE_TICK_VALUE и SYMBOL_TRADE_TICK_VALUE_PROFIT, это абсолютно одинаковые флаги по смыслу. И,поэтому, у меня возник вопрос. Может, для вычисления лота по риск менеджменту следует взять SYMBOL_TRADE_TICK_VALUE_LOSS, а не SYMBOL_TRADE_TICK_VALUE, раз лот вычисляется от процента риска по СЛ?
И еще один вопрос, это как раз то, что я не нашел в справке. Что такое, Размер минимального изменения цены инструмента в валюте депозита и
Рассчитанная стоимость тика? При каком объеме изменение цены на 1 пункт будет приводить к изменению прибыли позиции на
SYMBOL_TRADE_TICK_VALUE или SYMBOL_TRADE_TICK_VALUE_LOSS? На сколько я понял, при объеме в 1 лот. Но это только мои догадки. В справке об этом ничего нет.
Для пятерки стоит посмотреть, как вычисляется в СБ в Trade\SymbolInfo.mqh
Для пятерки стоит посмотреть, как вычисляется в СБ в Trade\SymbolInfo.mqh
Да, действительно, помню, что где-то в исходниках было вычисление лота по РМ. Спасибо, Алексей! Обязательно посмотрю.
Но, все же, мне бы хотелось подробно узнать, что такое стоимость тика.
Да, действительно, помню, что где-то в исходниках было вычисление лота по РМ. Спасибо, Алексей! Обязательно посмотрю.
Но, все же, мне бы хотелось подробно узнать, что такое стоимость тика.
Не ломайте голову и берите SYMBOL_TRADE_TICK_VALUE
В зависимости от типа торговли (форекс, акции, опционы и т.д. ) оно может рассчитываться по разному, а так получите правильное значение.
Далее спрашиваете
И еще один вопрос, это как раз то, что я не нашел в справке. Что такое, Размер минимального изменения цены инструмента в валюте депозита и
Рассчитанная стоимость тика? При каком объеме изменение цены на 1 пункт будет приводить к изменению прибыли позиции на
SYMBOL_TRADE_TICK_VALUE или SYMBOL_TRADE_TICK_VALUE_LOSS? На сколько я понял, при объеме в 1 лот. Но это только мои догадки. В справке об этом ничего нет.
Опять же, я знаю, как расчитывается на форе, но ведь есть еще куча рынков. МК сделали универсальный вариант, не ломайте голову, что там внутри.
Не ломайте голову и берите SYMBOL_TRADE_TICK_VALUE
В зависимости от типа торговли (форекс, акции, опционы и т.д. ) оно может рассчитываться по разному, а так получите правильное значение.
Далее спрашиваете
И еще один вопрос, это как раз то, что я не нашел в справке. Что такое, Размер минимального изменения цены инструмента в валюте депозита и
Рассчитанная стоимость тика? При каком объеме изменение цены на 1 пункт будет приводить к изменению прибыли позиции на
SYMBOL_TRADE_TICK_VALUE или SYMBOL_TRADE_TICK_VALUE_LOSS? На сколько я понял, при объеме в 1 лот. Но это только мои догадки. В справке об этом ничего нет.
Опять же, я знаю, как расчитывается на форе, но ведь есть еще куча рынков. МК сделали универсальный вариант, не ломайте голову, что там внутри.
Поставил SYMBOL_TRADE_TICK_VALUE в функцию вычисления лота. Работает, как в MT4. Но может же работать и лучше?
Не ломать голову или не вдаваться в подробности, думаю, это немного неправильный подход, тем более, если есть желание докопаться до сути.
Поставил SYMBOL_TRADE_TICK_VALUE в функцию вычисления лота. Работает, как в MT4. Но может же работать и лучше?
Не ломать голову или не вдаваться в подробности, думаю, это немного неправильный подход, тем более, если есть желание докопаться до сути.
я как-то вел группу по обучению программированию на mql4
и был там такой товарищ, его постоянно мучали вопросы типа,- а почему функция называется OrderSend, а не SendOrder? Почему параметры в ней передаются в такой последовательности, а не в такой?
помню, отучились все с разным успехом, я их немного сопровождал и по вечерам собирались на летучку в скайпе
народ живо интересовался, - Саша, над чем сейчас бьется твой мозг?
- не могу понять, почему в MQL знак умножения звездочка, а не буква x, как в школе?
- Саш, ну тут же все просто! Большинство людей правши, звездочка на клавиатуре справа, а буква x слева!
Тут я прям через пространство почувствовал, как просветлело Сашино лицо, - ну как же я не допер, сейчас в тетрадку запишу!
- Саш, тетрадь-то большая?
- Да, 96 листов, уже всю исписал
Это я к тому, что вырастил великого программиста, до сих пор горжусь. А вы уже купили тетрадку для записи вопросов?
-----
Без обид)) Настроение хорошее, а история, кстати, реальная.
Кстати, вот реальная задачка по близкой теме
Написал две функции, первую реально использую давно в советниках, чтобы задавать SL, TP и подобные величины не в пунктах, а в долларах на лот (для валюты депо доллары).
И понадобилось написать обратную, но что-то я не очень уверен...правильная или может сбойнуть? Как считаете?
//+------------------------------------------------------------------+ // Преобразует цену "валюта депозита/лот" в разницу котировок. // Например, спред для пары EURUSD и валюты депозита USD, равный $16/лот для лота 100000 ед. базовой валюты пары EUR, будет равен 0.00016. //+------------------------------------------------------------------+ bool Price2Quote(double &diff, double price4lot, string symbol) { long dig = 0; double tickSize, tickValue; if(!SymbolInfoInteger(symbol, SYMBOL_DIGITS, dig)) return(false); // операция неуспешна if(!SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_SIZE, tickSize)) return(false); if(!SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE, tickValue)) return(false); if(tickValue > 0) { diff = price4lot*tickSize / tickValue; diff = NormalizeDouble(diff, (int)dig); } else return false; return true; } //+------------------------------------------------------------------+ // Преобразует разницу котировок в цену "валюта депозита/лот". // Например, спред 0.00016 для пары EURUSD и валюты депозита USD будет равен $16/лот для лота 100000 ед. базовой валюты пары EUR. //+------------------------------------------------------------------+ bool Quote2Price(double diff, double &price4lot, string symbol) { long dig = 0; double tickSize, tickValue; if(!SymbolInfoInteger(symbol, SYMBOL_DIGITS, dig)) return(false); // операция неуспешна if(!SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_SIZE, tickSize)) // пункт в валюте котировки (0,00001 для EURUSD на 5-знаке) return(false); if(!SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE, tickValue)) // пункт в валюте депозита ($1 для EURUSD на 5-знаке) return(false); if(tickValue > 0) { double price = diff/(tickSize/tickValue); price4lot = NormalizeDouble(price, dig); } return true; }
я как-то вел группу по обучению программированию на mql4
и был там такой товарищ, его постоянно мучали вопросы типа,- а почему функция называется OrderSend, а не SendOrder? Почему параметры в ней передаются в такой последовательности, а не в такой?
помню, отучились все с разным успехом, я их немного сопровождал и по вечерам собирались на летучку в скайпе
народ живо интересовался, - Саша, над чем сейчас бьется твой мозг?
- не могу понять, почему в MQL знак умножения звездочка, а не буква x, как в школе?
- Саш, ну тут же все просто! Большинство людей правши, звездочка на клавиатуре справа, а буква x слева!
Тут я прям через пространство почувствовал, как просветлело Сашино лицо, - ну как же я не допер, сейчас в тетрадку запишу!
- Саш, тетрадь-то большая?
- Да, 96 листов, уже всю исписал
Это я к тому, что вырастил великого программиста, до сих пор горжусь. А вы уже купили тетрадку для записи вопросов?
-----
Без обид)) Настроение хорошее, а история, кстати, реальная.
Я правша, а печатаю левой рукой. Кстати есть еще английская X- она слева.
Брат правша, а мяч ведет левой ногой, и бьет точнее с левой.(бьет по мячу)
я как-то вел группу по обучению программированию на mql4
и был там такой товарищ, его постоянно мучали вопросы типа,- а почему функция называется OrderSend, а не SendOrder? Почему параметры в ней передаются в такой последовательности, а не в такой?
помню, отучились все с разным успехом, я их немного сопровождал и по вечерам собирались на летучку в скайпе
народ живо интересовался, - Саша, над чем сейчас бьется твой мозг?
- не могу понять, почему в MQL знак умножения звездочка, а не буква x, как в школе?
- Саш, ну тут же все просто! Большинство людей правши, звездочка на клавиатуре справа, а буква x слева!
Тут я прям через пространство почувствовал, как просветлело Сашино лицо, - ну как же я не допер, сейчас в тетрадку запишу!
- Саш, тетрадь-то большая?
- Да, 96 листов, уже всю исписал
Это я к тому, что вырастил великого программиста, до сих пор горжусь. А вы уже купили тетрадку для записи вопросов?
-----
Без обид)) Настроение хорошее, а история, кстати, реальная.
:)))
Всё это ерунда. У меня тоже хорошее настроение. Поэтому, от души посмеялся :)
Но я одного не пойму. Зачем это писать, если не знаете правильного ответа на вопрос данной темы?
Я правша, а печатаю левой рукой.
Я правша, а печатаю левой рукой. Кстати есть еще английская X- она слева.
Брат правша, а мяч ведет левой ногой, и бьет точнее с левой.(бьет по мячу)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вопрос к знатокам, которые знают то, что не написано в справке. Мне нужна стоимость пункта для вычисления лота, согласно проценту риска по стоп лоссу от свободной маржи (классический риск менеджмент).
В справке MQL4 дается довольно сжатое описание этого параметра:
MODE_TICKVALUE
16
Размер минимального изменения цены инструмента в валюте депозита
С справке MQL5 есть аж три параметра:
SYMBOL_TRADE_TICK_VALUE
Значение SYMBOL_TRADE_TICK_VALUE_PROFIT
double
SYMBOL_TRADE_TICK_VALUE_PROFIT
Рассчитанная стоимость тика для прибыльной позиции
double
SYMBOL_TRADE_TICK_VALUE_LOSS
Рассчитанная стоимость тика для убыточной позиции
double
Всё, что я понял, это то, что SYMBOL_TRADE_TICK_VALUE и SYMBOL_TRADE_TICK_VALUE_PROFIT, это абсолютно одинаковые флаги по смыслу. И,поэтому, у меня возник вопрос. Может, для вычисления лота по риск менеджменту следует взять SYMBOL_TRADE_TICK_VALUE_LOSS, а не SYMBOL_TRADE_TICK_VALUE, раз лот вычисляется от процента риска по СЛ?
И еще один вопрос, это как раз то, что я не нашел в справке. Что такое, Размер минимального изменения цены инструмента в валюте депозита и
Рассчитанная стоимость тика? При каком объеме изменение цены на 1 пункт будет приводить к изменению прибыли позиции на
SYMBOL_TRADE_TICK_VALUE или SYMBOL_TRADE_TICK_VALUE_LOSS? На сколько я понял, при объеме в 1 лот. Но это только мои догадки. В справке об этом ничего нет.