может не стоит так заморачиваться и использовать уже готовые данные для расчетов или они неправильно считают ?
в противном случае ищите по форуму была такая тема ..
Считают то они, может быть и правильно. Мой вопрос вызван желанием разобраться в процессах, а в интернетах только копипаста. Часто даже с ошибками. И если МТ4 считает так как считает, а я этого не разумею, то мои знания не верны либо не полны. Уж кому, как не разработкчикам МТ, достоверно знать о предмете обсуждения? Форум я уже хорошенько покурил, сходных тем не попалось... Возможно кто-то покажет ссылкой?
Приветствую.
Кто-то может понятно рассказать или же указать литературу для прочтения, как переводить маржу и прибыль/убыток по ордеру в валюту депо. Что-то я в трех соснах заблудился, а интернеты, как-то, истину утаивают. Здорово получить наглядное объяснение на следующих примерах:
https://www.mql5.com/ru/forum/131853/page2 "Как рассчитать стоимость пункта, маржу, результат операции?"
2icas: Благодарствую за ссылку.
К сожалению, это не то. Как рассчитывать параметры - не секрет. В частности в статье по ссылке есть фраза, что надо результат разделить на текущий курс пары или умножить на текущую котировку... Вобщем, правильно, а на каую из двух? Ведь в любой момент времени есть две котировки по любому инструменту: котировка ASK и котировка BID. Собственно, этот вопрос я поднял в топе.
Не совсем понятно: что Вам нужно, какая цель?
Я пользуюсь операторами:
MarketInfo(Symbol(),MODE_MARGINREQUIRED); MarketInfo(Symbol(),MODE_TICKVALUE); OrderProfit();
Цель следующая: понять, почему считается именно так, и где мое понимание не верно (вопрос в первом посте). Как считает MT4 и его матфункциоанл мне известны. Я не оспариваю ни математику, ни логику ПО. Я его не разумею и потому задаю вопрос. :-) Вот пример:
Валюта депо - USD
Плечо 1:100.
Инструмент EURUSD.
Позиция короткая.
ASK = 1.29599
BID = 1.29572
Объем ордера = 1 лот
Маржа = 1000 EUR, (выделю отдельным пунктом)
МТ4 считает что маржа по этому ордеру в USD = 1295.72 USD, конвертируя значение маржи в валюту депо по цене открытия ордера, который является курсом BID на момент открытия ордера:
100000 * 1,29572 = 129572 USD (и уже от этого значения считает залог согласно плечу) 129572 / 100 = 1295.72 USD.
Но, маржа считается в базовой валюте. В данном примере она составляет 100000 / 100 = 1000 EUR, которых на счету никак нет, ибо счет в USD.
Почему в данном примере маржа считается не с базовой валюты, а результата операции sell?
Цель следующая: понять, почему считается именно так, и где мое понимание не верно (вопрос в первом посте). Как считает MT4 и его матфункциоанл мне известны. Я не оспариваю ни математику, ни логику ПО. Я его не разумею и потому задаю вопрос. :-) Вот пример:
Валюта депо - USD
Плечо 1:100.
Инструмент EURUSD.
Позиция короткая.
ASK = 1.29599
BID = 1.29572
Объем ордера = 1 лот
Маржа = 1000 EUR, (выделю отдельным пунктом)
МТ4 считает что маржа по этому ордеру в USD = 1295.72 USD, конвертируя значение маржи в валюту депо по цене открытия ордера, который является курсом BID на момент открытия ордера:
100000 * 1,29572 = 129572 USD (и уже от этого значения считает залог согласно плечу) 129572 / 100 = 1295.72 USD.
Но, маржа считается в базовой валюте. В данном примере она составляет 100000 / 100 = 1000 EUR, которых на счету никак нет, ибо счет в USD.
Почему в данном примере маржа считается не с базовой валюты, а результата операции sell?
Если Вы откроете короткую позизию - тогда да. Для открытия длинной позиции маржа будет $1295.99 (Ask). Как обычно разница в спред. Вы можете торговать не в ДЦ, а у настоящего брокера, где Bid=Ask, но будете платить комиссию с каждой транзакции, и плечо будет 10 или меньше, и размер минимального лота 1 млн USD.
Если Вы откроете короткую позизию - тогда да. Для открытия длинной позиции маржа будет $1295.99 (Ask). Как обычно разница в спред. Вы можете торговать не в ДЦ, а у настоящего брокера, где Bid=Ask, но будете платить комиссию с каждой транзакции, и плечо будет 10 или меньше, и размер минимального лота 1 млн USD.
Да. Все, действительно так и мне это известно. Только это знание никак не помогает мне понять, почему маржа конвертируется в валюту депо всегда по цене открытия ордера, а прибыль/убыток - всегда по цене закрытия, не смотря на то, что цена открытия или закрытия могут быть как BID, так и ASK. Вобщем, в первом посте вопрос мой висит.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Приветствую.
Кто-то может понятно рассказать или же указать литературу для прочтения, как переводить маржу и прибыль/убыток по ордеру в валюту депо. Что-то я в трех соснах заблудился, а интернеты, как-то, истину утаивают. Здорово получить наглядное объяснение на следующих примерах:
Валюта депо - DDD.
Расчет маржи для инструмента XXXYYY
Если XXX == DDD, то все красиво, маржа получается сразу в валюте депо.
Если YYY == DDD, то маржа в XXX, которые надо перевести в валюту депо. МТ4 в данном случае использует цену открытия ордера. Инструмент XXXDDD. Позиция лонг, цена открытия == ASK по инструменту. XXX тоже надо купить, значит сделать buy XXXDDD по ASK. Пока все правильно. Теперь пусть позиция будет короткая, значит цена открытия == BID. Но XXX все равно можно получить купив XXXDDD по ASK. Почему же в обоих случаях для перевода маржи в валюту депо используется цена открытия ордера?
Вобщем, как я понимаю, второй вариант, когда инструмент XXXDDD, применим и для третьего варианта, когда инструмент XXXYYY, где XXX != DDD и YYY != DDD, так как в этом случае маржа так же выражается в XXX, которую надо перевести в DDD.
Аналогичный же вопрос о переводе прибыли/убытка в валюту депо. Для примера пусть будут те же условия: валюта депо - DDD, инструмент - XXXYYY.
Когда YYY == DDD, то все понятно, произведение соответствующей разницы цен со знаком на объем ордера дает прибыль/убыль в DDD. Очень хорошо.
Когда XXX == DDD, прибыль/убыль выражается в YYY, которое надлежит выразить в DDD. MT4 использует в данном случае цену закрытия. Но ведь позиция (допустим) была лонг, а цена закрытия была BID по DDDYYY. В результате получится либо +YYY, которые переводятся в DDD через buy DDDYYY по ASK, либо -YYY, которые покрываются через sell DDDYYY по BID. Опять же вопрос, почему в обоих случаях используется цена закрытия ордера?
И как перевод будет выполняться в случае, когда инструмент XXXYYY, где XXX != DDD и YYY != DDD?
Возможно, кто-то подскажет материалы для изучения :-)
С уважением.