初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 370

 
Vitalii Ananev:

この機能が使われているコードの一部を紹介します。この例では、ユーザー定義のシンボルがマーケットウォッチウィンドウ(シンボル配列)に含まれており、そのようなシンボルが存在しない場合、対応するメッセージが表示されます。この機能のヘルプを読むことを怠らないでください、そこに明確に書かれています。

追伸

Expert Advisor(インジケーター)を正しく動作させるには、シンボルが「Market Watch」ウィンドウで有効になっている必要があり、この機能はそのためのものです。

はい、わかりました。 私のロボット用に修正します。やりますね。何か質問があれば、ここに書きます。心からありがとうございました。
 
Roman Shiredchenko:
ロボットの件、修正します。やりますね。何か質問があれば、ここに書きます。心からありがとうございました。

すべてはプログラムの要件とニーズに依存します。また、OnInit()の中で、EAの設定に応じて必要なシンボルやグラフを準備するコードも紹介します。

   
   //--- подготавливаем рабочие графики
   // "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:

すべてはプログラムの要件とニーズに依存します。また、OnInit()の中で、EAの設定に応じて必要なシンボルやグラフを準備するコードも紹介します。

まあ、ここでは原理を見るしかないのですが。もしかしたら、それが役に立つかもしれない ;)

アーテム - プライベートメッセージで。見てください。Plz.
 
Roman Shiredchenko:
アルテム 「直接お手紙を差し上げました。チェックしてみてください。Plz.
そうするつもりですが、まだ受信トレイに新しいメッセージはありません。
 
Roman Shiredchenko:
アーテム 「直接お手紙を差し上げました。チェックしてみてください。Plz.

もう一度見てみたが、何もない...。

15分後に出発することになったんだ。急いでください ;)

 
Artyom Trishkin:

もう一度見てみたが、何もない...。

15分後に出発しなければならないのです。急いでください ;)

が書けない - どうやって - そこにそのオプションがない...。

を助ける...

 
Roman Shiredchenko:

どう書くか......そこにその選択肢はないんです......。

を助ける...

私の名前をクリックし、プロフィールにアクセスすると、右上に「メッセージを書く」ボタンがあります。

でももう自分で書いたんだから、答えろよ。

 
Artyom Trishkin:

私の名前をクリックし、プロフィールにアクセスすると、右上に「Write a message」というボタンがあります。

とはいえ...もう自分で書いたんだから、答えろよ。

やったねOKAYやったね
 
Roman Shiredchenko:

どう書くか......そこにその選択肢はないんです......。

を助ける...

 
Vitalie Postolache:

やれやれ...。そろそろ潮時かな。

ええ、まあ...とプライベートメッセージで送ったのが馬鹿だった。

まあ、いいや...。書かれ、読まれ、食べられた。

理由: