Доработка ботов (советников, индикаторов) vol. 2

consul

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

Вложения

  • 4_7.gif
    4_7.gif
    19,1 КБ · Просмотры: 185
  • DT-ZigZag-ATR.mq4
    2,2 КБ · Просмотры: 37

BUT

Местный житель
К уважаемым программистам .
Прикрепленный индикатор дает сигналы на закрытии бара . Пожалуйста , перенесите эти сигналы на один бар вперед , чтоб данные сигналы появлялись на открытии нового бара на нем . Вроде задание не сложное , но у самого не получается это осуществить . Благодарю заранее за помощь .
Пожалуйста.
 

Вложения

  • DT-ZigZag-ATR 0 bar.mq4
    4,3 КБ · Просмотры: 70

dato896

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

Вложения

  • WolfeWaves_Complicated.mq4
    4,1 КБ · Просмотры: 24

Bullra

Новичок
Если не сложно, просьба добавить в дельту нормализацию.
 

Вложения

  • Ma_normalized.mq4
    4,2 КБ · Просмотры: 22
  • cumDelta.mq4
    12,8 КБ · Просмотры: 25

BUT

Местный житель

Вложения

  • WolfeWaves_Complicated.mq4
    4,1 КБ · Просмотры: 121
  • 1718518003760.png
    1718518003760.png
    50,4 КБ · Просмотры: 210

Dmitry2kk

Активный участник
Добрый день уважаемые программисты, может кто подправить данный индюк, что-бы он отображал стрелки не на каждой новой свече а только когда она меняется на противоположную
 

Вложения

  • LP_entry.mq4
    6 КБ · Просмотры: 11

BUT

Местный житель
Добрый день уважаемые программисты, может кто подправить данный индюк, что-бы он отображал стрелки не на каждой новой свече а только когда она меняется на противоположную
 

Вложения

  • LP_entry.mq4
    6,2 КБ · Просмотры: 59
  • 1718532628096.png
    1718532628096.png
    46,3 КБ · Просмотры: 197

vcegda

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

Вложения

  • Fine_Fractals.mq4
    6,6 КБ · Просмотры: 17

t2g

Интересующийся
Здравствуйте. Могли бы вы добавить опцию для закрытия позиции при использовании сигналов других стрелочных индикаторов в этом универсальном советнике (EA)? Также нужно добавить ограничения на максимальное количество открытых позиций как для покупок, так и для продаж. Спасибо заранее.
 

Вложения

  • LUKE'S Universal EA.mq4
    82,2 КБ · Просмотры: 22

dato896

Активный участник
Держи. Теперь работает.
Видимо, нерабочая версия рисовала стрелки 5 баров назад. Теперь исправлено, и новые стрелки появляются, но всё равно 5 баров назад. Можно с этим что-нибудь поделать? спасибо за ранее
 

BUT

Местный житель
Разделите пожалуйста алерты, чтобы иметь возможность включить алерт или на нижний фрактал, или на верхний.
В настройках отдельно включайте/выключайте алерт на нижний/верхний фракталы.
 

Вложения

  • 1718616939420.png
    1718616939420.png
    22,7 КБ · Просмотры: 34
  • Fine_Fractals.mq4
    6,8 КБ · Просмотры: 22

BUT

Местный житель
Видимо, нерабочая версия рисовала стрелки 5 баров назад. Теперь исправлено, и новые стрелки появляются, но всё равно 5 баров назад. Можно с этим что-нибудь поделать? спасибо за ранее
У этого индикатора такой расчет. Он рассчитывается по пяти последним барам и сигнал ставит на пятом баре.
А Вы думали, в сказку попали и грааль нашли с идеальными сигналами?:ROFLMAO::ROFLMAO::ROFLMAO:
Имея такой индикатор и 10$ долларов в кармане, через год Вы бы имели все, что Вы хотите. Или практически все.

Поймите, пожалуйста, одну вещь. Если Вы видите на скриншоте или у себя в терминале идеальные сигналы, да еще и на самых пиках графика, то первая мысль, которая должна возникнуть у Вас в голове: "А не пересчитывается/перерисовывается этот индикатор? Запаздывает ли он?" Вы к каждому индикатору должны иметь предвзятое, скептическое отношение, а не представлять золотые горы или долларовые острова.

P.S. Я передвинул сигналы на нулевой бар (Появляются на открытии нулевого бара и не рисуют). Как видите, они сразу стали не такими граальными...
 

Вложения

  • WolfeWaves_Complicated.mq4
    4,5 КБ · Просмотры: 45
  • 1718620894571.png
    1718620894571.png
    43 КБ · Просмотры: 154

erex

Элитный участник
У этого индикатора такой расчет. Он рассчитывается по пяти последним барам и сигнал ставит на пятом баре.
А Вы думали, в сказку попали и грааль нашли с идеальными сигналами?:ROFLMAO::ROFLMAO::ROFLMAO:
Имея такой индикатор и 10$ долларов в кармане, через год Вы бы имели все, что Вы хотите. Или практически все.

Поймите, пожалуйста, одну вещь. Если Вы видите на скриншоте или у себя в терминале идеальные сигналы, да еще и на самых пиках графика, то первая мысль, которая должна возникнуть у Вас в голове: "А не пересчитывается/перерисовывается этот индикатор? Запаздывает ли он?" Вы к каждому индикатору должны иметь предвзятое, скептическое отношение, а не представлять золотые горы или долларовые острова.

P.S. Я передвинул сигналы на нулевой бар (Появляются на открытии нулевого бара и не рисуют). Как видите, они сразу стали не такими граальными...
Если вот эту всю хренотень убрать, получше будет смотреться
1718621838266.png
 

