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

 
Artyom Trishkin:

datetime - это ulong

Большое спасибо!
 
Vitaly Gorbunov:

Зря вы сразу код ему поправили, человек просто не понимает элементарные ключи компилятора,  а для написания нормального кода эти тонкости необходимо знать как и использование документации! 

Я ему указывал на древность видео да и если он копировал в точности как было в видео у него всё получилось бы. Но он обиделся и пожаловался видимо на этот пост в результате его удалили а он сам даже не собирается в этом разобраться!

Выходит что не совсем зря. Он даже не попытался понять разницу в представленных кодах и у него это не работает даже так.

Вообще, я тоже не люблю подсказывать исправлением кода. Но тут оказалось "не тот случай". Я интересовался библиотеками очень давно, даже имел одну свою библиотеку. Но поняв что приходится передавать всю библиотеку вместе с кодом советника или индикатора, да ещё и объяснять что куда положить... не каждый это понимает с полуслова, решил от этого отказаться. Это ответ на реплику

А тут, чтобы всё исправить мне пришлось самому разбираться и вспоминать прочно забытое. Вот и остался готовый код.
 
Sergey Maksiutenko:

Не утруждайтесь.

Я понял, что помочь мне вы не можете.

 #property strict  я убирал, убирал все свойства кроме #property library

ничего не помогает.

Попробуйте  у себя подключить мою конструкцию , найти ошибку,

и выложить правильный код, если проблема в этом.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

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

Alexey Viktorov, 2018.10.03 11:56


А тут, чтобы всё исправить мне пришлось самому разбираться и вспоминать прочно забытое. Вот и остался готовый код.
Остался готовый рабочий код.
 
Ха я разобрался с проблемой! Думаю почему у меня всё работает а у него нет! Если он покажет какие файлы у него лежат в \Include \Libraries \Experts \Scripts то возможно можно будет даже оформить как ошибку в сервисдеске!
 
Sergey Maksiutenko ну что готов выложить содержимое нужных папок иначе буду считать тебя тролем! Так как данную проблему мне удалось воспроизвести и я знаю что у тебя случилось!
 

Сижу на XP, МТ4 1090 и стало быть обновлений у меня не будет.

При изменении масштаба времени в МТ4 график постоянно перемещается влево или вправо - если переключаться с большего масштаба на меньший(например с дневного на часовой), то на экране появляются данные полугодовой давности. Если переключать с меньшего на больший, то рисует только последние 10 свечей. Приходится постоянно делать телодвижения чтобы привести график в приемлемый вид, что напрягает.

Для удобства написал код, переключающий масштаб с клавы и сдвигающий график в конец:


void OnChartEvent(const int id,

                  const long &lparam,

                  const double &dparam,

                  const string &sparam)

  {

   string Key1_Value="1";

   string Key2_Value="2";

   string Key3_Value="3";


   if(StringGetChar(Key1_Value,0)==lparam)

      ChartSetSymbolPeriod(0,NULL,5);

   if(StringGetChar(Key2_Value,0)==lparam)

      ChartSetSymbolPeriod(0,NULL,60);

   if(StringGetChar(Key3_Value,0)==lparam)

      ChartSetSymbolPeriod(0,NULL,1440);

   

    ChartNavigate(0,CHART_END,0);

}


Все работает, но ChartNavigate "замораживает" график на месте и не дает его прокручивать влево. Как это победить?

 
psyman:

Сижу на XP, МТ4 1090 и стало быть обновлений у меня не будет.

При изменении масштаба времени в МТ4 график постоянно перемещается влево или вправо - если переключаться с большего масштаба на меньший(например с дневного на часовой), то на экране появляются данные полугодовой давности. Если переключать с меньшего на больший, то рисует только последние 10 свечей. Приходится постоянно делать телодвижения чтобы привести график в приемлемый вид, что напрягает.

Для удобства написал код, переключающий масштаб с клавы и сдвигающий график в конец:

там кнопка есть, чтобы график сам смещался

1

 


Автопрокрутка не дает пролистывать график влево, если например нужно построить трендовую линию.

Тем более что она работает только когда приходят новые тики.

 
psyman:


Автопрокрутка не дает пролистывать график влево, если например нужно построить трендовую линию.

Тем более что она работает только когда приходят новые тики.

тогда так

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
{
if (id==CHARTEVENT_KEYDOWN)
   {
   if(lparam=='1')
      ChartSetSymbolPeriod(0,_Symbol,PERIOD_M5);

   if(lparam=='2')
      ChartSetSymbolPeriod(0,_Symbol,PERIOD_H1);

   if(lparam=='3')
      ChartSetSymbolPeriod(0,_Symbol,PERIOD_D1);

    ChartNavigate(0,CHART_END,0);
   }
}
 
Большое спасибо.
Причина обращения: