Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 833

 
Vladimir Karputov:

Сначала чётко сформулируйте:

  • условие открытия позиции
  • условие закрытия позиции

основные условия открытия позиции на примере открытия на покупку (для продаж зеркально):

  1.  быстрая линия стохастика пересекает медленную  линию стохастика снизу вверх
  2. нужно добавить условие -  если есть открытая позиция  на покупку, при новом сигнале (см.пункт выше) сделка открывается только в том случае когда цена открытия новой сделки выше цены открытия последней открытой позиции на заданное кол-во пунктов, например 30.

условия закрытия позиции (на покупку), должны выполнится оба пункта

  1. медленная линия стохастика пересекает уровень 80 стохастика сверху вниз
  2. нужно добавить условие  - это второе пересечение (см. пункт выше) для каждой ранее открытой позиции.
сорри если не точно пояснил по закрытию, на графике закрытие выглядит так: красными крестикам отмечены два сигнала на закрытие сделки, т.к. медленная (красного цвета) линия стохастика пересекает уровень 80 сверху вниз. Но сделка закрывается только на втором сигнале/пересечении


 
gastinets:

основные условия открытия позиции на примере открытия на покупку (для продаж зеркально):

  1.  быстрая линия стохастика пересекает медленную  линию стохастика снизу вверх
  2. нужно добавить условие -  если есть открытая позиция  на покупку, при новом сигнале (см.пункт выше) сделка открывается только в том случае когда цена открытия новой сделки выше цены последней открытой позиции на заданное кол-во пунктов, например 30.

***


Кажется пропустили условие для открытии позиции : в каких пределах должен быть индикатор (или уровень выше или ниже которого должен быть индикатор) ...

 
Vladimir Karputov:

Кажется пропустили условие для открытии позиции : в каких пределах должен быть индикатор (или уровень выше или ниже которого должен быть индикатор) ...

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

 
gastinets:

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

Может перенесём в отдельную тему - , что-то вроде "Советник по стохастику, позиции с отступом"?

 

давайте перенесем

мне сделать новую тему или вы сделаете?

 
gastinets:

давайте перенесем

мне сделать новую тему или вы сделаете?

Создайте пожалуйста тему сами в разделе: Автоматические торговые системы

 
Комментарии, не относящиеся к этой теме, были перенесены в "Вопросы от начинающих MQL4 MT4 MetaTrader 4".
 
Vladimir Karputov:

Я думаю можно всё сделать намного проще - в советнике порог на ЗАКРЫТИЕ ставите равным 100, а вес сигналу даёте 0.5 - таким образом сигнал с весом 0.5 НИКОГДА не преодолеет порог 100


Спасибо! Вроде бы заработало!

 
Объясните пожалуйста в чем косяк. По задумке функция должна перебирать открытые позиции и подсчитывать количество с заданным магиком. Но  по факту из всего списка выбирает только одну, открытую другим советником с одним и тем же тикетом и магиком, соответственно count всегда =0.
int OpenPositions()//проверка открытых позиций
  {
   int count=0;
   for(int z=PositionsTotal()-1; z>=0; z --)
     {
      if(!PositionSelect(_Symbol))
        {
         Print(__FUNCSIG__" позиция не выбрана ",GetLastError()); continue;
        }
      long  ticket = PositionGetInteger(POSITION_TICKET);
            Print(__FUNCSIG__" ТИКЕТ ", IntegerToString(ticket));
      ulong myMN=PositionGetInteger(POSITION_MAGIC);
            Print(__FUNCSIG__" МАГИК ", IntegerToString(myMN));
      if(myMN==Magic)
            count++;
     }
   return(count);
  }
Причина обращения: