Решил уже доделать.
Все проверил сам.
В сове с контролем магика исправил ошибку, после проверки.
Написал с усложненным контролем без магиков через валютные пары.
Контроль задается во внешних параметрах.
e-CloseByLossOrProfit+CurrencyControl = Контроль по семи любым инструментам, если поставить ноль, инструмент не учитывается. Магик не учитывается.
e-CloseByLossOrProfit+Magic = Контроль по заданному магику.
Параметры контроля вывел в коммент.
Все отложенные ордера будут удалены (независимо от параметров контроля).
Все работает, теперь не только переписал, но и проверил.
Не знаю, наверно недостаточно тщательно проверяли.Последняя версия Ваша несомненно стала работоспособной, теперь сов. работает, но с ошибками. Вот что я заметил при тестировании советника "e-CloseByLossOrProfit+Magic = Контроль по заданному магику".:
1) Значения игнорятся по SL, и с магиком и без него. Работает правильно,только TP
2) При появлении на счёте третьего инструмента (кроме тех которые с магиком) вообще сумбур происходит, магики у всех игнорятся, закрывает всё подряд при суммарном только ПРОФИТЕ на счёте. SL игнорится во всех случаях.
Хотелось бы акцентировать внимание на след момент как в примере:
Допустим настройки: TP=10;
SL=10.
На счёте:
USDCHF(magik=12345) = -20
EURUSD(magik=12345) = +30
USDCHF(magik = 0, без магика) = -5
Советник закроет только: USDCHF(magik=12345) = -20
EURUSD(magik=12345) = +30
По суммарному профиту ( =10 )соответственно, только у этих двух позиций.
USDCHF (magik = 0, без магика) остаётся болтаться на счёте ДО ДОСТИЖЕНИЯ УСЛОВИЯ ПО ТP/SL, так как этой валюте не присвоен магик.
ЛИБО ДРУГОЙ ВАРИАНТ:
На счёте:
USDCHF(magik=12345) = -20
EURUSD(magik=12345) = +30
USDCAD(не подключен советник) = +20
Советник закроет только: USDCHF(magik=12345) = -20
EURUSD(magik=12345) = +30
По суммарному профиту соответственно, только у этих двух позиций.
USDCAD (не подключен советник) остаётся болтаться на счёте, так как это вообще другая валюта/инструмент.( В нашем случае с ошибкой, советник по сумме даже другой инструмент берёт)
3) Целесообразно будет на графике отображать информацию только: Целевой убыток; Целевая прибыль; Магик;
Так как инфо о "Текущей прибыли" не работает ( всегда равно 0)
Тут одна мысль появилась: А если объединять позиции в группу не по магику, а по ID номеру ( В MT4 слева-внизу =>вкладка торговля =>колонка ордер.) То есть по номеру ордера. Может это облегчит задачу?