Установка Stop Out

 
На чемпионате установлен стопаут на 50%. У меня в терминале прописан 70. Вопрос - как в эксперте при тестировании установить остановку по 50% стопауту программно?
 
-dude- писал (а):
На чемпионате установлен стопаут на 50%. У меня в терминале прописан 70. Вопрос - как в эксперте при тестировании установить остановку по 50% стопауту программно?
Где это Вы нашли стопаут 70% ? Обычно 20, ну 30 бывает. Откройте демо-счёт на Демо Meta Quotes, там на сервере установлено 50%. Как станет меньше, ордер автоматом закроется, а програмно надо раньше закрывать.
 
-dude- писал (а):
На чемпионате установлен стопаут на 50%. У меня в терминале прописан 70. Вопрос - как в эксперте при тестировании установить остановку по 50% стопауту программно?
Прошу прощения, никак не могу понять - что такое StopOut ...?

С уважением -С.Д.
 

Это StopLoss, который ДЦ заботливо устанавливает трейдеру, забывшему его поставить. Короче, уровень Margin Call.

 
Sart:
-dude- писал (а):
На чемпионате установлен стопаут на 50%. У меня в терминале прописан 70. Вопрос - как в эксперте при тестировании установить остановку по 50% стопауту программно?
Прошу прощения, никак не могу понять - что такое StopOut ...?

С уважением -С.Д.


Уровень маржи, который отражается в терминале, считается так:

MarginLevel=AccountEquity()/AccountMargin()*100

Все Ваши деньги (средства) на данный момент отражает Equity. Еквити делится на две части:

1. Это залоговая маржа AccountMargin, которая снята с вашего счёта и взята в залог для обеспечения открытых в данный момент позиций, она остаётся постоянной, пока нет открытия или закрытия ордеров.

2. Свободная маржа AccountFreeMargin, исходя из размера которой Вы можете открывать новые позиции, она уменьшается (увеличивается) в процессе торговли, именно из неё вычитается текущий проигрыш или к ней прибавляется выигрыш.

Когда эквити, уменьшаясь во времени за счёт того, что позиции идут в минуса, достигает % от залоговой маржи, который и называется стопаутом, MarginLevel < StopOut, брокер считает что у Вас слишком мало осталось средств и закрывает одну или более позиций, обычно убыточных, автоматически. Баланс счёта уменьшается на величину закрытых в минусе позиций. При этом в комментарии к ордеру делается соответствующая пометка, а залоговая маржа возвращяется на Ваш счёт и Ваша свободная маржа увеличивается, Вы снова можете открывать позиции.

Если при открытие позиции уровень маржи становится меньше стоп-аута, то такая позиция не будет открыта, будет сгенерирована соответствующая ошибка 134: Недостаточно средств для открытия.

 
Valmars:
Sart:
-dude- писал (а):
На чемпионате установлен стопаут на 50%. У меня в терминале прописан 70. Вопрос - как в эксперте при тестировании установить остановку по 50% стопауту программно?
Прошу прощения, никак не могу понять - что такое StopOut ...?

С уважением -С.Д.


Уровень маржи, который отражается в терминале, считается так:

MarginLevel=AccountEquity()/AccountMargin()*100

Все Ваши деньги (средства) на данный момент отражает Equity. Еквити делится на две части:

1. Это залоговая маржа AccountMargin, которая снята с вашего счёта и взята в залог для обеспечения открытых в данный момент позиций, она остаётся постоянной, пока нет открытия или закрытия ордеров.

2. Свободная маржа AccountFreeMargin, исходя из размера которой Вы можете открывать новые позиции, она уменьшается (увеличивается) в процессе торговли, именно из неё вычитается текущий проигрыш или к ней прибавляется выигрыш.

Когда эквити, уменьшаясь во времени за счёт того, что позиции идут в минуса, достигает % от залоговой маржи, который и называется стопаутом, MarginLevel < StopOut, брокер считает что у Вас слишком мало осталось средств и закрывает одну или более позиций, обычно убыточных, автоматически. Баланс счёта уменьшается на величину закрытых в минусе позиций. При этом в комментарии к ордеру делается соответствующая пометка, а залоговая маржа возвращяется на Ваш счёт и Ваша свободная маржа увеличивается, Вы снова можете открывать позиции.

Если при открытие позиции уровень маржи становится меньше стоп-аута, то такая позиция не будет открыта, будет сгенерирована соответствующая ошибка 134: Недостаточно средств для открытия.

То есть, если проигрыш накапливается, еквити уменьшается и становится в какой-то момент равным залогу, а свободные средства в этот момент становятся равными нулю. И дальше начинается проигрыш залога. Однако брокер не дает нам проиграться до конца, и , когда еквити становится равным , скажем, 20 процентов от залога(величина стопаута) , он закнчивает игру, а нам возвращает эти 20 поцентов . Я правильно понял ???
Кстати, а где можно посмотреть величину этого самого стопаута. Я вообще-то думал, что игра продолжается до конца, пока есть какие-то средства.


С уважением - С.Д.
 
Sart:
То есть, если проигрыш накапливается, еквити уменьшается и становится в какой-то момент равным залогу, а свободные средства в этот момент становятся равными нулю. И дальше начинается проигрыш залога. Однако брокер не дает нам проиграться до конца, и , когда еквити становится равным , скажем, 20 процентов от залога(величина стопаута) , он закнчивает игру, а нам возвращает эти 20 поцентов . Я правильно понял ???
Кстати, а где можно посмотреть величину этого самого стопаута. Я вообще-то думал, что игра продолжается до конца, пока есть какие-то средства.