dato896

Активный участник
У этого индикатора такой расчет. Он рассчитывается по пяти последним барам и сигнал ставит на пятом баре.
А Вы думали, в сказку попали и грааль нашли с идеальными сигналами?:ROFLMAO::ROFLMAO::ROFLMAO:
Имея такой индикатор и 10$ долларов в кармане, через год Вы бы имели все, что Вы хотите. Или практически все.

Поймите, пожалуйста, одну вещь. Если Вы видите на скриншоте или у себя в терминале идеальные сигналы, да еще и на самых пиках графика, то первая мысль, которая должна возникнуть у Вас в голове: "А не пересчитывается/перерисовывается этот индикатор? Запаздывает ли он?" Вы к каждому индикатору должны иметь предвзятое, скептическое отношение, а не представлять золотые горы или долларовые острова.

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

egor008

Активный участник
Алексей, если вас не затруднит, помогите пожалуйста с индикатором. Не могу, стрелку правильно выставить.

A.png

На картинке: Линия МА с периодом 20. Нормализована до 3 знаков. (ступенчатая bufer_MA[] );

На каждой ступеньке вверх, выставляется синяя стрелка (код: 159 arrow_up[]);

Количество непрерывных ступеней, записывается в счётчик. ( count_up[] );

Использовал 4 буфера: 1.Линия МА. 2. Синяя стрелка. 3. Счётчик ступеней. 4. Для красной стрелки.


Нужно выставить красную стрелку (круг код: 161) всегда на синюю стрелку,

при таких условиях:

При появлении первой синей стрелки - (это первая ступень вверх) выставить Красную стрелку на синюю стрелку.
При появлении второй синей стрелки - (это вторая ступень вверх) выставить Красную стрелку на синюю новую-верхнюю стрелку. При этом удалить предыдущую Красную стрелку, с нижн(ей-их) ступеней.
При появлении третей синей стрелки - (это третья ступень вверх) выставить Красную стрелку на синюю новую-верхнюю стрелку. При этом удалить предыдущую Красную стрелку, с нижн(ей-их) ступеней.

и т.д.

То есть, если синих стрелок больше одной, и счётчик ступеней больше нуля, то переставить Красную стрелу, на новую (верхнюю) синюю стрелку.


Делал так:

PHP:
#property strict
#property indicator_chart_window

#property indicator_buffers 4

#property indicator_color1 clrSteelBlue
#property indicator_color2 clrDodgerBlue
#property indicator_color3 clrNONE
#property indicator_color4 clrRed




input int period_MA = 20;
input int Normalize = 3;


double bufer_MA[];
double arrow_up[];
double count_up[];


double arr_verh[];

 
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
{
    //--- indicator buffers mapping
    SetIndexBuffer(0, bufer_MA);  SetIndexStyle(0, DRAW_LINE);                                         // Синяя линия
    SetIndexBuffer(1, arrow_up);  SetIndexStyle(1, DRAW_ARROW, 0, 2); SetIndexArrow(1, 159);           // Синяя стрелка
    SetIndexBuffer(2, count_up);  SetIndexStyle(2, DRAW_NONE);                                         // Счётчик ступеней
 
    SetIndexBuffer(3, arr_verh);  SetIndexStyle(3, DRAW_ARROW, 0, 1); SetIndexArrow(3, 161);           // Для красной стрелки

 
    return (INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{

    int limit = rates_total - prev_calculated;
    if (limit > 1)limit -= 1;


 

    // Ступеньки из линии МА
    for (int i = 0; i < limit; i++)  bufer_MA[i] = NormalizeDouble(iMA(Symbol(), 0, period_MA, 0, 0, 0, i), Normalize);



    // Счётчик количества непрерывных ступеней
    int continuous_steps_up = 0;


    // Определить сколько раз, у первой линии, было непрерывно ступеней вверх.
    for (int i = limit - 1; i >= 0; i--){
 
 
    //+----------------------------------------------------------------------------------------------------+
        if (i < rates_total - 1 && bufer_MA[i] > bufer_MA[i + 1] && bufer_MA[i] != bufer_MA[i + 1]){
            continuous_steps_up++;
            arrow_up[i] = bufer_MA[i];
      

         }
    //+----------------------------------------------------------------------------------------------------+
    //|   счётчик ступеней
    //+----------------------------------------------------------------------------------------------------+
 
      if(   bufer_MA[i] < bufer_MA[i + 1]){   continuous_steps_up = 0;  }

        count_up[i] = continuous_steps_up;
    //+----------------------------------------------------------------------------------------------------+


      }




    return (rates_total);
}

/////////////////////////////////////////////////

Это я так делал..

Не могли бы вы, мне помочь, прикрутить красную стрелку, так как на картинках?


Картинки:
 

Вложения

  • 003.png
    003.png
    35,4 КБ · Просмотры: 53
  • 004.png
    004.png
    35,2 КБ · Просмотры: 44
  • 005.png
    005.png
    36,2 КБ · Просмотры: 38
  • 006.png
    006.png
    34,1 КБ · Просмотры: 36
  • 007.png
    007.png
    34,2 КБ · Просмотры: 29
  • 008.png
    008.png
    34 КБ · Просмотры: 25
  • 009.png
    009.png
    34,6 КБ · Просмотры: 22
  • 010.png
    010.png
    35,5 КБ · Просмотры: 19
  • 011.png
    011.png
    34,7 КБ · Просмотры: 38
Последнее редактирование:
Верх