Универсальный советник от iPlaton'а

ИванМН

Местный знаток
Доброго времени.

Советник был скачан мной в ветке этого замечательного программиста. Автор создал его для торговли по стратегии тикового счётчика. Как такового я прооптимизировал его в тестере, затем поставил на демо, но быстро разочаровался: результаты были околонулевые, что для меня, в общем-то, не стало сюрпризом: я прекрасно знаю, что тиковые счётчики в тестере МТ4 оптимизировать бессмысленно. У кого есть реальная тиковая история, можете, кстати, попытать счастья: а вдруг (отпишитесь мне тогда)?

Однако во всём остальном советник мне очень понравился. Открытый код, разнообразное и, главное, корректное сопровождение позиций: доливки, перевод в безубыток, пропорциональный лот, фиксация прибыли тейк-профитом или трейлингом, возможность установки СЛ, возможность закрывать или не закрывать старые позиции при открытии новых, устанавливаемое пользователем количество одновременно открываемых позиций, задаваемое время торговли, визуализация трасс закрытых позиций. Просто почти идеальная "болванка". Подправил кое-что по мелочи.

Первые опыты по прикручиванию к советнику других индикаторов проведены мной в ветке "Доработка советников" здесь: -https://forexsystemsru.com/threads/dorabotka-botov-sovetnikov-indikatorov-vol-2.77111/page-1498#post-1865659 и здесь: -https://forexsystemsru.com/threads/dorabotka-botov-sovetnikov-indikatorov-vol-2.77111/page-1500#post-1866993. Затем, будучи вдохновлён Valecastro с его дивергенциями, я прикрутил к советнику один из индикаторов дивергенций, что, собственно говоря, и представляю здесь: после проведения оптимизации на паре USD/JPY на ТФ М15 с начала года по сей день (из этого интервала три последние недели - форвард-тест) мы имеем по скальпинговой методике с короткими трейлингами разгон депо за 7 месяцев с 500 $ до чистой прибыли свыше 9600 $ при относительно приемлемой просадке в 41%. Поставил советник на демо, через некоторое время, если удостоверюсь, что всё работает без ошибок, опубликую мониторинг.

Индикатор кривой и примитивный, найден в Кодобазе, работает на OsMA, пропускает кучу чётких дивергенций, сигналя по очень сомнительным, и, тем не менее, удалось получить интересные результаты. Другие испробованные мной оттуда же индикаторы дивергенций были или ещё примитивнее, или же, наоборот, слишком громоздкими и заумными, с украшательскими излишествами (DivergenceViewer_AD, от Петра и т.д.), да, кстати и их работа мне в полной мере не понравилась: тоже иногда странно строят и много пропускают. А долго шарить по интернетам в поисках не хотелось. Поэтому остановился на FX5_Divergence. Если же вместо этого убогого индикатора прикрутить что получше, не обязательно связанное с дивергенциями, то и результат будет ещё лучше. Пробуйте!
 

Вложения

Veroniy

Местный житель
Я как поняла вы хотите стабильный но с высокой доходностью сов создать! Если можно то я поучаствую с вашего разрешения своими мыслями и наработками. Возможно какую то пользу принесу. Можно?
 

Veroniy

Местный житель
Вы когда нибудь рассматривали рисующие инды которые в случае ошибки переносили б стрелку допустим до того уровня когда когда ана действительно была правильной? И в течении скольких бар происходит корректировка? Верхний скрин это ваш сов ЕА на рисующем инде с отступом в барах и на старших таймах ?!? На запаздывающих но не рисующих индах такого результата нет.
(я думаю есть инды тупа рисуйки а есть стратегические которые можно применить ведь не зря в роботах написано на каком баре брать сигнал) Но у меня это как некое новое познание а вы наверно прошли этот этап созревания форекс.
 

ИванМН

Местный знаток
Возможно какую то пользу принесу. Можно?
Нужно! :) Предлагайте, выкладывайте здесь, желательно в открытом коде.

Только единственная просьба: не предлагать мне прикручивать всё что под руку подвернётся. Перед тем как предлагать индикатор к прикручиванию, следует в течение разумно достаточного времени удостовериться в том, что предлагаемый индикатор действительно того стоит. Это первое. Второе: прошу предлагать только индикаторы, которые чётко отдают сигналы в буферы. Потому что возиться с разными экзотами, выискивая их сигналы путём сканирования объектов на графике или ещё чем-то вроде - долго и муторно. Хотя... если индикатор потрясающ, то можно и попробовать заморочиться...

