У меня стоит всегда куча отложенных ордеров, они срабатывают, все свободные средства заняты в работе, а я бы хотел еще и снимать со счета часть прибыли, да и риски ограничить. Нужно чтобы в работе было задействовано 50% свободных средств, если больше то, ордер, который должен сработать должен вместо этого удалиться. Т.е., наверное так, если сумма залога по открытым ордерам одного направления < equity/2, то ордер срабатывает, если >= то удаляется.
Возможно ли реализовать такое.
Средствами MQL - да. Документация здесь.
Перелопатил всю документацию перед тем как выходить с темой.
Можно поконкретней?
Можно поконкретней?
Можно:
Руцями нужно програму писать.
:)
Можно поконкретней?
Можно:
Руцями нужно програму писать.
:)
может руциями напишешь пример?
Можно поконкретней?
Можно:
Руцями нужно програму писать.
:)
может руциями напишешь пример?
if(AccountEquity()<0.5*AccountBalance()) { return(0); }Помогает?
У меня стоит всегда куча отложенных ордеров, они срабатывают, все свободные средства заняты в работе, а я бы хотел еще и снимать со счета часть прибыли, да и риски ограничить. Нужно чтобы в работе было задействовано 50% свободных средств, если больше то, ордер, который должен сработать должен вместо этого удалиться. Т.е., наверное так, если сумма залога по открытым ордерам одного направления < equity/2, то ордер срабатывает, если >= то удаляется.
Возможно ли реализовать такое.
У меня стоит всегда куча отложенных ордеров, они срабатывают, все свободные средства заняты в работе, а я бы хотел еще и снимать со счета часть прибыли, да и риски ограничить. Нужно чтобы в работе было задействовано 50% свободных средств, если больше то, ордер, который должен сработать должен вместо этого удалиться. Т.е., наверное так, если сумма залога по открытым ордерам одного направления < equity/2, то ордер срабатывает, если >= то удаляется.
Возможно ли реализовать такое.
50%=1/2 или нет?
в тот момент когда ордер должен бы сработать он удаляется так же как это происходит, когда недостаточно свободных средств
для меня тут все понятно как это должно работать, но я не знаю как это закодировать - отсюда и неточности и размытости формулировки
Можно поконкретней?
Можно:
Руцями нужно програму писать.
:)
может руциями напишешь пример?
if(AccountEquity()<0.5*AccountBalance()) { return(0); }Помогает?
не очень...
если так то что?
много отложенных ордеров
и они должны остаться на своих местах, за исключением того, кот.
должен бы сработать.
50%=1/2 или нет?
в тот момент когда ордер должен бы сработать он удаляется так же как это происходит, когда недостаточно свободных средств
для меня тут все понятно как это должно работать, но я не знаю как это закодировать - отсюда и неточности и размытости формулировки
50% безусловно, 1/2,
но отчего Вы их берёте? Свободные средства - это свободная маржа, она отражается в Вашем теминале "Свободно...."
На языке MQL4 это:
AccountFreeMargin( )
Эквити = свободная маржа + блокированная маржа:
AccountEquity( ) = AccountFreeMargin( ) + AccountMargin( )
Так от чего хотите брать половину: от эквити, т. е. все средства, или от свободных денег ? В зависимости от размера плеча, можно и так, и так.
Вообще, для этого существует функция:
AccountFreeMarginCheck( string symbol, int cmd, double volume)Не буду её описывать, посмотрите в документации, желательно (настоятельно) её использовать при расчёте размера лота, чтобы не получать ошибок при установке ордера.
50%=1/2 или нет?
в тот момент когда ордер должен бы сработать он удаляется так же как это происходит, когда недостаточно свободных средств
для меня тут все понятно как это должно работать, но я не знаю как это закодировать - отсюда и неточности и размытости формулировки
50% безусловно, 1/2,
но отчего Вы их берёте? Свободные средства - это свободная маржа, она отражается в Вашем теминале "Свободно...."
На языке MQL4 это:
AccountFreeMargin( )
Эквити = свободная маржа + блокированная маржа:
AccountEquity( ) = AccountFreeMargin( ) + AccountMargin( )
Так от чего хотите брать половину: от эквити, т. е. все средства, или от свободных денег ? В зависимости от размера плеча, можно и так, и так.
Вообще, для этого существует функция:
AccountFreeMarginCheck( string symbol, int cmd, double volume)Не буду её описывать, посмотрите в документации, желательно (настоятельно) её использовать при расчёте размера лота, чтобы не получать ошибок при установке ордера.
Спасибо за разъяснения
Тогда так
If (NormalizeDouble((AccountEquity()/AccountMargin()),1)>0,5)
Это самая простая часть....
Вот дальше....
Как выбрать именно тот ордер, кот. нужен?- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
У меня стоит всегда куча отложенных ордеров, они срабатывают, все свободные средства заняты в работе, а я бы хотел еще и снимать со счета часть прибыли, да и риски ограничить. Нужно чтобы в работе было задействовано 50% свободных средств, если больше то, ордер, который должен сработать должен вместо этого удалиться. Т.е., наверное так, если сумма залога по открытым ордерам одного направления < equity/2, то ордер срабатывает, если >= то удаляется.
Возможно ли реализовать такое.