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

Вложения

Уважаемые программисты помогите сдвинуть стрелки.
Красная МА сдвинута на 5 баров вперёд, синяя на 10 баров вперёд.
Пересечение происходит когда цена находится на пять баров взади.
Надо чтоб стрелка сигналила на свече когда происходит пересечение.
Где должны быть стрелки указал стрелкой в квадратике.
Спасибо.
 

Вложения

  • Безымянный.jpg
    Безымянный.jpg
    130,8 КБ · Просмотры: 195
  • MA.mq4
    MA.mq4
    7,2 КБ · Просмотры: 24
Уважаемые программисты помогите сдвинуть стрелки.
Красная МА сдвинута на 5 баров вперёд, синяя на 10 баров вперёд.
Пересечение происходит когда цена находится на пять баров взади.
Надо чтоб стрелка сигналила на свече когда происходит пересечение.
Где должны быть стрелки указал стрелкой в квадратике.
Спасибо.
 

Вложения

  • DOMOVENOKBREST_2021-06-07_00067.JPG
    DOMOVENOKBREST_2021-06-07_00067.JPG
    365,6 КБ · Просмотры: 203
  • MA.mq4
    MA.mq4
    7,2 КБ · Просмотры: 47
Это не то.
Ты вообще сдвиг МА убрал.
Вы просили на свече, когда происходит пересечение...
Вынес смещение в настройки - настраивайте, как Вам нужно...
extern int shift1 = 0;//Смещение для быстрой МА
extern int shift2 = 0;//Смещение для медленной МА
 

Вложения

  • MA.mq4
    MA.mq4
    7,4 КБ · Просмотры: 29
Вы просили на свече, когда происходит пересечение...
Вынес смещение в настройки - настраивайте, как Вам нужно...
extern int shift1 = 0;//Смещение для быстрой МА
extern int shift2 = 0;//Смещение для медленной МА
Этот алгоритм я написал.
double MA0 = iMA(NULL, 0, 5, 5, MODE_EMA, PRICE_CLOSE, i);
double MA01 = iMA(NULL, 0, 20, 10, MODE_EMA, PRICE_CLOSE, i);
double MA1 = iMA(NULL, 0, 5, 5, MODE_EMA, PRICE_CLOSE, i+1);
double MA11 = iMA(NULL, 0, 20, 10, MODE_EMA, PRICE_CLOSE, i+1);
Стрелка появляется на пересечение.
А цена на пять баров отстаёт от пересечения.
Мне надо чтоб в момент пересечения появилась стрелка.
Пересечение происходит впереди цены, а цена до этого пересечения дойдёт только через пять свечек.
Мне надо чтоб в момент пересечения появилась стрелка на ценовой свечке.
 
Последнее редактирование:
Этот алгоритм я написал.
double MA0 = iMA(NULL, 0, 5, 5, MODE_EMA, PRICE_CLOSE, i);
double MA01 = iMA(NULL, 0, 20, 10, MODE_EMA, PRICE_CLOSE, i);
double MA1 = iMA(NULL, 0, 5, 5, MODE_EMA, PRICE_CLOSE, i+1);
double MA11 = iMA(NULL, 0, 20, 10, MODE_EMA, PRICE_CLOSE, i+1);
Стрелка появляется на пересечение.
А цена на пять баров отстаёт от пересечения.
Мне надо чтоб в момент пересечения появилась стрелка.
Пересечение происходит впереди цены, а цена до этого пересечения дойдёт только через пять свечек.
Мне надо чтоб в момент пересечения появилась стрелка на ценовой свечке.
Вот тут уже должна появиться стрелка.
 

Вложения

  • Безымянный.jpg
    Безымянный.jpg
    10,4 КБ · Просмотры: 78
Этот алгоритм я написал.
double MA0 = iMA(NULL, 0, 5, 5, MODE_EMA, PRICE_CLOSE, i);
double MA01 = iMA(NULL, 0, 20, 10, MODE_EMA, PRICE_CLOSE, i);
double MA1 = iMA(NULL, 0, 5, 5, MODE_EMA, PRICE_CLOSE, i+1);
double MA11 = iMA(NULL, 0, 20, 10, MODE_EMA, PRICE_CLOSE, i+1);
Стрелка появляется на пересечение.
А цена на пять баров отстаёт от пересечения.
Мне надо чтоб в момент пересечения появилась стрелка.
Пересечение происходит впереди цены, а цена до этого пересечения дойдёт только через пять свечек.
Мне надо чтоб в момент пересечения появилась стрелка на ценовой свечке.

Вот тут уже должна появиться стрелка.

