Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 370

 
Vitalii Ananev :

İşte bu fonksiyonun kullanıldığı bir kod parçası. Bu örnekte, kullanıcı tarafından belirtilen semboller (Semboller dizisi) "Piyasa İzleme" penceresine dahil edilmiştir, böyle bir sembol yoksa ilgili bir mesaj görüntülenir. Bu işlevin yardımını okumak için tembel olmayın, orada her şey açıkça yazılmıştır.

not

Uzman Danışmanın (gösterge) herhangi bir sembolle hatasız çalışabilmesi için "Piyasa İzleme" penceresinde etkinleştirilmeleri gerekir, bu işlev bunun için tasarlanmıştır.

Evet, anladım. robotun altında - düzelteceğim. Göndereceğim. Sorular olursa buraya yazarım. Kalbimin derinliklerinden teşekkür ederim.
 
Roman Shiredchenko :
Evet, anladım. robotun altında - düzelteceğim. Göndereceğim. Sorular olursa buraya yazarım. Kalbimin derinliklerinden teşekkür ederim.

Her şey programın gereksinimlerine ve ihtiyaçlarına bağlıdır. Burada ayrıca, Expert Advisor ayarlarına bağlı olarak gerekli sembolleri ve çizelgeleri hazırlayan OnInit() içindeki bir kod parçası bulunmaktadır.

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

Pekala, burada prensibi görebilirsiniz. Yardımcı olabilir ;)

 
Artyom Trishkin :

Her şey programın gereksinimlerine ve ihtiyaçlarına bağlıdır. Burada ayrıca, Expert Advisor ayarlarına bağlı olarak gerekli sembolleri ve çizelgeleri hazırlayan OnInit() içindeki bir kod parçası bulunmaktadır.

Pekala, burada prensibi görebilirsiniz. Yardımcı olabilir ;)

Artyom - kişisel olarak yazdı. Bak. Lütfen.
 
Roman Shiredchenko :
Artyom - kişisel olarak yazdı. Bak. Lütfen.
Bakacağım ama PM'de henüz yeni mesaj yok
 
Roman Shiredchenko :
Artyom - kişisel olarak yazdı. Bak. Lütfen.

Tekrar baktım boştu...

15 dakika içinde çıkmam gerekiyor. Acele et ;)

 
Artyom Trishkin :

Tekrar baktım boştu...

15 dakika içinde çıkmam gerekiyor. Acele et ;)

Yazamıyorum - nasıl - orada böyle bir seçeneğim yok ...

Yardım....  

 
Roman Shiredchenko :

Yazamıyorum - nasıl - orada böyle bir seçeneğim yok ...

Yardım....  

İsmime tıklıyorsunuz - profilime gidiyorsunuz - sağ üstte "Mesaj yaz" düğmesi var.

Her ne kadar ... Ben kendim zaten yazdım - cevap.

 
Artyom Trishkin :

İsmime tıklıyorsunuz - profilime gidiyorsunuz - sağ üstte "Mesaj yaz" düğmesi var.

Her ne kadar ... Ben kendim zaten yazdım - cevap.

Anladım. TAMAM. yazdı.
 
Roman Shiredchenko :

Yazamıyorum - nasıl - orada böyle bir seçeneğim yok ...

Yardım....  

 
Vitalie Postolache :

Vay canına ... Korku zaman gibi

Her ne kadar evet olsa da ... ve ben tupanul, onu bir güdük destesinden yazması için kişisel olarak gönderiyorum.

Oh iyi ... zaten yazılmış, okunmuş ve yemiş