стрела на текущей свече

Тема в разделе "Программирование MQL4", создана пользователем Михаил__, 3 дек 2018.

  1. Михаил__ Пользователь

    Сообщения:
    33
    Симпатии:
    3
    Всем добрый день.
    Нужна помощь с объяснением желательно.

    Индюк. Стрела должна появляться на текущей свече. Остальные свечи не интересуют.

    ...
    double buf_1[];
    double buf_2[];
    ...
    SetIndexBuffer(0, buf_1);
    SetIndexBuffer(1, buf_2);


    ....

    int start()
    {
    ...
    if(Close>Open) buf_1 = Close - 10 * Point;

    Вот тут i какое должно быть? Ноль? Один? Как правильно это сделать, а то я вкурить не могу.

    Потом эта стрела будет использоваться в советнике, который проверяет сигнал на предыдущей свече.
    Повторюсь, другие свечи меня не интересуют. Только та, что рисуется.
    Спасибо!
     
  2. блондинка Активный пользователь

    Сообщения:
    162
    Симпатии:
    138
    Этот сайт не понимает квадратные скобки!!!!!!!!!!!!!!!!!!
    Пришлось заскринить(((((((((
     

    Вложения:

  3. блондинка Активный пользователь

    Сообщения:
    162
    Симпатии:
    138
    [[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
     
  4. блондинка Активный пользователь

    Сообщения:
    162
    Симпатии:
    138
    Open
     
  5. блондинка Активный пользователь

    Сообщения:
    162
    Симпатии:
    138
    [буква]
    если буква английская-не видать ничего!!!!!!!!!!!!!!!!!!!
    с русскими буквами внутри скобок нормально,проверяйте!!!!
     
  6. option Moderator Moderator

    Сообщения:
    1.843
    Симпатии:
    1.801

    блондинка, используй вставку кода.


    Безымянный.

    Там нормально пишется.
    И сразу видно что это код `1

    Код:
    [i]
    
    [zi]
    
    [zi-zi-zi]
    
    
     
  7. option Moderator Moderator

    Сообщения:
    1.843
    Симпатии:
    1.801
    i - должно равняться не посчитанным барам, соответственно значение в разные моменты, может быть разным.

    Не посчитаные бары, высчитываются так:
    Код:
    int j = Bars - IndicatorCounted() - 1;
    Далее тебе нужен оператор цикла:
    Код:
    int i;
    for(i=j;i>=0;i--)
    Теперь у тебя,
    при первом запуске индикатора, пересчитываются все бары, индикатор появляется на истории `24,
    при запуске терминала с уже установленным индикатором, пересчитываются только те бары которые были во время закрытого терминала,
    в остальное время пересчитывается только текущий бар.
    Это вариант с минимальной нагрузкой, и отображением индикатора на истории `1
     
  8. Михаил__ Пользователь

    Сообщения:
    33
    Симпатии:
    3
    Блондинка, Анатолий, Спасибо!
    До этого я уже допер с помощью товарища из телеги.

    В скане блондинки стрела появляется на текущей свече. В советнике выставляю "смотерть сигнал на текущей свече" и "ждать конца свечи".
    Но в советнике также есть "смотреть сигнал на предыдущей свече".

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

    Как тут быть с буферами? Или так никто не делает?
     
  9. option Moderator Moderator

    Сообщения:
    1.843
    Симпатии:
    1.801
    Ну все так и есть.

    А в чем именно проблема? Я что то толком понять не могу, что именно требуется `28
     
  10. Михаил__ Пользователь

    Сообщения:
    33
    Симпатии:
    3
    Я вам недавно в личку писал)
    На данный момент мне надо вот что:

    есть задаваемый вручную уровень:
    extern float PODDERGKA=0.0;

    Нужно:

    Если цена касается или пробивает этот уровень, то появляется стрела вверх. Один раз. Не смотря на дальнейшее возможное еще раз касание этого уровня. Всё.
     
  11. option Moderator Moderator

    Сообщения:
    1.843
    Симпатии:
    1.801
    Понятно.
    Но тут уже работа с объектами (а это еще сложнее)

    Есть у меня готовый крутой `14 индикатор, который даже за 5$ никто купить не захотел `30
    Завтра постараюсь выложить (его найти еще надо)

    А вообще как я понял, как раз то что тебе нужно.
    Там до 5 уровней в каждую сторону можно выставлять, и на советник все это дело ставить.
     
    tagvolk, AND и Medved11 нравится это.
  12. Михаил__ Пользователь

    Сообщения:
    33
    Симпатии:
    3
    Спасибо! Поищите, пожалуйста! Объекты как таковые мне не нужны. Ничего рисовать не надо.
    Мне надо определить уровень, выставить его. И уйти от компа по делам.
    Жаль только, что ваш индюк, насколько я понял, сигналит постоянно. Мне надо, чтобы уровень отработал один раз и всё.

    Может подскажете лучше, как в коде это реализовать?

    Есть:
    extern float PODDERGKA=1.00000; // для usd chf, например


    start()
    {

    if (Close[0]<=PODDERGKA) buf[0]= ??? что писать в буфер?


    потом уровень PODDERGKA можно, например, приравнять к 0.0, чтобы условие больше не срабатывало,
    но функция старт выполняется на каждом тике, а надо, чтобы вся свечка "доТикала", а потом уже уровень "пропал".
    Как это изобразить, если не сложно?
    }

    Но и за индикатор не забудьте! Спасибо!
     
  13. option Moderator Moderator

    Сообщения:
    1.843
    Симпатии:
    1.801
    Уровень отрабатывается один раз.
    При достижении ценой уровня, появляется стрелка, а уровень меняет цвет, и становится уже не активным (второй раз на нем сигнала не будет)
    Не надо вводить никакие значения цены, при нажатии на кнопку уровень сам появляется на определенном в настройках расстоянии от цены,
    а потом просто передвигаешь его мышкой куда тебе надо.
    Индикатор хороший и удобный.
    И как раз то что тебе требуется.

    Не заморачивайся всякой херней, завтра найду и выложу готовый и удобный индикатор.
     
  14. alll Пользователь

    Сообщения:
    99
    Симпатии:
    34
    Т.е. для нормальной истории вместо
    Код:
    int bars=Bars-IndicatorCounted();
    for(int i=0;i<=bars;i++)
    надо
    Код:
    int j = Bars - IndicatorCounted() - 1;
    int i;
    for(i=j;i>=0;i--)
    Да?
     
  15. Михаил__ Пользователь

    Сообщения:
    33
    Симпатии:
    3
    Спасибо!
     
  16. option Moderator Moderator

    Сообщения:
    1.843
    Симпатии:
    1.801
    Индикатор выложен `24
    Индикатор Level_touch, для торговли от уровней `41
     
    ruibin нравится это.
Загрузка...