초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 370

 
Vitalii Ananev :

다음은 이 기능이 사용되는 코드입니다. 이 예에서는 사용자가 지정한 기호(Symbols 배열)가 "시장 감시" 창에 포함되어 있으며 이러한 기호가 없으면 해당 메시지가 표시됩니다. 이 기능에 대한 도움말을 읽는 데 게으르지 마십시오. 모든 것이 명확하게 작성되어 있습니다.

추신

Expert Advisor(지표)가 기호와 함께 오류 없이 작동하려면 "시장 감시" 창에서 활성화해야 합니다. 이 기능은 이를 위한 것입니다.

네, 알겠습니다. 로봇 아래 - 내가 고칠게. 내가 보내드립니다. 질문이 있으면 여기에 글을 쓰겠습니다. 진심으로 감사드립니다.
 
Roman Shiredchenko :
네, 알겠습니다. 로봇 아래 - 내가 고칠게. 내가 보내드립니다. 질문이 있으면 여기에 글을 쓰겠습니다. 진심으로 감사드립니다.

그것은 모두 프로그램의 요구 사항과 요구 사항에 달려 있습니다. 여기에 Expert Advisor 설정에 따라 필요한 기호와 차트를 준비하는 OnInit()의 코드도 있습니다.

   
   //--- подготавливаем рабочие графики
   // "EURUSD,GBPUSD,GBPCHF,CADCHF,AUDCAD,AUDUSD,AUDNZD,NZDUSD,CHFJPY,USDCAD,USDCHF,USDJPY" список
   //symbolsInMW=0,  // Все символы                 selectedSymbol=false
   //symbolsInMW=1,  // Только в обзоре рынка       selectedSymbol=true
   //symbolsInMW=2,  // Все открытые графики        selectedSymbol=true
   //symbolsInMW=3,  // Список торгуемых символов   selectedSymbol=false
   //symbolsInMW=4,  // Текущий график с советником selectedSymbol=true

   selectedSymbol=(symbolsInMW== 0 || symbolsInMW== 3 )? false : true ;
   totalSymbols= SymbolsTotal (selectedSymbol);               // Достаточное количество символов
   if (symbolsInMW!= 4 ) {                                     // Если работаем в мультивалютном режиме
       for ( int i= 0 ; i<totalSymbols; i++) {                   // цикл по списку символов (либо в обзоре рынка, либо по всем)
         string symbol_name= SymbolName (i,selectedSymbol);   // наименование символа
         chart_id=get.GetChartID(symbol_name);               // найдём ID графика
         //--- график выбранного символа не открыт
         if (symbolsInMW== 3 && StringFind (ListOfSymbols,symbol_name)< 0 ) continue ; // если работаем со списком и символа в списке нет - идём дальше
         if (chart_id< 0 && symbolsInMW!= 2 ) {                 // если графика нету и не выбрана работа только с открытыми графиками
             if (symbolsInMW== 0 && ! SymbolInfoInteger (symbol_name, SYMBOL_SELECT ))   // если работаем со всеми символами и символ не выбран ...,
               SymbolSelect (symbol_name, true );               // ... выберем символ в обзоре рынка
            chart_id= ChartOpen (symbol_name, PERIOD_H4 );       // откроем график символа
            }
         //--- график выбранного символа уже открыт
         if (chart_id>= 0 ) {
             if (symbol_name!=symbol) {                                         // если выбранный символ не символ текущего графика
               graph.Message( "Load template \"Agent.tpl\" on " +symbol_name);
               ResetLastError ();
               if ( ChartApplyTemplate (chart_id, "Agent.tpl" )) {                 // если загрузили шаблон - закинем подложку
                   ChartSetInteger (chart_id, CHART_BRING_TO_TOP , true );           // График поверх других
                  SetCanvas(symbol_name,chart_width, 0 , 0 , 0 );
                  }
               //--- иначе - сообщение с ошибкой
               else graph.Message( "Failed to load the template \"Agent.tpl\" on chart " +symbol_name+ ", error " + IntegerToString ( GetLastError ()));
               }
            }
         }
      }
   SetCanvas(symbol,chart_width, 0 , 0 , 0 );   // Подложка основного графика с советником (здесь шаблон не нужен)

자, 여기에 원칙이 있습니다. 도움이 될 수 있습니다 ;)

 
Artyom Trishkin :

그것은 모두 프로그램의 요구 사항과 요구 사항에 달려 있습니다. 여기에 Expert Advisor 설정에 따라 필요한 기호와 차트를 준비하는 OnInit()의 코드도 있습니다.

자, 여기에서 원리를 볼 수 있습니다. 도움이 될 수 있습니다 ;)

Artyom - 개인적으로 썼습니다. 바라보다. 부탁해.
 
Roman Shiredchenko :
Artyom - 개인적으로 썼습니다. 바라보다. 부탁해.
살펴보겠습니다. 하지만 PM에 아직 새 메시지가 없습니다.
 
Roman Shiredchenko :
Artyom - 개인적으로 썼습니다. 바라보다. 부탁해.

다시보니 텅텅 비어있네요...

15분 후에 출발해야 합니다. 서둘러요 ;)

 
Artyom Trishkin :

다시보니 텅텅 비어있네요...

15분 후에 출발해야 합니다. 서둘러요 ;)

나는 쓸 수 없다-어떻게-나는 거기에 그런 옵션이 없다 ...

돕다....  

 
Roman Shiredchenko :

나는 쓸 수 없다-어떻게-나는 거기에 그런 옵션이 없다 ...

돕다....  

내 이름을 클릭하면 내 프로필로 이동합니다. 오른쪽 상단에 "메시지 쓰기" 버튼이 있습니다.

비록 ... 나 자신이 이미 썼습니다-답변.

 
Artyom Trishkin :

내 이름을 클릭하면 내 프로필로 이동합니다. 오른쪽 상단에 "메시지 쓰기" 버튼이 있습니다.

비록 ... 나 자신이 이미 썼습니다-답변.

이해했다. 확인. 썼다.
 
Roman Shiredchenko :

나는 쓸 수 없다-어떻게-나는 거기에 그런 옵션이 없다 ...

돕다....  

 
Vitalie Postolache :

오 젠장 ... 시간 같은 공포

네... 그리고 투파눌, 스텀프 덱을 통해 그를 보내서 개인으로 작성합니다.

아 글쎄 ... 이미 쓰고, 읽고, 먹었다

사유: