Ваши вопросы по языку MQL4

Ugar

Гуру форума
так iTime(NULL,TF,0) никогда не будет равен 0, потому как цикл начинается с каждым тиком...

это условие всегда будет выполняться... :\
datetime LastTime = 0;
Это должно быть на глобальном уровне. Тогда будет работать.
 

vladradon

Программист
так iTime(NULL,TF,0) никогда не будет равен 0, потому как цикл начинается с каждым тиком...

это условие всегда будет выполняться... :\
Не всегда - это функция, которая правильно отработает только когда все данные для нее будут собраны терминалом
 

griz

Активный участник
Здравствуйте. Как сдвинуть график на определенную дату?
 

mobidik

-----
Разобрался:
C-подобный:
Expand Collapse Copy
datetime time = D'2022.05.30 09:00';
int shift = iBarShift(Symbol(),0,time);
ChartNavigate(0,CHART_END,-shift);

Только перед этим не забудь отключить прокрутку графика.
И, желательно, перед "прыжком", учесть первый видимый бар, узнать количество баров в окне и разделить на двое, да бы нужная дата графика оказалась в середине окна.
 
  • Like
Реакции: griz

karetir

Прохожий
Имеется индикатор AGI скомпилированный. он выдает алерты в окне mt4
например
2022.07.06 06:00:00.506 AGI GBPUSD.ffx,H1: Alert: GBPUSD.ffx, H1, Beast Super Signal, BUY @ 1.19661
как открыть ордер по этому алерту программно?
напишите пожайлуста программный текст такого открытия (закрытия)
 

Вложения

  • AGI.ex4
    AGI.ex4
    51 КБ · Просмотры: 36

mobidik

-----
Имеется индикатор AGI скомпилированный. он выдает алерты в окне mt4
например
2022.07.06 06:00:00.506 AGI GBPUSD.ffx,H1: Alert: GBPUSD.ffx, H1, Beast Super Signal, BUY @ 1.19661
как открыть ордер по этому алерту программно?
напишите пожайлуста программный текст такого открытия (закрытия)
А зачем Вам геморой на свою голову? Индикатор имеет буферы - вот и используйте их. Примеров как подключить к советнику индикатор через буфер - более, чем достаточно, наверное, процентов за 90, имхо...
 

MakarFX

Элитный участник
Подскажите, пожалуйста, как привязать машку в подвале к "0"?
Ничего толкового в голову не приходит(
Код:
Expand Collapse Copy
 for(i=limit;i>=0;i--)
     {
      Label1Buffer[i]=iMA(_Symbol,_Period,Input1,0,MODE_SMA,PRICE_CLOSE,i);
      Label2Buffer[i]=??????????;
     }
 

mobidik

-----
Подскажите, пожалуйста, как привязать машку в подвале к "0"?
Ничего толкового в голову не приходит(
Код:
Expand Collapse Copy
 for(i=limit;i>=0;i--)
     {
      Label1Buffer[i]=iMA(_Symbol,_Period,Input1,0,MODE_SMA,PRICE_CLOSE,i);
      Label2Buffer[i]=??????????;
     }
МА рисуется на некотором расстоянии +/- от цены, тогда берем еще одну МА с периодом 1, что равно цене, находим дельту между машками и рисуем её в подвале. Вот и все.
 

AlexeNP

Гуру форума
Подскажите, пожалуйста, как привязать машку в подвале к "0"?
Ничего толкового в голову не приходит(
Код:
Expand Collapse Copy
 for(i=limit;i>=0;i--)
     {
      Label1Buffer[i]=iMA(_Symbol,_Period,Input1,0,MODE_SMA,PRICE_CLOSE,i);
      Label2Buffer[i]=??????????;
     }
вот начал писать, и придумал как сделать ноль для отдельно взятой МА. Но это потом тогда)
просто так, с одной МА не справиться... поэтому можно сделать, к примеру, опорной среднюю Маркова (это половина треугольного окна, но очень большая). Для практики средняя Маркова с периодом больше 447 не имеет смысла, вот пусть она и будет нолем.
EURUSDH1.png
 

Вложения

MakarFX

Элитный участник
вот начал писать, и придумал как сделать ноль для отдельно взятой МА. Но это потом тогда)
просто так, с одной МА не справиться... поэтому можно сделать, к примеру, опорной среднюю Маркова (это половина треугольного окна, но очень большая). Для практики средняя Маркова с периодом больше 447 не имеет смысла, вот пусть она и будет нолем.
Спасибо!!! Вся гениальность в простом решении.
 

AlexeNP

Гуру форума
Спасибо!!! Вся гениальность в простом решении.
вот еще вариант (который мне потом в голову пришел)... суть - берем значения средних по истории, находим их среднее - вот его и будем считать нулем
EURUSDH1.png
 

Вложения

mobidik

-----
Пробовал, увы получается пила
Так ни кто не запрещает поставить период больше 1.
AlexeNP, ты, конечно, мозг, но, коль на основном графике, сама цена является условным "0" для машки, то твой "0" ушел в запой :)
Коль, МА пересекает цену на графике, то он должна пересекать "0" и в подвале, как по мне.
Поправьте меня, если я не прав.

На скрине: все МА с одинаковыми параметрами.
 

Вложения

  • _MA.png
    _MA.png
    30 КБ · Просмотры: 35

MakarFX

Элитный участник
Так ни кто не запрещает поставить период больше 1.
AlexeNP, ты, конечно, мозг, но, коль на основном графике, сама цена является условным "0" для машки, то твой "0" ушел в запой :)
Коль, МА пересекает цену на графике, то он должна пересекать "0" и в подвале, как по мне.
Поправьте меня, если я не прав.

На скрине: все МА с одинаковыми параметрами.
А можно увидеть код? Пожалуйста.
 
Верх