Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1509

 

Добрый день, подскажите, как в mql5 прописать код закрытия прибыли каждой валютной пары в отдельности в процентах от баланса, если на счету одновременно работают несколько пар. 

В примере ниже закрытие привязано к общему балансу счета, а нужно чтобы каждая пара в отдельности закрывалась независимо друг от друга например при +1% от баланса, даже если остальные пары в минусе.

if(m_account.Equity()>=m_account.Balance()*equity_percent_from_balances_profit)
for(int i=PositionsTotal()-1;i>=0;i--) 
if(m_position.SelectByIndex(i)) 
{
m_trade.SetExpertMagicNumber(m_position.Magic());
m_trade.PositionClose(m_position.Ticket()); 
}


 

Кто-нибудь знает хорошую библиотеку для временных фильтров? Динамические фильтры на каждый день (новости).

Второй день ищу на сайте, всё не то. Ближе всего концепт в статье  Кроссплатформенный советник: Временные фильтры. Но там слишком много всего тащить приходится с этим.

 
R3008 #:

Добрый день, подскажите, как в mql5 прописать код закрытия прибыли каждой валютной пары в отдельности в процентах от баланса, если на счету одновременно работают несколько пар. 

В примере ниже закрытие привязано к общему балансу счета, а нужно чтобы каждая пара в отдельности закрывалась независимо друг от друга например при +1% от баланса, даже если остальные пары в минусе.

if(m_account.Equity()>=m_account.Balance()*equity_percent_from_balances_profit)
for(int i=PositionsTotal()-1;i>=0;i--) 
if(m_position.SelectByIndex(i)) 
{
m_trade.SetExpertMagicNumber(m_position.Magic());
m_trade.PositionClose(m_position.Ticket()); 
}


Считаешь "профит  по открытым позициям на символе и маджике", например в сумме сейчас  10$  по евробаксу. баланс 1100.

Если процент > 1, то закрыть все позиции на символе.

 
Denis Karavaev #:

Считаешь "профит  по открытым позициям на символе и маджике", например в сумме сейчас  10$  по евробаксу. баланс 1100.

Если процент > 1, то закрыть все позиции на символе.

От какого размера депозита 1%

 
Здравствуйте! 
Есть возможность окрасить панель созданную с помощью <Controls\Dialog.mgh>? 
Могли бы поделиться примером кода, как это можно сделать? (Если это конечно возможно) 
 
Alexey Viktorov #:

От какого размера депозита 1%

Баланс = 1100 = Депозит

1% от депозита 1100 = 1100\100*1 = 11$ 

что означает, что в примере выше,  условие закрытия ещё не исполнилось.

 
Denis Karavaev #:

Считаешь "профит  по открытым позициям на символе и маджике", например в сумме сейчас  10$  по евробаксу. баланс 1100.

Если процент > 1, то закрыть все позиции на символе.

При таком раскладе остальные символы, которые в минусе на 1%, не дадут закрыться символу, который в плюсе на 1%. Как я понимаю, надо делать отвязку от баланса и эквити счета и создавать доп.переменные и для каждого символа в них вести отдельный учет эквити, баланса. Не совсем представляю каким должен быть код, напишите пример как это должно быть, чтобы все работало и символы не мешали друг другу.

 
R3008 #:
Как я понимаю, надо делать отвязку от баланса

Зачем?

Баланс же статический. Плавает только эквити.

Поэтому если ты не закрыл минус, например 10% от 1100 =110 usd

ты всё так же ждешь профита в 11usd. чтоб закрыть евродоллар.

Встречный вопрос. Вы умеете считать профит по открытым позициям с фильтром маджик, символ?

 
Denis Karavaev #:

Зачем?

Баланс же статический. Плавает только эквити.

Поэтому если ты не закрыл минус, например 10% от 1100 =110 usd

ты всё так же ждешь профита в 11usd. чтоб закрыть евродоллар.

Встречный вопрос. Вы умеете считать профит по открытым позициям с фильтром маджик, символ?

А если по какому-то другому символу закроется позиция?

 
Alexey Viktorov #:

А если по какому-то другому символу закроется позиция?

Баланс 1100

еврик +10

франк  -110. закрыли только что

Баланс 990

Проверяем еврик на тиках. Баланс 990 , 1%  = 9.9 . Профит 10. Закрываем профит еврик

Продолжаем. Сколько наш баланс? и сколько 1% от него?

И так в цикле по открытым позициям

Причина обращения: