Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 698

 
woin2110:

Люди подскажите, как вывести настройку периода для индикатора. Пробовал так, не получается:

 extern string Per= H1;

 double prodaem1=iCustom(Symbol(),PERIOD_ Per,"super-signals-channel",2,500,2,sdvig);


input ENUM_TIMEFRAMES TimeFrame=60;
Например так
 
Vinin:

Например так
Хулиган, опередил... Ну да ладно... ;)
 
AlexeyVik:

Так тоже нельзя.


Период имеет тип int


Прошу прощения, стринга не заметил, а инт не подставил! Спросонок!
 
borilunad:

Прошу прощения, стринга не заметил, а инт не подставил! Спросонок!
Стринги сложно заметить ;)
 
Всем спасибо, всё работает.
 
artmedia70:
Стринги сложно заметить ;)


Сложнее не придумаешь ;)
 
borilunad:

Прошу прощения, стринга не заметил, а инт не подставил! Спросонок!

Да можешь не оправдываться. Я знаю что ты не двоечник.
 
AlexeyVik:

Да можешь не оправдываться. Я знаю что ты не двоечник.

Ну, тогда гора с плеч! :)
 

В советнике использовал отсчет с записью времени на происходящем событии:

if (line1 < 0 && time ==0){time=Time[0];}//сработало предварительное условие входа, записываем время
if (time > 0)shift=iBarShift(Symbol(),Period(),time);//находим индекс бара

и если не срабатывало условие

if (line1 == 0){time=0;}

то индекс увеличивался с каждым баром.

В индикаторе необходимо после определенного индекса поставить один раз стрелку.

Пробую так же сделать в индикаторе ничего не получается:

int tikket;// расположено на глобальном уровне
datetime time;// расположено на глобальном уровне

///////////////////////////////////

for(i=limit1;i>=0;i--)
     {
      if(ExtMapBuffer2[i]<0 && time == 0){time=Time[i];}
      if(time > 0)shift=iBarShift(Symbol(),Period(),time);//находим индекс бара
      if(ExtMapBuffer2[i]==0){time=0;tikket=0;}
      if(ExtMapBuffer2[i]<0 && shift>=shet && tikket==0){tikket=1;if(tikket>0)ExtMapBuffer3[i]=High[i]+150*Point;}
     }


на первом баре где " ExtMapBuffer2[i]<0 " ставится стрелка, а "shift>=shet" не учитывается.

По логике с этой строкой что-то нужно делать " if(time > 0)shift=iBarShift(Symbol(),Period(),time);" 

Что скажете?

 

Уважаемые программисты, нужна ваша помощь.

Пытался скомпилировать советник CloseAllOrders, но получаю такую вот запись:

------------------------------------------

'CloseAllOrders_v5.mq4'   
'WinUser32.mqh'   
function must return a value    CloseAllOrders_v5.mq4    30    22
function must return a value    CloseAllOrders_v5.mq4    79    41
0 error(s), 2 warning(s)    

--------------------------------------------------     

Что надо сделать, что бы советник работал?

Советник прилагается.

Заранее спасибо за помощь.

С уважением,

Файлы: