Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 370

 
Vitalii Ananev:

Hier ist ein Stück Code, in dem diese Funktion verwendet wird. In diesem Beispiel werden benutzerdefinierte Symbole in das "Market Watch"-Fenster (Symbols-Array) aufgenommen; wenn ein solches Symbol nicht vorhanden ist, wird eine entsprechende Meldung angezeigt. Seien Sie nicht zu faul, die Hilfe zu dieser Funktion zu lesen, sie ist dort eindeutig beschrieben.

P.S.

Damit der Expert Advisor (Indikator) mit allen Symbolen korrekt funktioniert, müssen diese im Fenster "Market Watch" aktiviert sein. Diese Funktion ist nur für diesen Zweck gedacht.

Aha, ich habe es verstanden. Ich werde es für meinen Roboter korrigieren. Ich werde es tun. Wenn Sie Fragen haben, werde ich sie hier stellen. Ich danke Ihnen aus tiefstem Herzen.
 
Roman Shiredchenko:
Aha, ich hab's. für den Roboter - ich werde es korrigieren. Ich werde es tun. Wenn ich noch Fragen habe, werde ich sie hier stellen. Ich danke Ihnen aus tiefstem Herzen.

Es hängt alles von den Anforderungen und Bedürfnissen des Programms ab. Hier ist auch ein Stück Code in OnInit(), das die erforderlichen Symbole und Graphen je nach EA-Einstellungen vorbereitet.

   
   //--- подготавливаем рабочие графики
   // "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);   // Подложка основного графика с советником (здесь шаблон не нужен)

Nun, hier kann man nur auf das Prinzip schauen. Vielleicht hilft es ja ;)

 
Artyom Trishkin:

Es hängt alles von den Anforderungen und Bedürfnissen des Programms ab. Hier ist auch ein Stück Code in OnInit(), das die erforderlichen Symbole und Graphen abhängig von den EA-Einstellungen vorbereitet.

Nun, hier kann man nur auf das Prinzip schauen. Vielleicht hilft es ja ;)

Artem - in einer privaten Nachricht. Sehen Sie. Bitte.
 
Roman Shiredchenko:
Artem - Ich habe Ihnen persönlich geschrieben. Sehen Sie sich das an. Bitte.
Das werde ich, aber ich habe noch keine neuen Nachrichten in meinem Posteingang.
 
Roman Shiredchenko:
Artem - Ich habe Ihnen persönlich geschrieben. Sehen Sie sich das an. Bitte.

Nochmals nachgeschaut - nichts...

Ich muss in 15 Minuten los. Beeil dich ;)

 
Artyom Trishkin:

Nochmals nachgeschaut - nichts...

Ich muss in 15 Minuten los. Beeil dich ;)

kann nicht schreiben - wie - ich habe diese Option dort nicht...

Hilfe....

 
Roman Shiredchenko:

Ich kann nicht schreiben, wie - ich habe diese Option nicht...

Hilfe....

Du klickst auf meinen Namen, gehst zu meinem Profil und findest oben rechts eine Schaltfläche "Nachricht schreiben".

Obwohl ... Ich habe sie bereits selbst geschrieben - beantworten Sie sie.

 
Artyom Trishkin:

Du klickst auf meinen Namen, gehst zu meinem Profil und findest oben rechts eine Schaltfläche mit der Aufschrift "Schreibe eine Nachricht".

Obwohl... Ich habe sie bereits selbst geschrieben - beantworten Sie sie.

Sie haben es verstanden. OKAY. Sie haben es verstanden.
 
Roman Shiredchenko:

Ich kann nicht schreiben, wie - ich habe diese Option nicht...

Hilfe....

 
Vitalie Postolache:

Oh Mann... Es wird verdammt noch mal Zeit.

Ja, nun... und ich war dumm genug, ihm eine private Nachricht zu schicken.

Oh, nun... Es ist geschrieben, gelesen und gegessen worden.