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

 
Merhaba!
Lütfen kod tabanının hangi başlığında, bar indeks numaralarının pencerenin altında ve / veya üstünde görüntülenmesi için rakamlar çizen bir algoritma örneği olduğunu söyler misiniz? Bir resimdeki gibi.
Buradaki nokta, OBJ_TEXT grafik nesnelerinin fiyat ve zamana ve OBJ_LABEL'in pencere koordinatlarına piksel cinsinden eklenmesidir. Ama nasıl birleştirirsiniz?
 
Leo59 :
Merhaba!
Lütfen kod tabanının hangi başlığında, bar indeks numaralarının pencerenin altında ve / veya üstünde görüntülenmesi için rakamlar çizen bir algoritma örneği olduğunu söyler misiniz? Bir resimdeki gibi.
Buradaki nokta, OBJ_TEXT grafik nesnelerinin fiyat ve zamana ve OBJ_LABEL'in pencere koordinatlarına piksel cinsinden eklenmesidir. Ama nasıl birleştirirsiniz?

Fiyata gitmeniz ve Higt veya Low mumların fiyatını belirtmeniz gerekir, ardından nesneler yerinde olacaktır.

 
Vitaly Muzichenko :

Fiyata gitmeniz ve Higt veya Low mumların fiyatını belirtmeniz gerekir, ardından nesneler yerinde olacaktır.

"çubuk dizin numaraları pencerenin altında ve/veya üstünde görüntülendi" ve "Yüksek veya Düşük mumları belirtin" bir "hile" değildir.

 
Leo59 :

"çubuk dizin numaraları pencerenin altında ve/veya üstünde görüntülendi" ve "Yüksek veya Düşük mumları belirtin" bir "hile" değildir.

öyle mi?

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
  • www.mql5.com
В этом разделе представлены примеры для работы со свойствами графика. Для каждого свойства приведены одна или две законченные функции, которые позволяют задавать/получать значение этого свойства. Эти функции можно использовать в своих MQL5 программах как есть. На рисунке показана графическая панель для наглядной демонстрации того, как изменение...
 
Vitaly Muzichenko :

öyle mi?

Bu bölümü yıllardır görüyorum. Evet, sadece beynim sadece bunun için yeterli:
 #property   indicator_chart_window

extern int History = 35 ;                                               // Сколько баров мы имеем ввиду
extern int Multiple = 5 ;                                               // Кратность отображаемой разметки

color     Color= 0 ;
color     Color_multiple=Moccasin;                                     // Цвет индексов кратных "Multiple"
color     Color_between=MintCream;                                     // Цвет индексов промежуточных 
string    name= "" ;
string    Text= "" ;
int       Font_size= 0 ;
int       Font_size_multiple= 14 ;                                       // Размер шрифта индексов кратных "Multiple"
int       Font_size_between= 8 ;                                         // Размер шрифта индексов промежуточных

bool      Back= true ;                                                   //--- отобразим на переднем (false) или заднем (true) плане. Если (true), то подсветки дат не выводится
string    Font= "Arial" ;                                                 // Шрифт
double    Angle= 270.0 ;                                                 // Угол наклона в градусах

int       Style= STYLE_DOT ;                                             // Для всех - стиль пунктир
int       Width= 1 ;                                                     // Толщина линии

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//+------------------------------------------------------------------+
//| Custom indicator initialization function                    F  1 | int init()
//+------------------------------------------------------------------+
int init()
   {
//    IndicatorShortName (IN + " (" + ")" );                               // Короткое имя индикатора
     return ( INIT_SUCCEEDED );                                           // Успешная инициализация приложения
   }

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//+------------------------------------------------------------------+
//| expert deinitialization function                             F 2 | int deinit()
//+------------------------------------------------------------------+
int deinit() // Время исполнения специальной функции deinit() ограничено периодом 2,5 секунды.
   {
     ObjectsDeleteAll ( 0 , "label" , 0 );                                   // Идентификатор графика, префикс имени объекта, индекс окна
     return ( 0 );                                                         // Выход из deinit()
   }

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//+------------------------------------------------------------------+
//| Custom indicator iteration function                         F  3 | int start()
//+------------------------------------------------------------------+
int start()
   {
     int i= 0 ;
     int limit= Bars - IndicatorCounted ()- 1 ; 
     if (limit> 1 ) limit= MathMin ( Bars , History+(History== 0 )* Bars )- 1 ;
    
     for (i= 0 ; i<History; i++)
        {
         name = "label " +i;
         Text = DoubleToStr (i, 0 );
          
         if ( MathMod (i, Multiple) == 0 )                                     // MathMod() Возвращает вещественный остаток от деления двух чисел (i/Multiple).
             {
              Color = Color_multiple;
              Font_size = Font_size_multiple;

               if ( ObjectFind ( 0 , name)==- 1 )                                   // Если объект "name" не найден
                  {
                   ObjectCreate ( 0 ,name, OBJ_VLINE , 0 , Time [i], 0 );             // Создаем объект..
                   ObjectSetInteger ( 0 ,name, OBJPROP_STYLE ,Style);           //--- установим стиль отображения линии
                   ObjectSetInteger ( 0 ,name, OBJPROP_WIDTH ,Width);           //--- установим толщину линии
                   ObjectSetInteger ( 0 ,name, OBJPROP_COLOR ,Color);           //--- установим цвет
                   ObjectSetString ( 0 ,name, OBJPROP_TEXT ,Text);               //--- установим текст
                   ObjectSetString ( 0 ,name, OBJPROP_FONT ,Font);               //--- установим шрифт текста
                   ObjectSetInteger ( 0 ,name, OBJPROP_FONTSIZE ,Font_size);     //--- установим размер шрифта
                   ObjectSetDouble ( 0 ,name, OBJPROP_ANGLE ,Angle);             //--- установим угол наклона текста
                   // Для отображения текстового описания объекта необходимо включить галочку опции "Показывать описания объектов" в окне Графики->Свойства финансового инструмента (F8) > Общие.         
                   ObjectSetInteger ( 0 ,name, OBJPROP_BACK , Back);             //--- отобразим на переднем (false) или заднем (true) плане
                  }
               else                                                          // Если объект "name" найден
                  {
                   ObjectMove ( 0 ,name, 0 , Time [i], 0 );                     // Сообщение новых координат. 
                  }
             }
//         else
//             {
//              Color = Color_between;
//              Font_size = Font_size_between;
//
//              if(ObjectFind(0, name)==-1)                                  // Если объект "name" не найден
//                  {
//                   ObjectCreate(0,name,OBJ_VLINE,0,Time[i],0);             // Создаем объект..
//                   ObjectSetInteger(0,name,OBJPROP_STYLE,Style);           //--- установим стиль отображения линии
//                   ObjectSetInteger(0,name,OBJPROP_WIDTH,Width);           //--- установим толщину линии
//                   ObjectSetInteger(0,name,OBJPROP_COLOR,Color);           //--- установим цвет
//                   //ObjectSetString(0,name,OBJPROP_TEXT,Text);              //--- установим текст
//                   //ObjectSetString(0,name,OBJPROP_FONT,Font);              //--- установим шрифт текста
//                   //ObjectSetInteger(0,name,OBJPROP_FONTSIZE,Font_size);    //--- установим размер шрифта
//                   ObjectSetDouble(0,name,OBJPROP_ANGLE,Angle);            //--- установим угол наклона текста
//                   // Для отображения текстового описания объекта необходимо включить галочку опции "Показывать описания объектов" в окне Графики->Свойства финансового инструмента (F8) > Общие.         
//                   ObjectSetInteger(0,name,OBJPROP_BACK, Back);            //--- отобразим на переднем (false) или заднем (true) плане
//                  }
//               else                                                        // Если объект "name" найден
//                  {
//                   ObjectMove(0,name, 0, Time[i], 0);                     // Сообщение новых координат. 
//                  }
//             }
        }
     return ( 0 );
   }

 
Leo59 :
Merhaba!
Lütfen kod tabanının hangi başlığında, bar indeks numaralarının pencerenin altında ve / veya üstünde görüntülenmesi için rakamlar çizen bir algoritma örneği olduğunu söyler misiniz? Bir resimdeki gibi.
Buradaki nokta, OBJ_TEXT grafik nesnelerinin fiyat ve zamana ve OBJ_LABEL'in pencere koordinatlarına piksel cinsinden eklenmesidir. Ama nasıl birleştirirsiniz?

Bu fonksiyonların yardımıyla ChartTimePriceToXY ve ChartXYToTimePrice istediğiniz yere yerleştirebilirsiniz.

 
Leo59 :
Merhaba!
Lütfen kod tabanının hangi başlığında, bar indeks numaralarının pencerenin altında ve / veya üstünde görüntülenmesi için rakamlar çizen bir algoritma örneği olduğunu söyler misiniz? Bir resimdeki gibi.
Buradaki nokta, OBJ_TEXT grafik nesnelerinin fiyat ve zamana ve OBJ_LABEL'in pencere koordinatlarına piksel cinsinden eklenmesidir. Ama nasıl birleştirirsiniz?

Grafikte neden sayılar var? Belgelerde, çubuk numarasının nasıl görüleceği konusunda hazır bir çözüm bulunur.

Документация по MQL5: Операции с массивами / ArraySetAsSeries
Документация по MQL5: Операции с массивами / ArraySetAsSeries
  • www.mql5.com
//| Custom indicator initialization function                         | //| Custom indicator iteration function                              |
 
Leo59 :
Bu bölümü yıllardır görüyorum. Evet sadece beynim buna yeter :

Mütevazı tavsiye:

Zaten mql5'te ustalaşmaya çalışıyorsanız, extern, int init(), int deinit() ve int start()'tan kurtulmaya çalışın.

bunları tam giriş, int OnInit(), void OnDeinit(const int Reason) ve void OnTick() ile değiştirin

 

Selamlar!


Bana bir dizi girdiyi nasıl yapacağımı söyle

Ben böyle çalışıyorum:

çift giriş Df_1 = 0.8;

çift giriş Df_2 = 0.1;

çift giriş Df_3= 0.3;


const double Df[3] = {Df_1 ,Df_2 ,Df_3 };


ama hata veriyor:

'Df_1' - sabit ifade gerekli

'Df_2' - sabit ifade gerekli

'Df_3' - sabit ifade gerekli

katı dizi başlatmaya atıfta bulunarak
 
Anttonnio :

Selamlar!


Bana bir dizi girdiyi nasıl yapacağımı söyle

Ben böyle çalışıyorum:

çift giriş Df_1 = 0.8;

çift giriş Df_2 = 0.1;

çift giriş Df_3= 0.3;


const double Df[3] = {Df_1 ,Df_2 ,Df_3 };


ama hata veriyor:

'Df_1' - sabit ifade gerekli

'Df_2' - sabit ifade gerekli

'Df_3' - sabit ifade gerekli

katı dizi başlatmaya atıfta bulunarak

Dizi sabitlerle başlatılmalıdır.

Girdi parametreleriyle doldurmak istiyorsanız, önce bunu bildirin ve ardından öğeye göre doldurun.