прикрутите пжста зеркало (вкл/выкл зеркальная реверсная торговля "наоборот").Попробуй
прикрутите пжста зеркало (вкл/выкл зеркальная реверсная торговля "наоборот").Попробуй
Я посмотрюприкрутите пжста зеркало (вкл/выкл зеркальная реверсная торговля "наоборот").
Попробуйприкрутите пжста зеркало (вкл/выкл зеркальная реверсная торговля "наоборот").
Отлично! Высший класс! Все работает, как надо!Попробуй
Рано я радовался. Сегодня советник открылся одновременно по пяти инструментам. А должен был только по одному.Все работает. Респект !!
Этого стоило ожидать! Советник на каждой паре видел, что других ордеров нет и отправил запрос на открытие.Рано я радовался. Сегодня советник открылся одновременно по пяти инструментам. А должен был только по одному.
После того, как часть ордеров закрылась при достижения тейк профита, новые не открывались( при наличии сигнала). Так и должно быть. Ранее сбой произошел при установке советников на графики, где уже были условия условия для открытия ордеров. Видимо, не нужно было устанавливать там, где уже были условия.Рано я радовался. Сегодня советник открылся одновременно по пяти инструментам. А должен был только по одному.
нет! Это подсчет для сопровождения ордеров. Для работы по одному символу SymbolTrades()В подсчёте ордеров есть проверка по символу и магику, убрать её.
Если в рынке остались другие, то да, новые не должны открываться.После того, как часть ордеров закрылась при достижения тейк профита, новые не открывались( при наличии сигнала). Так и должно быть. Ранее сбой произошел при установке советников на графики, где уже были условия условия для открытия ордеров. Видимо, не нужно было устанавливать там, где уже были условия.
тогда наверное надо ограничение по числу одновременно открываемых ордеров равное 1,открывается первый и он же единственныйЕсли в рынке остались другие, то да, новые не должны открываться.
Советник не будет открывать ордера, если есть ордера на других парах, но если открытых ордеров нет, а сигнал пришел одновременно на несколько пар, то откроют все и потом все советники будут ждать пока все ордера закроются.
Солнышко) Так каждый советник и открывает по одному ордеру.тогда наверное надо ограничение по числу одновременно открываемых ордеров равное 1,открывается первый и он же единственный
Я попробую, на досуге, сделать мультивалютныйРано я радовался. Сегодня советник открылся одновременно по пяти инструментам. А должен был только по одному.
каждый экземпляр советника работает в своей песочнице, поэтому если сигналы придут двум разным экземплярам одновременно (что не так маловероятно, как может показаться на первый взгляд), то они оба и откроются.Рано я радовался. Сегодня советник открылся одновременно по пяти инструментам. А должен был только по одному.
Можно подробнее как это сделать?задавать приоритеты на обработку сигналов разными копиями
Цикл по массиву символов (порядок символов по мере приоритетности), с созданием глобальной переменной, если есть сигнал по какой-нибудь паре, запрещающей открытие.Можно подробнее как это сделать?
Мысль в голову пришла: задать каждому сову свой номер и каждый сов будет записывать в глобальную переменную терминала свой номер после обработки и каждый сов, который считает из глобальной переменной номер последнего отработавшего на открытие сова и добавив 1 получит свой номер, получит возможность проверить сигнал на вход и так по кругу. А сов, который последний в списке, выставляет в переменную 0 и дальше первый сов снова проверяет сигнал на вход. Параллельно нужно проверять отдельной функцией количество уже торгующих сов для приостановки. Функционально это всего несколько строк кода будет. В входные переменные задать номер сова и, как вариант, триггерную переменную (true/false), которая будет обозначать является ли сов последним в списке.Можно подробнее как это сделать?
Это что-то сильно навороченноеМысль в голову пришла:
Я тоже считаю это лучшим вариантомЦикл по массиву символов
input string Symbols = "EURUSD,GBPUSD,AUDUSD,USDCHF"; // список символов (разделитель ",")
int sz1;
string tSymbol;
string iSymbol[];
ushort sep=StringGetCharacter(",",0);
//+------------------------------------------------------------------+
sz1=StringSplit(Symbols,sep,iSymbol);
for(int i=0; i<sz1; i++)
{
tSymbol=iSymbol[i];
}
//+------------------------------------------------------------------+
к примеру, упорядочиваем ChartID, и по ним устанавливаем задержку на исполнение торговых операцийМожно подробнее как это сделать?
Sleep()?и по ним устанавливаем задержку
да... косяк в таком подходе - если эксперт на последнем графике дает сигнал, то он может ждать своей очереди неоправданно долгоSleep()?