[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 826
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Неужели нельзя посчитать раздельно для каждой открываемой в последующем позы остаток маржи, а потом это суммировать? Не зря же в
передаются символ, торговая операция и лот... Рассчитайте для каждой позы по раздельности, определитесь с перекрываемыми позами и выведите для себя результат.
Напишите скрипт, который будет выводить вам и ваш рассчёт и то, что возвращает ваш ДЦ. И сравните...
Вот и посчитайте свои лоты. Количество перекрытых лотов считайте по значению, возвращаемому MODE_MARGINHEDGED
Оставшиеся не перекрытые считайте по значению, возвращаемому MODE_MARGINREQUIRED
Столкнулся с проблемой в компании MRC. А именно с тем что у них учитывается своп при тестировании и например когда я хочу выполнить вот этот код :
double OpPriceF5B = OrderClosePrice()- OrderOpenPrice();
то он вычислят от цены открытия которая открылась после свопа а я хочу узнать разницу между первоначальной ценой открытия т.е чтоб мне своп не мешал ..
Как это можно сделать ??
Пытаюсь вычислить это вот так :
Эксперимент с AccountFreeMarginCheck():
- на терминале открыт ордер BUY
- Баланс: 94919,36 Средства: 94921,16 Залог: 1273,39 Свободно: 93647,07 Уровень: 7454,15%
- спрашиваю: AccountFreeMarginCheck(Symbol(),OP_BUY,0.1) - дает остаток от уровня Свободно
- спрашиваю: AccountFreeMarginCheck(Symbol(),OP_SELL,0.1) - дает остаток от уровня СредстваВ общем мою задачу так не решить.
У меня же вопрос (задача) такой: предстоит открыть несколько ордеров, которые остаются одновременно открытыми, примерно так
первый - sell лотом 0.10
второй - buy лотом 0.26
третий - sell лотом 0.43четвертый - buy лотом 0.72
пятый - sell лотом 1.19 ну и т.д
Прайс 1.2737, плечо 100, минимальный лот 0.1
Существует вероятность, что на каком-то цикле выставления очередного ордера, наступит СтопАут.
Значит надо рассчитать этот худший вариант, конечно же, по методике ДЦ. И сделать для себя вывод: до какого суммарного числа лотов по открытым в указанном порядке ордерам можно идти без опаски нарваться на Стоп Аут? То есть " в начале начал" :) посчитать суммарную маржу по ордерам, которые буду (возможно) открыты. При этом, повторюсь, порядок открытия указан выше, и размеры лотов для каждого ордера известны заранее.
Эксперимент с AccountFreeMarginCheck():
- на терминале открыт ордер BUY
- Баланс: 94919,36 Средства: 94921,16 Залог: 1273,39 Свободно: 93647,07 Уровень: 7454,15%
- спрашиваю: AccountFreeMarginCheck(Symbol(),OP_BUY,0.1) - дает остаток от уровня Свободно
- спрашиваю: AccountFreeMarginCheck(Symbol(),OP_SELL,0.1) - дает остаток от уровня СредстваВ общем мою задачу так не решить.
У меня же вопрос (задача) такой: предстоит открыть несколько ордеров, которые остаются одновременно открытыми, примерно так
первый - sell лотом 0.10
второй - buy лотом 0.26
третий - sell лотом 0.43четвертый - buy лотом 0.72
пятый - sell лотом 1.19 ну и т.д
Прайс 1.2737, плечо 100, минимальный лот 0.1
Существует вероятность, что на каком-то цикле выставления очередного ордера, наступит СтопАут.
Значит надо рассчитать этот худший вариант, конечно же, по методике ДЦ. И сделать для себя вывод: до какого суммарного числа лотов по открытым в указанном порядке ордерам можно идти без опаски нарваться на Стоп Аут? То есть " в начале начал" :) посчитать суммарную маржу по ордерам, которые буду (возможно) открыты. При этом, повторюсь, порядок открытия указан выше, и размеры лотов для каждого ордера известны заранее.
Давайте подумаем.
Все Баи: 0.26+0.72 = 0.98
Все Селлы: 0.1+0.43+1.19 = 1.72
Перекрытые: Количество лотов Бай меньше кол-во лотов Селл, значит перекрытое кол-во лотов равно кол-ву лотов Бай = 0.98
Оставшиеся однонаправленные Селл: 1.72-0.98 = 0.74
Значит что делаем? Баи складываем, а Селлы вычитаем: -0.1+0.26-0.43+0.72-1.19= -0.74 Если минус - значит однонаправленные у нас Селл
Вот для перекрытых берём значение из MODE_MARGINHEDGED и умножаем на кол-во перекрытых лотов...
Ну а для однонаправленных берём из MODE_MARGINREQUIRED и умножаем на MathAbs(кол-во однонаправленных лотов);
Ну и всё остальное тоже попробуйте учесть...
ЗЫ. Я тут долго не думал - так между дел накропал - допускаю упущения, так что воспринимайте только как вероятное направление действий... :)
Так... логика стала понятной. Спасибо! Сейчас попробуем проверить.
А вот и кстати на ДЕМО поставил эксперимент:
первый BUY лотом 0,1 прайс 1,27339 - показывало Залог=1273,39. Т.е. 0,1*1000000*1,27339/100
второй SELL лотом 0,26 прайс 1,27039 -показал суммарный Залог=3305,18. И он очень похож на такое 0,26*1000000*1,27039/100=3303,01 ??? Странность?
Получается, что залог взят от максимального к-ва лотов, которые перекрывают ордера, открытые в противоположном направлении??
Подожду, когда откроется следующий BUY
Всем добрый день. Есть ли понятное определение термина оператор или это как "в чём смысл жизни"(нельзя объяснить)?
:) Оператор как таковой - понятие растяжимое, он ведь может быть и оператором самогонного аппарата... :)
Вы бы задавали вопросы в том контексте, в котором вам нужно значение данного слова. Надеюсь не слишком длинное предложение :)
Всем добрый день. Есть ли понятное определение термина оператор или это как "в чём смысл жизни"(нельзя объяснить)?
=Команда. См. в википедии
https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
Так... логика стала понятной. Спасибо! Сейчас попробуем проверить.
А вот и кстати на ДЕМО поставил эксперимент:
первый BUY лотом 0,1 прайс 1,27339 - показывало Залог=1273,39. Т.е. 0,1*1000000*1,27339/100
второй SELL лотом 0,26 прайс 1,27039 -показал суммарный Залог=3305,18. И он очень похож на такое 0,26*1000000*1,27039/100=3303,01 ??? Странность?
Получается, что залог взят от максимального к-ва лотов, которые перекрывают ордера, открытые в противоположном направлении??
Подожду, когда откроется следующий BUY
Эх... Было бы времечко всё обдумать... :) Задачка-то интересная, да сроки поджимают.
Думаю, что раз у вас есть похожесть, но не схожесть - значит это не так. Это просто странность... :) Попробуйте подсчитать разницу для максимального лота...
За такие "странности" ДеЦлам ноги поотрывают серьёзные клиенты... :)
В другом направлении нужно думать...
Ждём-с вашего следующего ордерочка :)
оператором самогонного аппарата))). Если я правильно понял, то оператор(в том числе и в MQL4) это наименьшее по размеру и законченное по смыслу выражение в коде программы.... как то так.
О ... мать-моя-бабушка... Вам не живётся без этого? В гамаке стоя? Зачем жизнь себе усложнять???
Вот тут прочтите... и дело с концом...
Однако, как иногда простые вопросы ставят в тупик :) (я про оператор)
Самое доступное (простое) определение нашел в БСЭ:
"В вычислительной технике - предписание ... предназначенное для задания некоторого завершенного действия ..."
А вот в документации:
"Оператор - это составная часть программы ... предписывающая определённый порядок преобразования информации."
Так и функция себя ведет так же...
Занятно.