Также, если у Вас есть хотя бы элементарные представления о MQL4, могу расписать здесь, как прикрутить индикатор самой(му). Автор сделал снятие сигнала очень простой, чётко обособленной функцией, которую поменять - дело нескольких минут.
 

Макс777

Новичок форума
Нужно! :) Предлагайте, выкладывайте здесь, желательно в открытом коде.

Только единственная просьба: не предлагать мне прикручивать всё что под руку подвернётся. Перед тем как предлагать индикатор к прикручиванию, следует в течение разумно достаточного времени удостовериться в том, что предлагаемый индикатор действительно того стоит. Это первое. Второе: прошу предлагать только индикаторы, которые чётко отдают сигналы в буферы. Потому что возиться с разными экзотами, выискивая их сигналы путём сканирования объектов на графике или ещё чем-то вроде - долго и муторно. Хотя... если индикатор потрясающ, то можно и попробовать заморочиться...

Также, если у Вас есть хотя бы элементарные представления о MQL4, могу расписать здесь, как прикрутить индикатор самой(му). Автор сделал снятие сигнала очень простой, чётко обособленной функцией, которую поменять - дело нескольких минут.
...было бы не плохо,если вы распишите здесь,как прикрутить индюка самому,очень будет полезно,распишите пожалуйста!....
 

ИванМН

Местный знаток
распишите пожалуйста!....
Хорошо, чуть позже.

Генри_05, я в курсе, что Вы торжественно принесли присягу более не программировать, а только лишь пожинать плоды своих прежних трудов и наслаждаться ими. :) Но, коль скоро Вы имели отношение к созданию вместе с Игорем Герасько индикатора DivergenceViewer_AD, то, может быть, Вы, отринув на время свой созерцательный покой, сделаете его лайтовую версию, повыбросив всё не столь нужное и пересмотрев алгоритм на предмет более точного построения диверов? Если что, подробности можем обсудить лично. Был бы Вам премного благодарен.
 

Genry_05

Отдыхает
Хорошо, чуть позже.

Генри_05, я в курсе, что Вы торжественно принесли присягу более не программировать, а только лишь пожинать плоды своих прежних трудов и наслаждаться ими. :) Но, коль скоро Вы имели отношение к созданию вместе с Игорем Герасько индикатора DivergenceViewer_AD, то, может быть, Вы, отринув на время свой созерцательный покой, сделаете его лайтовую версию, повыбросив всё не столь нужное и пересмотрев алгоритм на предмет более точного построения диверов? Если что, подробности можем обсудить лично. Был бы Вам премного благодарен.
День добрый, ИванМН!
Индюк сваяли за где-то за год по результатам ручной торговли. Но желанного совершенства он не достиг ;)
Наличие только дивера оказалось недостаточно для точного входа.
без программирования - хорошо... снова лезть в него ну оооочень лениво:confused:
 
Последнее редактирование:

ИванМН

Местный знаток
Но желанного совершенства он не достиг
Это точно.
Наличия только дивера оказалось недостаточно для точного входа.
Да мне бы хватило... дальше там уже пошаманил бы.
снова лезть в него ну оооочень лениво
Жаль-жаль...:cry: а могло бы получиться очень вкусно. Но хозяин - барин.
 

Макс777

Новичок форума
...было бы не плохо,если вы распишите здесь,как прикрутить индюка самому,очень будет полезно,распишите пожалуйста!....
Доброго времени! вроде бы разобрался с заменой индюка в коде советника,-заменил,работает,единственное,что ордер открывается на текущей свече,а хотелось бы ещё знать где и что нужно изменить,что бы ордер открывался на следующей свече после сигнала1691555719942.png
 

popvcert

Активный участник
Доброго времени.

Советник был скачан мной в ветке этого замечательного программиста. Автор создал его для торговли по стратегии тикового счётчика. Как такового я прооптимизировал его в тестере, затем поставил на демо, но быстро разочаровался: результаты были околонулевые, что для меня, в общем-то, не стало сюрпризом: я прекрасно знаю, что тиковые счётчики в тестере МТ4 оптимизировать бессмысленно. У кого есть реальная тиковая история, можете, кстати, попытать счастья: а вдруг (отпишитесь мне тогда)?

