Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1669

 
artem artem #:

Какие дополнения я хотел внести внести:

     1. Сделать так, что-бы   открытие сделки и   проверка на соотвествие всех условий индикаторов (пересечение быстрой (5) двух медленных (75) (85) и открытие бара MACD в ту же сторону с  быстрой (5) ) осуществлялось   только по цене открытия новой свечи   (самый первый тик 30 минуной свечи каждой);
  1. Создать условия «обнуления» индикаторов. К примеру,   для быстрой скользящей (5): если она выше медленных — то это сигнал на buy. Если после этого, она уходит вниз, и   либо касается одного из, либо находится между медленными скользящими (75) и (85) — то тогда сигнал от быстрой скользящей как-бы   «обнуляется», и будет оставаться в таком   «нулевом» положении, пока будет касаться или оставаться между медленными. Если после этого,   быстрая пересекает обе медленных в одну из сторон (в том числе, если она вернулась в ту сторону, из которой пришла до касание медленных) —   то тогда это будет сигналом от этого индикатора.   C MACD ситуация аналогичная — только   «обнулением» будет являтся значение MACD=0 (если на свече 1. MACD открылся, к примеру, с значением   0,0043, а на свече 2. с значением   -0,0010, значит было   «обнуление» и MACD на свече 2. выдал новый сигнал). При этом, есть один момент:   быстрая (5) и  MACD должны быть как-бы «на равных правах» — если (5) не меняет своё положение относительно медленных, а в это время MACD открылся на прошлой свече в противоположной зоне (нет входа), а на следующей — в той же зоне что и быстрая — тогда все условия сошлись, и должен быть вход в ордер.   Обращаю внимание, что всё это должно быть только по ценам открытия свеч — только по этому одному тику;
  1. Ну и собственно последнее. Сделать так, что-бы после совпадения всех условий по индикаторам (по ценам открытия свеч),   советник выжидал 4 цены открытия свеч подряд

    1. Цена открытия 1ой свечи — (5) над (75) и (85) + бар MACD открылся выше 0 —   1 из 4 подтверждений есть;
    2. Цена открытия 2ой свечи — (5) над (75) и (85) + бар MACD открылся выше 0 —   2 из 4 подтверждений есть
    3. Цена открытия 3ей свечи — (5) над (75) и (85) + бар MACD открылся выше 0 —   3 из 4 подтверждений есть;
    4. Цена открытия 4ой свечи — (5) над (75) и (85) + бар MACD открылся выше 0 —   4 из 4 подтверждений есть    Открытие сделки на buy на этой же свече (4ой). 
            Аналогичная ситуация с ордерами на   sell, только в другом направлении индикаторы должны открываться. И есть важный момент —   если на, скажем, любом этапе от 1ой свечи до 4ой,   индикаторы изменят своё положение (к примеру, на 3ей свече открытия, бар MACD откроется либо ниже 0, либо =0) —   тогда всё сбрасывается, т.к. сигналы не прошли проверку по открытию 4ых свеч-подряд

Я с такими настройками - попробовал сделать индикатор (СТЕРЛКА КРАСНАЯ И СИНЯЯ )

сравнил с другими индикаторами - Все они на одну тему 

EURUSDH1

 
MakarFX #:

Тогда находишь цены открытия мин/мак, складываешь и делишь на 2, к полученному результату, если покупки прибавляешь пункты*Point,

а если продажи отнимаешь

Макар если можно разъясни мне бестолковому более подробно: Цена открытия чего???? 

 
EVGENII SHELIPOV #:

Макар если можно разъясни мне бестолковому более подробно: Цена открытия чего???? 

Цена открытия максимального и минимального ордера

 
MakarFX #:

Цена открытия максимального и минимального ордера

Интересно а если шаг между ордерами "Динамический" изменяется в зависимости от волатильности??? 

 
EVGENII SHELIPOV #:

Интересно а если шаг между ордерами "Динамический" изменяется в зависимости от волатильности??? 

Не понял вопроса
 
EVGENII SHELIPOV #:

Интересно а если шаг между ордерами "Динамический" изменяется в зависимости от волатильности??? 

Или это не причем???

 
MakarFX #:
Не понял вопроса

Это тоже самое что считать среднюю цену но с учетом лота

 
EVGENII SHELIPOV #:

Или это не причем???

Ты ушел от изначальной темы!

Ты хотел некий "цифирь" в пунктах от точки безубытка, чтобы закрыть ордера с максимальным и минимальным тикетом.

Так вот находишь цены открытия этих ордеров, складываешь их и делишь на два - это и будет цена к которой надо прибавить или отнять пункты

 
MakarFX #:

Ты ушел от изначальной темы!

Ты хотел некий "цифирь" в пунктах от точки безубытка, чтобы закрыть ордера с максимальным и минимальным тикетом.

Так вот находишь цены открытия этих ордеров, складываешь их и делишь на два - это и будет цена к которой надо прибавить или отнять пункты

Да Макар я уже понял. Только считать это надо с учетом весовых коэффициентов размера лота мин и макс то есть  нужно вести параллельный подсчет по принципу калькуляции и по принципу указанному ниже. Думаю это не целесообразно

double   AwerageBuyPrice = 0, AwerageSelPrice = 0;
      if(b >= 2)
         AwerageBuyPrice = NormalizeDouble((BuyPriceMax * BuyPriceMaxLot + BuyPriceMin * BuyPriceMinLot) / (BuyPriceMaxLot + BuyPriceMinLot) + iMinimalProfit * Point(), Digits());
      if(s >= 2)
         AwerageSelPrice = NormalizeDouble((SelPriceMax * SelPriceMaxLot + SelPriceMin * SelPriceMinLot) / (SelPriceMaxLot + SelPriceMinLot) - iMinimalProfit * Point(), Digits());

Мой вопрос был простой как вместо профита в валюте указать чтобы мин макс ордера закрылись после точки безубыточности через определенное количество пунктов 
 

 
EVGENII SHELIPOV #:

Да Макар я уже понял. Только считать это надо с учетом весовых коэффициентов размера лота мин и макс то есть  нужно вести параллельный подсчет по принципу калькуляции и по принципу указанному ниже. Думаю это не целесообразно

Мой вопрос был простой как вместо профита в валюте указать чтобы мин макс ордера закрылись после точки безубыточности через определенное количество пунктов 
 

У тебя есть функция средней цены "GetAveragePrice()"

Сделай такую же, но только для "max_ticket" и "min_ticket"

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