Обсуждение статьи "Пошаговое руководство по написанию советников в MQL5 для начинающих" - страница 10

 
Korobejnik:

bool Sell_Condition_1 = (maVal[0]<maVal[1]) && (maVal[1]<maVal[2]);  // MA-8 падает

А что в ней не так?

Это был юмор. Дело в том, что здесь технический форум и штатных экстрасенсов и телепатов читающих мысли нет.

Хотите получить правильный ответ - правильно задайте вопрос: уточните, кто, что, куда и где не получается. Иначе будут ответы как выше :)

 
Vladimir Karputov:

Это был юмор. Дело в том, что здесь технический форум и штатных экстрасенсов и телепатов читающих мысли нет.

Хотите получить правильный ответ - правильно задайте вопрос: уточните, кто, что, куда и где не получается. Иначе будут ответы как выше :)

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

Советник не видит что уже есть открытые позиции Buy и Sell и открывает новые, несмотря на то что в коде есть проверка

на уже открытые позиции. Проверка почему то не срабатывает.
 
Korobejnik:
Советник открывает несколько позиций подряд на покупку, тоже самое на продажу.

Советник не видит что уже есть открытые позиции Buy и Sell и открывает новые, несмотря на то что в коде есть проверка

на уже открытые позиции. Проверка почему то не срабатывает.

В КодоБазе тысячи советников. В конце каждого описания советника в КодоБАзе есть кнопка: перейти к обсуждению на форуме. Задайте свой вопрос в теме советника, который Вы скачали.

 

Доброй ночи. В посте 77 кажется уже задавали вопрос:

Tron_KZ 2015.01.14 16:20      RU
Из статьи:
Новый бар характеризуется величиной тикового объема, равной 1, если он больше 1, то выполнение функции OnTick завершается.

А где находится код, который удовлетворяет этому описанию? Я что то не пойму, или в коде такого нет.


Ответа никто не дал. Прнисоединяюсь к вопросу, просто хочется быть уверенным что это не я не доглядел, а просто затерялся какойто рудимент из рукописи - недобиток. Или таки есть фрагмент кода с проверкой на величину тикового обЪема ,,,,????

 
Sergey Voytsekhovsky:
Ответа никто не дал. Прнисоединяюсь к вопросу, просто хочется быть уверенным что это не я не доглядел, а просто затерялся какойто рудимент из рукописи - недобиток. Или таки есть фрагмент кода с проверкой на величину тикового обЪема ,,,,????
Вы правы, такого кода в предложенном исходнике нет. Проверка тика на новый бар выполняется через сравнение времени открытия текущего бара между тиками.
 
Korobejnik:

Подскажите как решить проблему. Советник открывает несколько позиций подряд на покупку, тоже самое на продажу.

Советник не видит что уже есть открытые позиции Buy и Sell и открывает новые, несмотря на то что в коде есть проверка

на уже открытые позиции. Проверка почему то не срабатывает.

Поскольку от троллей-модераторов здесь помощи не дождешься, скопирую ответ с англоязычного форума:

Ребята, это простой быстро модифицируемый код, если у вас есть ошибка с несколькими ордерами, открывающимися одновременно. Заменить этот код: из строки 167 -177

   if(PositionSelect(_Symbol)==true) // we have an opened position
     {
      if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
        {
         Buy_opened=true;  //It is a Buy
        }
      else if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
        {
         Sell_opened=true; // It is a Sell
        }
     }

с этим:

   int total= PositionsTotal();
   for(int i=0;i<total;i++)
     {
      if(PositionGetSymbol(i)==_Symbol);
        {
         if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
           {
            Buy_opened=true;  //It is a Buy
           }
         else if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
           {
            Sell_opened=true; // It is a Sell
           }
        }
      }
 
Locus_Neminis:

Поскольку от троллей-модераторов здесь помощи не дождешься, скопирую ответ с англоязычного форума:

Ребята, это простой быстро модифицируемый код, если у вас есть ошибка с несколькими ордерами, открывающимися одновременно. Заменить этот код: из строки 167 -177

с этим:

Это не поможет. У меня в профиле есть тема на этот счёт. Там есть причина и решение проблемы.
Про троллей не понял.
 
Создание советника сразу начинается с выбора входного сигнала какого либо индикатора. А если я хочу просто открыть один отложенный стоп- или лимит-ордер или два противоположных стоп-ордера или сетку ордеров?! Что и как сделать?! Подскажите пожалуйста.
 
fenix74:
Создание советника сразу начинается с выбора входного сигнала какого либо индикатора. А если я хочу просто открыть один отложенный стоп- или лимит-ордер или два противоположных стоп-ордера или сетку ордеров?! Что и как сделать?! Подскажите пожалуйста.

Начните с малого: при помощи Мастера MQL5 создайте шаблон советника (именно шаблон, но не генерация).

После этого можно будет двигаться дальше (как в школе: получили задание, показали выполненный урок - получили следующее задание).

 
Vladimir Karputov:

Начните с малого: при помощи Мастера MQL5 создайте шаблон советника (именно шаблон, но не генерация).

После этого можно будет двигаться дальше (как в школе: получили задание, показали выполненный урок - получили следующее задание).

Спасибо за ответ Владимир! Я не совсем новичок, могу написать несложный советник на MQL4, создание шаблона советника у них одинаковое. Просто уже ввиду возраста MQL4 тяжело давался, а тут 5-ку осваивать уже давно надо. Хотел советники с отложками и сетками переделать на 5-ку по быстрому. Пробовал изучить ООП, пока не получается, мало информации, уроков для начинающих.

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