Однако во всём остальном советник мне очень понравился. Открытый код, разнообразное и, главное, корректное сопровождение позиций: доливки, перевод в безубыток, пропорциональный лот, фиксация прибыли тейк-профитом или трейлингом, возможность установки СЛ, возможность закрывать или не закрывать старые позиции при открытии новых, устанавливаемое пользователем количество одновременно открываемых позиций, задаваемое время торговли, визуализация трасс закрытых позиций. Просто почти идеальная "болванка". Подправил кое-что по мелочи.

Первые опыты по прикручиванию к советнику других индикаторов проведены мной в ветке "Доработка советников" здесь: -https://forexsystemsru.com/threads/dorabotka-botov-sovetnikov-indikatorov-vol-2.77111/page-1498#post-1865659 и здесь: -https://forexsystemsru.com/threads/dorabotka-botov-sovetnikov-indikatorov-vol-2.77111/page-1500#post-1866993. Затем, будучи вдохновлён Valecastro с его дивергенциями, я прикрутил к советнику один из индикаторов дивергенций, что, собственно говоря, и представляю здесь: после проведения оптимизации на паре USD/JPY на ТФ М15 с начала года по сей день (из этого интервала три последние недели - форвард-тест) мы имеем по скальпинговой методике с короткими трейлингами разгон депо за 7 месяцев с 500 $ до чистой прибыли свыше 9600 $ при относительно приемлемой просадке в 41%. Поставил советник на демо, через некоторое время, если удостоверюсь, что всё работает без ошибок, опубликую мониторинг.

Индикатор кривой и примитивный, найден в Кодобазе, работает на OsMA, пропускает кучу чётких дивергенций, сигналя по очень сомнительным, и, тем не менее, удалось получить интересные результаты. Другие испробованные мной оттуда же индикаторы дивергенций были или ещё примитивнее, или же, наоборот, слишком громоздкими и заумными, с украшательскими излишествами (DivergenceViewer_AD, от Петра и т.д.), да, кстати и их работа мне в полной мере не понравилась: тоже иногда странно строят и много пропускают. А долго шарить по интернетам в поисках не хотелось. Поэтому остановился на FX5_Divergence. Если же вместо этого убогого индикатора прикрутить что получше, не обязательно связанное с дивергенциями, то и результат будет ещё лучше. Пробуйте!
Сов не работает
 

ИванМН

Местный знаток
хм... может попробуем без программирования - настройками
какие функции индикатора лишние и что надо добавить\изменить?
Спасибо, давайте попробуем. Как пела группа "Ноль": "Настоящему индейцу надо только одного, да и этого немного, да почти что ничего!" :) Нахожу полезным:
- убрать настройку "От экстремума цены до экстремума индикатора". Абсолютно пустая вещь. Только точное соответствие того и другого бар в бар!
- убрать настройку "Используемая цена". Только цены Close и никакие другие;
- убрать группу настроек "Фильтры". Признаться, я так и не понял до конца, за что они вообще "отвечают";
- убрать все настройки "Отображать". Дивергенции всех видов должны быть всегда видны;
- добавить настройку "Чувствительность": то есть значение порога в пунктах по Digits, при превышении которого значения индикатора считаются разными. Пример: Digits = 5, на 0-м баре индикатор кажет 0,00100, на первом баре - 0,00096. Порог равняется 5. Стало быть, разница в показаниях между барами = 0,00100 - 0,00096 = 0,00004, что ниже указанного порога (0,00005), поэтому бары считаются одинаковыми и первый бар не считается "ниже" нулевого;
- вывести сигналы о дивергенциях в отдельный буфер. Например, сигналы в Buy четырёх типов выводить в буфер как 1,2,3,4, сигналы в Sell - как -1,-2,-3,-4.

Ну, вот наиболее бросающееся в глаза. Если хотя бы что-то удастся сделать, уже хорошо.
 

ИванМН

Местный знаток
единственное,что ордер открывается на текущей свече
Извиняюсь, а на какой свече должна открываться позиция? На закрытой? Или на будущей?