С уважением - С.Д.


В целом, да, только залоговая маржа всегда возвращается полностью. Если позиций несколько, то по мере приближения к StopOut, закрывается одна позиция, эквити остаётся тем же, а залоговая маржа уменьшается, и уровень маржи поэтому повышается и уже больше StopOut, при дальнейшем сливе ситуация повторяется, и так до тех пор, пока у Вас не хватит средств для открытия даже минимальным лотом.

Когда эквити равен залогу, значит свободная маржа = 0, и уровень маржи 100%.

Стопаут можно узнать через функцию

AccountStopoutLevel()
которая возвращает уровень стопаута в %. На практике я пользуюсь скриптом, который выводит данные по интрументу.
Файлы:
 
Valmars:
Sart:
То есть, если проигрыш накапливается, еквити уменьшается и становится в какой-то момент равным залогу, а свободные средства в этот момент становятся равными нулю. И дальше начинается проигрыш залога. Однако брокер не дает нам проиграться до конца, и , когда еквити становится равным , скажем, 20 процентов от залога(величина стопаута) , он закнчивает игру, а нам возвращает эти 20 поцентов . Я правильно понял ???
Кстати, а где можно посмотреть величину этого самого стопаута. Я вообще-то думал, что игра продолжается до конца, пока есть какие-то средства.


С уважением - С.Д.


В целом, да, только залоговая маржа всегда возвращается полностью. Если позиций несколько, то по мере приближения к StopOut, закрывается одна позиция, эквити остаётся тем же, а залоговая маржа уменьшается, и уровень маржи поэтому повышается и уже больше StopOut, при дальнейшем сливе ситуация повторяется, и так до тех пор, пока у Вас не хватит средств для открытия даже минимальным лотом.

Когда эквити равен залогу, значит свободная маржа = 0, и уровень маржи 100%.

Стопаут можно узнать через функцию

AccountStopoutLevel()
которая возвращает уровень стопаута в %. На практике я пользуюсь скриптом, который выводит данные по интрументу.
Очень Вам признателен за такие точные и исчерпывающие ответы.
С уважением - С.Д.
 
Sart:
Valmars:
Sart:
То есть, если проигрыш накапливается, еквити уменьшается и становится в какой-то момент равным залогу, а свободные средства в этот момент становятся равными нулю. И дальше начинается проигрыш залога. Однако брокер не дает нам проиграться до конца, и , когда еквити становится равным , скажем, 20 процентов от залога(величина стопаута) , он закнчивает игру, а нам возвращает эти 20 поцентов . Я правильно понял ???
Кстати, а где можно посмотреть величину этого самого стопаута. Я вообще-то думал, что игра продолжается до конца, пока есть какие-то средства.


С уважением - С.Д.


В целом, да, только залоговая маржа всегда возвращается полностью. Если позиций несколько, то по мере приближения к StopOut, закрывается одна позиция, эквити остаётся тем же, а залоговая маржа уменьшается, и уровень маржи поэтому повышается и уже больше StopOut, при дальнейшем сливе ситуация повторяется, и так до тех пор, пока у Вас не хватит средств для открытия даже минимальным лотом.

Когда эквити равен залогу, значит свободная маржа = 0, и уровень маржи 100%.

Стопаут можно узнать через функцию

AccountStopoutLevel()
которая возвращает уровень стопаута в %. На практике я пользуюсь скриптом, который выводит данные по интрументу.
Очень Вам признателен за такие точные и исчерпывающие ответы.
С уважением - С.Д.
Только я не понял как залоговая маржа может возвращаться полностью, скажем при уровне стопаута 20 %, если у меня всего одна позиция и уже проиграно 80 % самого залога ?

С увжением - С.Д.
 
Очень Вам признателен за такие точные и исчерпывающие ответы.
С уважением - С.Д.
Только я не понял как залоговая маржа может возвращаться полностью, скажем при уровне стопаута 20 %, если у меня всего одна позиция и уже проиграно 80 % самого залога ?

С увжением - С.Д.

Никакого противоречия нет. Допустим, что StopOut=20%. Для простоты понимания, примем, что у нас на счёте 200$. Мы открываем позицию с маржой в 100$. Свободных средств осталось также 100$ и уровень маржи после открытия 200%. Рынок пошёл против нас, как будут развиваться события ? Когда наш убыток достигнет 100$, свободной маржи не осталось - 0. Но позиция не будет закрыта , так как уровень маржи у нас всё ещё (100+0)/100*100%=100% ! При дальнейшем падении свободные средства уйдут в минуса, но маржа как была 100$, так и останется. Когда убыток по сделке достигнет -180$, свободные средства (свободная маржа) станут равны -80$. Теперь уровень маржи: (100-80)/100*100%=20% и сработает StopOut. 100$ залоговой маржи будут возвращены на счёт и эквити, баланс, и свободные средства станут равны 20$, то, что у нас осталось на счёте.

Конечно, трейдеру всё равно, откуда вычитается убыток, с залоговой маржи или свободные средства становятся отрицательными, но при получении значений указанных параметров из MQL-программы это имеет значение для дальнейших расчётов.

 
Sart:

Кстати, а где можно посмотреть величину этого самого стопаута. Я вообще-то думал, что игра продолжается до конца, пока есть какие-то средства.


int AccountStopoutLevel( )
Возвращает значение уровня, по которому определяется состояние Stop Out.
Причина обращения: