[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 302

 
to Reshetov^ Вот так, что-ли: int start() { Comment("Открытых позиций: ", OrdersTotal()); string smb=Symbol(); int tf=Period(); gsID=smb+IsDemo()+IsTesting()+IsOptimization()+"."+Magic; inf=""; INF(TTS(TimeCurrent()), true); main(Magic, smb, tf); Comment(inf); и где и как отобразится количество?
 
Почему у меня нарушена функция "комментарий" и "правка" ? Нет верхних опций - наверху абсолютно чисто - нельзя добавлять, например, картинки. С чем это связано?
 
yosuf:
to Reshetov^ Вот так, что-ли: int start() { Comment("Открытых позиций: ", OrdersTotal()); string smb=Symbol(); int tf=Period(); gsID=smb+IsDemo()+IsTesting()+IsOptimization()+"."+Magic; inf=""; INF(TTS(TimeCurrent()), true); main(Magic, smb, tf); Comment(inf); и где и как отобразится количество?
Есть такая волшебная комбинация: Ctrl+Alt+M и полезная кнопка "Enter", чтобы собеседникам зрение не портить. Поскольку зрение дороже, то ничего конкретного не могу ответить по Вашей кодопомойке.
 
Подскажите как работать с ArrayMaximum в советнике? в индикаторе делал и работает, обозначил массивы, буферы, а в советнике непонятно.
 
Alexandr24:
Подскажите как работать с ArrayMaximum в советнике? в индикаторе делал и работает, обозначил массивы, буферы, а в советнике непонятно.


Нужно сперва подготовить массив. Попробуйте на деле скрипт, приведённый в справке метаэдитора:

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start(){
  double num_array[15]={4,1,6,3,9,4,1,6,3,9,4,1,6,3,9};
  int    maxValueIdx=ArrayMaximum(num_array);
  Alert("Max value = ", num_array[maxValueIdx]);
  
  return(0);
}
//+------------------------------------------------------------------+
 
drknn:


Нужно сперва подготовить массив. Попробуйте на деле скрипт, приведённый в справке метаэдитора:

В индикаторе у меня это выглядит так:

sm[i]=...........;

double IndexMaxValue=ArrayMaximum(sm,n,shift);

непойму как это прикрутить к вашему скрипту, как это в советнике сделать?

через iCustom могу вывести sm[i], но как переменную iCustom засунуть в ArrayMaximum это же не массив получается?

 
Alexandr24:

но как переменную iCustom засунуть в ArrayMaximum это же не массив получается?

Я не зря привёл ссылку на документацию. Есть такая весчь, как описание параметров, которые необходимо подавать на вход функции. Если там написано, что параметром должно быть имя массива, то вместо него сунуть туда другую функцию (в частности iCustom()) ни к чему хорошему не приведёт. Это значит, что мы должны перед вызовом функции ArrayMaximum() объявить массив, затем циклом заполнить этот массив значениями и только псле этого можно вызывать ArrayMaximum()
 
drknn:
Я не зря привёл ссылку на документацию. Есть такая весчь, как описание параметров, которые необходимо подавать на вход функции. Если там написано, что параметром должно быть имя массива, то вместо него сунуть туда другую функцию (в частности iCustom()) ни к чему хорошему не приведёт. Это значит, что мы должны перед вызовом функции ArrayMaximum() объявить массив, затем циклом заполнить этот массив значениями и только псле этого можно вызывать ArrayMaximum()
я пробовал засунуть код самого индикатора в советник но ничего не работает, тут ИМХО суть в том что в индикаторе нужно обозначать буферы а в советниках этого не видел нигде, поэтому индикатор работает, а в советнике тот же код нет. В индикаторе есть массив заполненный циклом sm[i] и индюк его видит, а советник с тем же кодом уже нет. Может в советниках по другому как то объявлять надо массивы в отличие от индикаторов?
 
Alexandr24:
я пробовал засунуть код самого индикатора в советник но ничего не работает, тут ИМХО суть в том что в индикаторе нужно обозначать буферы а в советниках этого не видел нигде, поэтому индикатор работает, а в советнике тот же код нет. В индикаторе есть массив заполненный циклом sm[i] и индюк его видит, а советник с тем же кодом уже нет. Может в советниках по другому как то объявлять надо массивы в отличие от индикаторов?

Проработаете это - вопросы отпадут: https://www.mql5.com/ru/articles/mt4
 
Так это же к написанию индикатора относится. Индикатор есть и он работает, а советник с кодом этого индикатора не хочет, массив sm[i] не видет.