Позиция открывается на открытии нового бара сразу же после отдачи индикатором сигнала. Поскольку для завершения формирования ближней к нам вершины или впадины нужно дождаться закрытия бара, стоящего справа от пика/впадины, мы сможем открыть позицию только на следующем баре, то есть нулевом. Поэтому индикатор отдаёт значение в ячейку буфера с индексом [2] и рисует стрелку на баре [2], ну а открываемся мы на нулевом. Всё правильно.
распишите пожалуйста!....
Сигналы от индикатора принимаются функцией CalculateSignal(). Индикаторы, с точки зрения приёма сигналов, могут быть однобуферными (сигналы по обоим направлениям пишутся в один буфер) и двухбуферными (как DivergenceFX5, каждое направление пишется в свой буфер). В последнем случае тело функции имеет вид:
C-подобный:
Expand Collapse Copy
bool CalculateSignal()
{
   if(iCustom(_Symbol,0,"FX5_Divergence_V2[1].1","",fastEMA,slowEMA,signal,"",false,2,2) != EMPTY_VALUE)
   {
      if(UseClose != None) CloseTrades(OP_SELL);
      if(UseClose == All) CloseTrades(OP_BUY);
      openOrder(OP_BUY);
      return(true);
   } else
   if(iCustom(_Symbol,0,"FX5_Divergence_V2[1].1","",fastEMA,slowEMA,signal,"",false,3,2) != EMPTY_VALUE)
   {
      if(UseClose != None) CloseTrades(OP_BUY);
      if(UseClose == All) CloseTrades(OP_SELL);
      openOrder(OP_SELL);
      return(true);
   }
   return(false);
}
Имейте в виду, что условно "пустое" значение буфера может как иметь значение 0.0, так и EMPTY_VALUE (214748364), в разных индикаторах по-разному. Здесь, в FX5, реализован именно второй вариант, но в Вашем индикаторе может быть и 0. Это надо проверить и прописать в функции Ваш вариант.

В случае, если Вы желаете прикрутить однобуферный индикатор, то вся конструкция упрощается. Предположим, что все значения пишутся в буфер № 2, при этом сигналу в Buy соответствует единица, а сигналу в Sell - минус единица. Тогда тело функции примет такой вид:
C-подобный:
Expand Collapse Copy
bool CalculateSignal()
{
   char Dir = char(iCustom(_Symbol,0,"FX5_Divergence_V2[1].1","",fastEMA,slowEMA,signal,"",false,2,2));
   if (Dir == 1)
   {
      if(UseClose != None) CloseTrades(OP_SELL);
      if(UseClose == All) CloseTrades(OP_BUY);
      openOrder(OP_BUY);
      return(true);
   } else
   if(Dir == -1)
   {
      if(UseClose != None) CloseTrades(OP_BUY);
      if(UseClose == All) CloseTrades(OP_SELL);
      openOrder(OP_SELL);
      return(true);
   }
   return(false);
}
Если записываемое индикатором в буфер число имеет дробную часть, то к типу char результат функции iCustom приводить не надо. При этом не следует забывать, что точное сравнение дробных чисел лучше всего выполнять функцией NormalizeDouble, сравнивая нормализованную разность дробных чисел с нулём.
При замене текущего индикатора на свой не забудьте заменить первый блок настроек советника на настройки, актуальные для Вашего индикатора, и, разумеется, скорректируйте функцию iCustom, прописав в ней имя Вашего индикатора, актуальные настройки, номера рабочего буфера и бара (предпоследнее и последнее число). При этом, возможно, в случае прикручивания индикатора с большим количеством настроек, для того чтобы не растягивать вызов индикатора функцией iCustom на пять строк, возможно, придётся перегруппировать настройки Вашего индикатора так, чтобы критичные настройки шли с самого начала и обязательно друг за другом, а остальные, не используемые при вызове, настройки надо перевести в режим наименьшего потребления ресурсов и перекомпилировать индикатор с этими значениями, чтобы они стали умолчательными. При вызове индикатора в функции iCustom критичные настройки указываются, а некритичные опускаются.

В общем и целом так. Если что-то не будет получаться, пишите. Только лучше в личные сообщения, чтобы не забивать ветку техническими, неинтересными большинству, постами.
 
Последнее редактирование:

Макс777

Новичок форума
Извиняюсь, а на какой свече должна открываться позиция? На закрытой? Или на будущей?

Позиция открывается на открытии нового бара сразу же после отдачи индикатором сигнала. Поскольку для завершения формирования ближней к нам вершины или впадины нужно дождаться закрытия бара, стоящего справа от пика/впадины, мы сможем открыть позицию только на следующем баре, то есть нулевом. Поэтому индикатор отдаёт значение в ячейку буфера с индексом [2] и рисует стрелку на баре [2], ну а открываемся мы на нулевом. Всё правильно.

Сигналы от индикатора принимаются функцией CalculateSignal(). Индикаторы, с точки зрения приёма сигналов, могут быть однобуферными (сигналы по обоим направлениям пишутся в один буфер) и двухбуферными (как DivergenceFX5, каждое направление пишется в свой буфер). В последнем случае тело функции имеет вид:
C-подобный:
Expand Collapse Copy
bool CalculateSignal()
{
   if(iCustom(_Symbol,0,"FX5_Divergence_V2[1].1","",fastEMA,slowEMA,signal,"",false,2,2) != EMPTY_VALUE)
   {
      if(UseClose != None) CloseTrades(OP_SELL);
      if(UseClose == All) CloseTrades(OP_BUY);
      openOrder(OP_BUY);
      return(true);
   } else
   if(iCustom(_Symbol,0,"FX5_Divergence_V2[1].1","",fastEMA,slowEMA,signal,"",false,3,2) != EMPTY_VALUE)
   {
      if(UseClose != None) CloseTrades(OP_BUY);
      if(UseClose == All) CloseTrades(OP_SELL);
      openOrder(OP_SELL);
      return(true);
   }
   return(false);
}
Имейте в виду, что условно "пустое" значение буфера может как иметь значение 0.0, так и EMPTY_VALUE (214748364), в разных индикаторах по-разному. Здесь, в FX5, реализован именно второй вариант, но в Вашем индикаторе может быть и 0. Это надо проверить и прописать в функции Ваш вариант.

В случае, если Вы желаете прикрутить однобуферный индикатор, то вся конструкция упрощается. Предположим, что все значения пишутся в буфер № 2, при этом сигналу в Buy соответствует единица, а сигналу в Sell - минус единица. Тогда тело функции примет такой вид:
C-подобный:
Expand Collapse Copy
bool CalculateSignal()
{
   char Dir = char(iCustom(_Symbol,0,"FX5_Divergence_V2[1].1","",fastEMA,slowEMA,signal,"",false,2,2));
   if (Dir == 1)
   {
      if(UseClose != None) CloseTrades(OP_SELL);
      if(UseClose == All) CloseTrades(OP_BUY);
      openOrder(OP_BUY);
      return(true);
   } else
   if(Dir == -1)
   {
      if(UseClose != None) CloseTrades(OP_BUY);
      if(UseClose == All) CloseTrades(OP_SELL);
      openOrder(OP_SELL);
      return(true);
   }
   return(false);
}
Если записываемое индикатором в буфер число имеет дробную часть, то к типу char результат функции iCustom приводить не надо. При этом не следует забывать, что точное сравнение дробных чисел лучше всего выполнять функцией NormalizeDouble, сравнивая нормализованную разность дробных чисел с нулём.
При замене текущего индикатора на свой не забудьте заменить первый блок настроек советника на настройки, актуальные для Вашего индикатора, и, разумеется, скорректируйте функцию iCustom, прописав в ней имя Вашего индикатора, актуальные настройки, номера рабочего буфера и бара (предпоследнее и последнее число). При этом, возможно, в случае прикручивания индикатора с большим количеством настроек, для того чтобы не растягивать вызов индикатора функцией iCustom на пять строк, возможно, придётся перегруппировать настройки Вашего индикатора так, чтобы критичные настройки шли с самого начала и обязательно друг за другом, а остальные, не используемые при вызове, настройки надо перевести в режим наименьшего потребления ресурсов и перекомпилировать индикатор с этими значениями, чтобы они стали умолчательными. При вызове индикатора в функции iCustom критичные настройки указываются, а некритичные опускаются.

В общем и целом так. Если что-то не будет получаться, пишите. Только лучше в личные сообщения, чтобы не забивать ветку техническими, неинтересными большинству, по

Извиняюсь, а на какой свече должна открываться позиция? На закрытой? Или на будущей?

Позиция открывается на открытии нового бара сразу же после отдачи индикатором сигнала. Поскольку для завершения формирования ближней к нам вершины или впадины нужно дождаться закрытия бара, стоящего справа от пика/впадины, мы сможем открыть позицию только на следующем баре, то есть нулевом. Поэтому индикатор отдаёт значение в ячейку буфера с индексом [2] и рисует стрелку на баре [2], ну а открываемся мы на нулевом. Всё правильно.