Играйтесь с шифтами. По логике, если я Вас правильно понял, так как в настройках и должно быть...
extern int PereodMA1 = 5;
extern int shiftMA1 = 5;//Смещение для быстрой МА
extern int shiftARR1 = -10;//Смещение для синей стрелки
extern int PereodMA2 = 20;
extern int shiftMA2 = 10;//Смещение для медленной МА
extern int shiftARR2 = -20;//Смещение для красной стрелки
 

Вложения

  • MA.mq4
    MA.mq4
    8 КБ · Просмотры: 33
  • DOMOVENOKBREST_2021-06-07_00068.JPG
    DOMOVENOKBREST_2021-06-07_00068.JPG
    354,7 КБ · Просмотры: 126
Играйтесь с шифтами. По логике, если я Вас правильно понял, так как в настройках и должно быть...
extern int PereodMA1 = 5;
extern int shiftMA1 = 5;//Смещение для быстрой МА
extern int shiftARR1 = -10;//Смещение для синей стрелки
extern int PereodMA2 = 20;
extern int shiftMA2 = 10;//Смещение для медленной МА
extern int shiftARR2 = -20;//Смещение для красной стрелки
Я пробовал не помогает. Этими параметрами линии двигаются.
А мне надо стрелку от пересечения сдвинуть на пять баров назад.
 
Может быть вот тут собака зарыта.
{BufUp=Low - ArrShift;pos=i;if (b<2 && Al==true) {Alert(Symbol()+" MA BUY "+Close);b=b+1;s=0;}}
Надо стрелку назад сдвинуть на N баров.
 

Вложения

  • DOMOVENOKBREST_2021-06-07_00069.JPG
    DOMOVENOKBREST_2021-06-07_00069.JPG
    409,6 КБ · Просмотры: 104
  • DOMOVENOKBREST_2021-06-07_00070.JPG
    DOMOVENOKBREST_2021-06-07_00070.JPG
    243,3 КБ · Просмотры: 96
Может быть вот тут собака зарыта.
{BufUp=Low - ArrShift;pos=i;if (b<2 && Al==true) {Alert(Symbol()+" MA BUY "+Close);b=b+1;s=0;}}
Надо стрелку назад сдвинуть на N баров.
SetIndexShift (0,shiftARR1); - Устанавливает смещение первого буфера
SetIndexShift (1,shiftARR2); - Устанавливает смещение второго буфера

ПыСы

Первый буфер - синяя стрелка
Второй буфер - красная стрелка
 

Вложения

  • DOMOVENOKBREST_2021-06-07_00071.JPG
    DOMOVENOKBREST_2021-06-07_00071.JPG
    72,8 КБ · Просмотры: 8
SetIndexShift (0,shiftARR1); - Устанавливает смещение первого буфера
SetIndexShift (1,shiftARR2); - Устанавливает смещение второго буфера
Параметры помогли частично.
Стрелка ставится на прошедших барах.
 

Вложения

  • Безымянный.jpg
    Безымянный.jpg
    131,5 КБ · Просмотры: 84
  • Безымянный1.jpg
    Безымянный1.jpg
    137,7 КБ · Просмотры: 83
Параметры помогли частично.
Стрелка ставится на прошедших барах.
Увы, все согласно прописанному Вами алгоритму...
Меняйте условия.
Ну или уменьшите шифт стрелок на 1, т.е. поставьте (-6)
 

Вложения

  • DOMOVENOKBREST_2021-06-07_00072.JPG
    DOMOVENOKBREST_2021-06-07_00072.JPG
    158,2 КБ · Просмотры: 10
Увы, все согласно прописанному Вами алгоритму...
Меняйте условия.
Ну или уменьшите шифт стрелок на 1, т.е. поставьте (-6)
Нет не то.
Надо так, появилось пересечение на сдвинутых МА, на графике сразу должна быть установлена стрелка не текущей свече.
 
Параметры помогли частично.
Стрелка ставится на прошедших барах.
Я не пойму, зачем Вы гланды через задницу выдираете?
если Вам нужны стрелки - сделайте шифт в расчете мувингов = 0, а если Вы хотите отобразить и смещенные мувинги - введите новые буфера и там уже в расчетах применяйте шифт...
 

Вложения

  • DOMOVENOKBREST_2021-06-07_00073.JPG
    DOMOVENOKBREST_2021-06-07_00073.JPG
    136,2 КБ · Просмотры: 170

Посмотрели (2240) Посмотреть

Смотрят сейчас (5) Посмотреть

Отслеживают (1864) Посмотреть

Назад
Верх