MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1912

 
DanilaMactep # :
yanılmıyorsam, her şey bu kodla başladı - hatırladığım kadarıyla işe yaramadı ;-)

Sana zaten gösterdim - neden senin için işe yaramadığını bilmiyorum - benim için hem MT4 hem de MT5'te çalışıyor.

\\\\\\\\\\\\\\\\\\\\

işte çizelgeleri değiştirebileceğiniz başka bir renk

 //+------------------------------------------------------------------+
//|                                       CHART_COLOR_BACKGROUND.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link        " https://www.mql5.com "
#property version    "1.00"
//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
//----
sinput color Backclr = clrWhite ; // Цвет фона графика.
sinput color Foreclr = clrBlack ; // Цвет осей, шкалы и строки OHLC графика.
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
//--- переменные для идентификаторов графиков
   long currChart, prevChart = ChartFirst ();
   int i = 0 , limit = 100 ;
   bool errTemplate;
   Print ( "ChartFirst = " , ChartSymbol (prevChart), " ID = " , prevChart);
   while (i < limit) // у нас наверняка не больше 100 открытых графиков
     {
      currChart = ChartNext (prevChart); // на основании предыдущего получим новый график
      errTemplate = ChartBackColorSet(Backclr, prevChart);
      errTemplate = ChartForeColorSet(Foreclr, prevChart);
       if (errTemplate)
        {
         Print ( "Error " , ChartSymbol (prevChart), "-> " , GetLastError ());
        }
       if (currChart < 0 )
         break ;           // достигли конца списка графиков
       Print (i, ChartSymbol (currChart), " ID =" , currChart);
      prevChart = currChart; // запомним идентификатор текущего графика для ChartNext()
      i++; // не забудем увеличить счетчик
     }
  }
//+------------------------------------------------------------------+
//| Функция устанавливает цвет фона графика.                         |
//+------------------------------------------------------------------+
bool ChartBackColorSet( const color clr, const long chart_ID = 0 )
  {
//--- сбросим значение ошибки
   ResetLastError ();
//--- установим цвет фона графика
   if (! ChartSetInteger (chart_ID, CHART_COLOR_BACKGROUND , clr))
     {
       //--- выведем сообщение об ошибке в журнал "Эксперты"
       Print ( __FUNCTION__ + ", Error Code = " , GetLastError ());
       return ( false );
     }
//--- успешное выполнение
   return ( true );
  }
//+------------------------------------------------------------------+
//| Функция устанавливает цвет осей, шкалы и строки OHLC графика.    |
//+------------------------------------------------------------------+
bool ChartForeColorSet( const color clr, const long chart_ID = 0 )
  {
//--- сбросим значение ошибки
   ResetLastError ();
//--- установим цвет осей, шкалы и строки OHLC графика
   if (! ChartSetInteger (chart_ID, CHART_COLOR_FOREGROUND , clr))
     {
       //--- выведем сообщение об ошибке в журнал "Эксперты"
       Print ( __FUNCTION__ + ", Error Code = " , GetLastError ());
       return ( false );
     }
//--- успешное выполнение
   return ( true );
  }
//+------------------------------------------------------------------+
 
137 Matrix # :

Sana zaten gösterdim - neden senin için işe yaramadığını bilmiyorum - benim için hem MT4 hem de MT5'te çalışıyor.

\\\\\\\\\\\\\\\\\\\\

işte çizelgeleri değiştirebileceğiniz başka bir renk

Bunlar sadece mücbir sebepler - felçimin sonuçları - bir yerde bir şey göremiyorum ve hepsi bu. Ama yardımın için çok teşekkürler.

 
DanilaMactep # :

Bunlar sadece mücbir sebepler - felçimin sonuçları - bir yerde bir şey göremiyorum ve hepsi bu. Ama yardımın için çok teşekkürler.

koda ( .tpl ) eklemeniz gerekmez, bu zaten sizin için yazılmıştır

sadece şablonun adını girmeniz yeterlidir.

 Template + ".tpl"

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\\\\\\\\\\\\\\\

 sinput string Template           = "ADX" ;           // Имя шаблона(without '.tpl')
      errTemplate = ChartApplyTemplate (prevChart, Template + ".tpl" );
       if (!errTemplate)
        {
         Print ( "Error " , ChartSymbol (prevChart), "-> " , GetLastError ());
        }
 
137 Matrix # :

koda ( .tpl ) eklemeniz gerekmez, bu zaten sizin için yazılmıştır

sadece şablonun adını girmeniz yeterlidir.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\\\\\\\\\\\\\\\

Görünüşe göre bu kodu buldum - bir dahaki sefere hemen kullanım talimatlarını ekleyin, aksi takdirde yarım litre olmadan yapamazsınız)))))) ;-) Yardımınız için çok teşekkür ederim :-)
 
137 Matrix # :

Sana zaten gösterdim - neden senin için işe yaramadığını bilmiyorum - benim için hem MT4 hem de MT5'te çalışıyor.

\\\\\\\\\\\\\\\\\\\\

işte çizelgeleri değiştirebileceğiniz başka bir renk

Sasha, belgelerdeki örnekleri veya kuzu örneklerini kullanmaktan daha kötü bir şey düşünemezsin. Ayrıca, bir yerde while döngüsünün zorla sonlandırılması için bayrağı kaybettim. Genel olarak ... hiçbir kelime yok.
 
DanilaMactep # :
bu seçenek hiçbir şey yapmıyor - Komut dosyasını grafikte yayınlıyorum ve hiçbir şey olmuyor.

Üzgünüz, mantıksal olumsuzlama işareti kayboldu!

 void OnStart ()
 {
   long prevChart = ChartFirst ();
   while (prevChart >= 0 && ! IsStopped ())
   {
     //if(ChartPeriod(prevChart) != PERIOD_H1)
       ChartSetSymbolPeriod (prevChart, ChartSymbol (prevChart), PERIOD_H1 ); // или PERIOD_D1
       ChartApplyTemplate (prevChart, tplName);
    prevChart = ChartNext (prevChart);
   }
 } /******************************************************************/
/*****************************End program****************************/
 
Alexey Viktorov # :
Sasha, belgelerdeki örnekleri veya kuzu örneklerini kullanmaktan daha kötü bir şey düşünemezsin. Ayrıca, bir yerde while döngüsünün zorla sonlandırılması için bayrağı kaybettim. Genel olarak ... hiçbir kelime yok.

örneğin, görevim görevimi yerine getiren bir işlev bulmak, aramada ararım ve görevime uyuyorsa - ve kaç satır içerdiği önemli değil, onu kullanırım.

Ana şey, işlevin ihtiyacım olduğu gibi çalışmasıdır.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\\\\\\\\\\\\\\\\\\\

Bunu - kendini geliştirmek için yapıyorum ve başka bir şey değil, tamamen kendim için. Ve kimseye bir şey yazmayı düşünmüyorum

 
137 Matrix # :

örneğin, görevim görevimi yerine getiren bir işlev bulmak, aramada ararım ve görevime uyuyorsa - ve kaç satır içerdiği önemli değil, onu kullanırım.

Ana şey, işlevin ihtiyacım olduğu gibi çalışmasıdır.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\\\\\\\\\\\\\\\\\\\

Bunu - kendimi geliştirmek için ve başka bir şey için değil, tamamen kendim için yapıyorum . Ve kimseye bir şey yazmayı düşünmüyorum

Birine nasihat verdiğinizde, o artık kendiniz için değildir.

Özellikle bu tür hatalarla... PERIOD_CURRENT nedir ve bu durumda sonuç ne olur?

       if (TimeFrame != PERIOD_CURRENT )
 
Alexey Viktorov # :

Birine nasihat verdiğinizde, o artık kendiniz için değildir.

Özellikle bu tür hatalarla... PERIOD_CURRENT nedir ve bu durumda sonuç ne olur?

Şey, işe yarayıp yaramadığını bilmiyorum!

Ayarlarda geri yüklenen süreye göre aynı grafiği değiştirir.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Ben hiç tavsiye vermem. Biri bana soru sorduğunda kendimi onun yerine koyup istenen sonucu elde etmeye çalışırım.

Fark etmediyseniz, bu görevi elimden geldiğince tamamladım ve hazır bir komut dosyasıyla yayınladım - bu doğru olmayabilir - ama işini yapıyor.

 
Alexey Viktorov # :

Birine tavsiye verdiğinizde, artık kendiniz için değildir.

Özellikle bu tür hatalarla... PERIOD_CURRENT nedir ve bu durumda sonuç ne olur?

 if (TimeFrame != PERIOD_CURRENT )

Ben burada bir hata görmüyorum.