Повесить индикатор в отдельное окно - страница 2

 

Такое в начале кода пробовали?

#property indicator_separate_window

вместо

#property indicator_chart_window
 
Stanislav Aksenov:
Я, кажется, предлагал прочитать ее полностью. И тогда, да, скорее всего, не возник бы.

Просто так полностью на всякий случай? Тогда сформулирую по другому свой вопрос. Допустим, читаем документацию полностью, но одну страницу не читаем. Где в документации та самая страница, пропустив которую ответа не получим, а не пропустив получим? Только не надо рассказывать, что в документации нет страниц (допустим условно, часть текста равная по размеру одной странице).

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

Да и еще. Знающие люди говорят, что документации по MQL5 составляет не менее 3000 стр.

 
Dmitry Fedoseev:
 

............

Да и еще. Знающие люди говорят, что документации по MQL5 составляет не менее 3000 стр.

Язык молодой и перспективный. Будет больше я думаю.
 
Dmitry Fedoseev:

Просто так полностью на всякий случай? Тогда сформулирую по другому свой вопрос. Допустим, читаем документацию полностью, но одну страницу не читаем. Где в документации та самая страница, пропустив которую ответа не получим, а не пропустив получим? Только не надо рассказывать, что в документации нет страниц (допустим условно, часть текста равная по размеру одной странице).

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

во-первых, если читающий не знает про битовые операции вообще ничего, то тогда имеет смысл почитать что-нибудь из общего программирования где это будет объяснено, так как в документации рассказываются только особенности и синтаксис по этой части. И да, не будет лишним прочитать про битовые операции в документации. Это если есть серьезный интерес к разработке, конечно.

А что касается, про пропуск нужного раздела, смотрите, изучение 90% материала свидетельствовало бы о высоком погружении в тему, человек бы уже хорошо ориентировался в теме, и нашел бы ответ очень быстро сам.

Плюс к тому же, материал взаимодополняет другу друга, по правилу парето 20% усилий дают 80% полезного результата, так что можно прочитать хотя бы 20 % от документации (я возможно и столько не прочитал), хотя другим советую всю прочитать, да)))) У них же есть интерес к трейдинговой разработке, поэтому это правильный совет, программисты вообще много читают.

И да, отстаньте уже от меня, я никому  ничего не обязан

 
Dmitry Fedoseev:


Да и еще. Знающие люди говорят, что документации по MQL5 составляет не менее 3000 стр.

А представляете какой объем документации и стек технологии у инфраструктуры java ? Там чисто физически жизни не хватит все прочитать.

Но у нас ситуация все же другая. 

 
Stanislav Aksenov:

А представляете какой объем документации и стек технологии у инфраструктуры java ? Там чисто физически жизни не хватит все прочитать.

Но у нас ситуация все же другая. 

Да во всем мире дело с документациями обстоит очень плачевно, даже с инструкциями на бытовую технику. А java - передовик в этом отношении, они всегда шли в авангарде и продолжают.

В общем, документация, это не то, что следует читать. А книги размером более 400 страниц надо сжигать сразу на выезде из типографии.  

 
Эдуард Климуш:   ... сигнальный индикатор ... необходимо перенести в отдельное окно (как тот же RSI или  MACD). Как это сделать?

Простым переделыванием indicator_chart_window в indicator_separate_window здесь не обойтись, т.к. при компилировании принудительно возвращается в chart

no indicator window property is defined, indicator_chart_window is applied

Приложите индикатор. Проверю и попробую без лишних слов помочь
 
Renat Akhtyamov:

Такое в начале кода пробовали?

#property indicator_separate_window

вместо

#property indicator_chart_window

Да, пробовал, если другие свойства не изменять - все просто принудительно переводится в чарт и все. А насчет того, что сразу садиться и т.д., не прочитав документации.

Да, я не величайший mql программист, однако, знаний достаточно, чтобы создать мультивалютный/мультитаймфреймовый сигнальный индикатор. Моя проблема только лишь в том, что я не нашел, где конкретно нужно изменить свойство (и какое свойство), чтобы поставить этот индикатор в окно индикатора, а не графика.

P.S. я и не думал, что такой простой вопрос вызовет такую бурю эмоций у вас, уважаемые форумчане 

 
STARIJ:
Приложите индикатор. Проверю и попробую без лишних слов помочь

Приложу не сам индикатор, а функцию инициализации, где рисуются все объекты. Более чем уверен, что проблема именно на этом месте (возможно "0" в параметрах создания объекта нужно изменить на что-то)