Сигналы от индикатора принимаются функцией CalculateSignal(). Индикаторы, с точки зрения приёма сигналов, могут быть однобуферными (сигналы по обоим направлениям пишутся в один буфер) и двухбуферными (как DivergenceFX5, каждое направление пишется в свой буфер). В последнем случае тело функции имеет вид:
C-подобный:
Expand Collapse Copy
bool CalculateSignal()
{
   if(iCustom(_Symbol,0,"FX5_Divergence_V2[1].1","",fastEMA,slowEMA,signal,"",false,2,2) != EMPTY_VALUE)
   {
      if(UseClose != None) CloseTrades(OP_SELL);
      if(UseClose == All) CloseTrades(OP_BUY);
      openOrder(OP_BUY);
      return(true);
   } else
   if(iCustom(_Symbol,0,"FX5_Divergence_V2[1].1","",fastEMA,slowEMA,signal,"",false,3,2) != EMPTY_VALUE)
   {
      if(UseClose != None) CloseTrades(OP_BUY);
      if(UseClose == All) CloseTrades(OP_SELL);
      openOrder(OP_SELL);
      return(true);
   }
   return(false);
}
Имейте в виду, что условно "пустое" значение буфера может как иметь значение 0.0, так и EMPTY_VALUE (214748364), в разных индикаторах по-разному. Здесь, в FX5, реализован именно второй вариант, но в Вашем индикаторе может быть и 0. Это надо проверить и прописать в функции Ваш вариант.

В случае, если Вы желаете прикрутить однобуферный индикатор, то вся конструкция упрощается. Предположим, что все значения пишутся в буфер № 2, при этом сигналу в Buy соответствует единица, а сигналу в Sell - минус единица. Тогда тело функции примет такой вид:
C-подобный:
Expand Collapse Copy
bool CalculateSignal()
{
   char Dir = char(iCustom(_Symbol,0,"FX5_Divergence_V2[1].1","",fastEMA,slowEMA,signal,"",false,2,2));
   if (Dir == 1)
   {
      if(UseClose != None) CloseTrades(OP_SELL);
      if(UseClose == All) CloseTrades(OP_BUY);
      openOrder(OP_BUY);
      return(true);
   } else
   if(Dir == -1)
   {
      if(UseClose != None) CloseTrades(OP_BUY);
      if(UseClose == All) CloseTrades(OP_SELL);
      openOrder(OP_SELL);
      return(true);
   }
   return(false);
}
Если записываемое индикатором в буфер число имеет дробную часть, то к типу char результат функции iCustom приводить не надо. При этом не следует забывать, что точное сравнение дробных чисел лучше всего выполнять функцией NormalizeDouble, сравнивая нормализованную разность дробных чисел с нулём.
При замене текущего индикатора на свой не забудьте заменить первый блок настроек советника на настройки, актуальные для Вашего индикатора, и, разумеется, скорректируйте функцию iCustom, прописав в ней имя Вашего индикатора, актуальные настройки, номера рабочего буфера и бара (предпоследнее и последнее число). При этом, возможно, в случае прикручивания индикатора с большим количеством настроек, для того чтобы не растягивать вызов индикатора функцией iCustom на пять строк, возможно, придётся перегруппировать настройки Вашего индикатора так, чтобы критичные настройки шли с самого начала и обязательно друг за другом, а остальные, не используемые при вызове, настройки надо перевести в режим наименьшего потребления ресурсов и перекомпилировать индикатор с этими значениями, чтобы они стали умолчательными. При вызове индикатора в функции iCustom критичные настройки указываются, а некритичные опускаются.

В общем и целом так. Если что-то не будет получаться, пишите. Только лучше в личные сообщения, чтобы не забивать ветку техническими, неинтересными большинству, постами.
спасибо большое,Иван,что потрудились расписать,всё это очень интересно,но,простому обывателю-пользователю,ни хрена не понятно,китайская азбука,к сожалению,нам бы попроще,без технических подробностей,к примеру как на скрине который я делал в предыдущем сообщении,но всё равно,ещё раз спасибо!
 

ИванМН

Местный знаток
Макс, я выше писал, что распишу для тех, кто хотя бы немного владеет MQL и понимает принципы построения советников и их взаимодействия с индюками. Не забивайте себе голову. Если отыщете крутой индюк, скидывайте сюда, я прикручу.
 

oddron

Почетный гражданин
Макс, я выше писал, что распишу для тех, кто хотя бы немного владеет MQL и понимает принципы построения советников и их взаимодействия с индюками. Не забивайте себе голову. Если отыщете крутой индюк, скидывайте сюда, я прикручу.
На Dефолте по всем тикам сов льёт, может хоть сет какой-то?
 
Верх