Скачать MetaTrader 5

Помогите чуточку подправить индикатор - страница 3

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Alik
50
Alik  

Никто не подскажет где в коде найти и исправить чтоб индикатор работал на 5 знаках (альпари), а то этот индикатор работает на 4 знаке и информация не совсем корректная..

Файлы:
Mislaid
609
Mislaid  
tagneo:

Никто не подскажет где в коде найти и исправить чтоб индикатор работал на 5 знаках (альпари), а то этот индикатор работает на 4 знаке и информация не совсем корректная..

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

   nD =  (iHigh(NULL,PERIOD_D1,0)-iLow(NULL,PERIOD_D1,0))/Point;

Соответственно, убрать ставшие ненужными строки

ArrayCopyRates(rates_d1, Symbol(), PERIOD_D1);   //---- Get new daily prices

today_high = rates_d1[0][3];
today_low = rates_d1[0][2];

   D = (today_high - today_low);

   if (StringFind(Symbol(), "JPY", 0) > 0)
      nD = D*100;
   else
      nD = D*10000;
И убрать теперь уже не нужные переменные: D, rates_d1, today_high, today_low
Alik
50
Alik  
удалить удалил, а вот как что прописать не совсем понял(
Mislaid
609
Mislaid  
tagneo:
удалить удалил, а вот как что прописать не совсем понял(

Там, где было D=, вставить nD=, как я писал выше. Четырехзнак предполагался в строках

   if (StringFind(Symbol(), "JPY", 0) > 0)
      nD = D*100;
   else
      nD = D*10000;
Используя Point, мы получим индикатор, работающий, как на четырехзнаке, так и на пятизнаке. Эти строки, которые нужно удалить - явные костыли, того, кто ковырялся в индикаторе.
Alik
50
Alik  

Там, где было D=, вставить nD=

Не нашел таких значений, тебе не трудно самому внести изменения? а то че то вообще запутался....

Mislaid
609
Mislaid  
tagneo:

Там, где было D=, вставить nD=

Не нашел таких значений, тебе не трудно самому внести изменения? а то че то вообще запутался....

Если я начну вносить, то индикатор совсем сократится на несколько десятков строк. Все сказано. Чуть-чуть подумай. Мне, не сложно. Но, лучше сделать самому. Просто следующего раза, когда тебе готовы помочь, может не быть.
Alik
50
Alik  
http://prntscr.com/20avvm вроде заменил, http://prntscr.com/20aucl удалил, но все равно http://prntscr.com/20avzy
Mislaid
609
Mislaid  

Короче, в исходном тексте, вместо

   if (StringFind(Symbol(), "JPY", 0) > 0)
      nD = D*100;
   else
      nD = D*10000;
Напиши просто
nD = D/Point;

Это решает все проблемы с количеством знаков.

Alik
50
Alik  
вроде бы теперь нормально, благодарю за подсказку и за введение в программирование)
123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий