Техническое задание
Итак есть советник MQ4, в нем надо изменить:
1. чтоб первоначально фиксировалось AccountEquity как глобальное переменная а не как объект на графике!!!
2. Сейчас даже если открыты сделки с magic другим или сделки от руки то начинается открыть сделки, а надо чтоб фиксирование AccountEquity происходит только когда нету открытых сделок в терминале ! if(OrdersTotal()==0) где OrdersTotal()==0 не зависимо как открыты сделки и с каким magic они открыты, в торговом терминале будут работать несколько советников с разными magic!!! то есть фиксируется AccountEquity когда нету ни одной открытой сделки!
Сейчас вот так
if(napravlen==0)
OpenO*rder(_Symbol,0,Ask,Ask-StopLoss*_Point,Ask+TakeProfit*_Point,lot_,magic,0,"Open Buy");
else
OpenOrder(_Symbol,1,Bid,Bid+StopLoss*_Point,Bid-TakeProfit*_Point,lot_, magic ,0,"Open Sell");
};
3. открывается одна сделка в направление свечи которая указано в настройках советника что закрепил с условиями и уже есть реализовано
ТО ЕСТЬ МНЕ не нравиться в советнике что прикрепил то что если AccountEquity под одним magic=0 и открыты сделки под другим magic или открыты без мажик то есть ручками , то все равно открывается первоначальное сделка. А принципиально чтоб сделки открылись первоначально перед тем когда ни открыта в терминале не одна сделка чтоб AccountEquity зафиксировалось как глобальное переменное , Потому что все расчеты иду с этой значение далее!
4. Все сделки независимо от которого у них magic или открыто сделки ручками при достижение AccountEquity = глобальное переменное что первоначально зафиксировано*%= AccountEquity*X(в процентах от первоначальном AccountEquity ) закрываются, то есть если первоначально когда AccountEquity зафиксировалось как глобальное переменное=100 и Х=10% то все сделки закрываются в независимости от баланса или как открыты сделки и с каким magic когда AccountEquity в даном случае будет 100+Х=100+10%=110, повторяю AccountEquity а не AccountBalance!!!!
5. При закрытие всех сделок с графика удаляются все объекты!!!
6. При достижение X равно минус Y то все сделки что открыты считается разница лотов в + и в - и блокируется одной сделкой то есть если первоначально эквити было=100 и эквити достиг скажем при Y=5% то есть 100-5%=95 эквити то считается открытые сделки или другими словами если net lots как пример из индикатора iExposure равно Y то лот блокирующий должно быть -Y.
7. Мне нужно чтоб сетка из значение Y например равно -5% -10%, -15%, -20%, -25%, -30% было 6 значением с именами A, B, C, D, E, F. Чтоб я мог сам указать в % эти значение сам как переменные а не то как указал как пример МИНУС -5% -10%, -15%, -20%, -25%, -30% от первоначальном AccountEquity что мы зафиксировали как глобальное переменное .
8. При достижение input string EndTime = "22:00:00"; //Время ДО то есть указано время торговли ДО 19-00 то тоже считается разница в открытых сделок и одной блокирующей сделки блокируется торговля в конце рабочего дня и у этой блокирующей сделки нету свой стоплос и тейерофит!.
У каждой сделки что блокируется что обозначены переменой A, B, C, D, E, F. должно быть переменная стоплоса и тейкпрофита. Например если A-5% от еквити при условном первоначально равно 100 и получается минус переменой А то есть 100-5%=95 баксов и сделка блокирующая А должно иметь свой тейкпрофит и стоп лосс. ТО ЕТЬ должно быть стоплос А и тейкпрофит А и стоплос B и тейкпрофит B и стоплос А и тейкпрофит С и стоплос D и тейкпрофит D и стоплос E и тейкпрофит E и стоплос F. и тейкпрофит F.
input int close_all = X ; //Закрытие при достижении прибыли в %
ПРИ ДОСТИЖЕНИИ ПРИБЫЛИ в AccountEquity=первоначальное глобальное переменное *Х и закрываються все сделки то удаляться все обькты графика и первоначальное глобальное переменное и ВСЕ начинается по новой
Первоначально было вот такое Техзадание
1.Перед началом торговли записать в память сумма баланса и средства
2.Настраиваемый параметр который открывает сделки только в определенный диапазон времени(режим работы)
3.Настраевымый параметр который считает сумму сделки в % от первоначальной суммы баланса с округлением до 0,01
4.Настраевымый параметр стоплосс, тейкпрофит и трелингстоп в пунктах
5.Настраевымый параметр либо бай или селл после закрывание свечи на графике, то есть на график скажем 1 минут если предыдущая свеча было в верх то настраиваться параметр либо в направление предыдущей свечи или против с посчитанной суммы в % от первоначального баланса
6.Настраевымый параметр Закрытие всех сделок при достижения суммы средств в +% от первоначального баланса
7.После закрытие всех сделок если настраиваемый режим работы позволяем открыть сделки то все повторяется по новой
меня именно интересует чтоб запоминалось первоначальная сумма баланса и средств и чтоб все открытые сделки закрылись когда сумма средств будет скажем 100 $ +5% , в это время баланс может быть и больше первоначальной суммы баланса когда на некоторые сделки закрылось
по тейкпрофиту или трелинг стоп или сумма баланса может быть меньше первоначальной суммы баланса и средств при срабатывания стоплосса
в течение дня например указываем режим работы например с 9 по 14-00 по москве. если нету открытых сделок то советник начинает торговать скажем в 9 утра и открывает сделку в % от баланса в тот момент когда нету открытых сделок . далее скажем если советник на минутном графике,
но есть в зависимости от какого графика окна открыта то настраивается на эту окну, была свеча в верх открывается либо в верх либо в них то есть этот параметр настраивается. устанавливается стоплосс текпрофи или трейлинг стоп и далее закрывается еще одна свеча
то заново открывается сделка в зависимости от того параметра что указали бай или селл сумма сделки остается та же самое что было при первой сделки итд, в торговли закрывается сделки либо в профит при тейкпрофите либо в минус при стоп лосе но все открытые сделки закрывается
когда средства достигает определенный процент скажем 5% от 100 будет 105 . далее проверяется если нету открытых сделок то заново записывается сумма средств-баланса то есть она одинаковая эта сумма когда нету открытых сделок и все повторяется пока не будет скажем 14 часов.
если первая сделка открыта в 13-59 то советник работает пока не закрывается все сделки
если сумма баланса/средств первоначально было 100 то все сделки и в плюсе и в минусе закрывается когда сумма средств будет при 5% 105 в независимости от сумма баланса