int OnInit()

  {

  EventSetTimer(Timer);

  for (int x=0; x<23; x++)

         for (int y=0; y<9; y++)

      {

         

         ObjectCreate(0, "signal"+IntegerToString(x)+IntegerToString(y),OBJ_LABEL,0,0,0,0,0);

         // создаем очередную метку. Обратите внимание, что название метки

         // создается "на лету" и зависит от счетчиков "x" и "y"

         

         ObjectSetString (0, "signal"+IntegerToString(x)+IntegerToString(y), OBJPROP_FONT, "Wingdings");

         // меняем шрифт на Wingdingsб чтобы получить доступ к символам

         

         ObjectSetInteger (0,"signal"+IntegerToString(x)+IntegerToString(y), OBJPROP_COLOR, Color_DontTrade);

         // меняем цвет на синий

         

         ObjectSetInteger (0,"signal"+IntegerToString(x)+IntegerToString(y), OBJPROP_FONTSIZE, 65);

         

         ObjectSetString(0, "signal"+IntegerToString(x)+IntegerToString(y), OBJPROP_TEXT, CharToString (110));

         //делаем квадратики

 

         ObjectSetInteger(0, "signal"+IntegerToString(x)+IntegerToString(y),OBJPROP_XDISTANCE,x*55+60);

         // изменяем координату Х.

         // x*20 - каждая метка создается с интервалом в 20 пикселей по

         // горизонтали и напрямую зависит от счетчика "x"

 

         ObjectSetInteger(0, "signal"+IntegerToString(x)+IntegerToString(y),OBJPROP_YDISTANCE,y*55+50);

         // изменяем координату Y.

         // y*20 - каждая метка создается с интервалом в 20 пикселей по

         // вертикали и напрямую зависит от счетчика "y"

      }   

      

     for(int x=0;x<9;x++)

   {

      // все как обычно

      ObjectCreate(0, "textPeriod"+IntegerToString(x),OBJ_LABEL,0,0,0,0,0);

      ObjectSetInteger(0,"textPeriod"+IntegerToString(x),OBJPROP_XDISTANCE,5);

      ObjectSetInteger(0,"textPeriod"+IntegerToString(x),OBJPROP_YDISTANCE,x*55+85);

      ObjectSetInteger (0,"textPeriod"+IntegerToString(x), OBJPROP_COLOR,  Color_TimeFrame);

         // меняем цвет на синий

      ObjectSetInteger (0,"textPeriod"+IntegerToString(x), OBJPROP_FONTSIZE,  20);   

      ObjectSetString(0,"textPeriod"+IntegerToString(x),OBJPROP_TEXT, periodString[x]);

      // используем массив periodString[], чтобы указать надписи

   }

      for(int x=0;x<23;x++)

   {

      // все как обычно

      ObjectCreate(0, "textSymbol"+IntegerToString(x),OBJ_LABEL,0,0,0,0,0);

      ObjectSetInteger(0,"textSymbol"+IntegerToString(x),OBJPROP_XDISTANCE,x*55 +65);

      ObjectSetInteger(0,"textSymbol"+IntegerToString(x),OBJPROP_YDISTANCE, 45);

      ObjectSetInteger (0,"textSymbol"+IntegerToString(x), OBJPROP_COLOR, Color_Symbol);

         // меняем цвет на синий

      ObjectSetInteger (0,"textSymbol"+IntegerToString(x), OBJPROP_FONTSIZE, 9);

      ObjectSetString(0,"textSymbol"+IntegerToString(x),OBJPROP_TEXT, aSymbol(x));

      // используем массив periodString[], чтобы указать надписи

   }

   

      

   return(0);


На комментарии не обращайте внимания, множество раз переписывался код, а комментарии править буду уже в финальной версии
 
Эдуард Климуш:

Да, пробовал, если другие свойства не изменять - все просто принудительно переводится в чарт и все. А насчет того, что сразу садиться и т.д., не прочитав документации.

Да, я не величайший mql программист, однако, знаний достаточно, чтобы создать мультивалютный/мультитаймфреймовый сигнальный индикатор. Моя проблема только лишь в том, что я не нашел, где конкретно нужно изменить свойство (и какое свойство), чтобы поставить этот индикатор в окно индикатора, а не графика.

P.S. я и не думал, что такой простой вопрос вызовет такую бурю эмоций у вас, уважаемые форумчане 

Если Вы покажете код, Вам гораздо быстрее смогут помочь.

Нужно видеть весь индикатор, иначе можно гадать долго. Да, сейчас все объекты рисуются на чарте, а не в подокне.

Причина обращения: