Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 534

 
AlexeyVik :

Bunu kullanın https://docs.mql4.com/en/indicators/imaonarray

Lütfen koda bakın, doğru mu?

 //+------------------------------------------------------------------+
//|Определяем, можно ли торговать исходя из волатильности            |
//+------------------------------------------------------------------+

bool Volatilnost( int ATRTimeframe, int ATRPeriod, int PerShortMA, int PerLongMA, int ma_method)
   {
   bool   res = false ;
   double    atr_curr[ 101 ];
   double    iatr_curr;
   
   ArraySetAsSeries (atr_curr, true );
   
   for ( int i= 100 ; i>= 0 ; i--)  
   {
   atr_curr[i]= iATR ( NULL , ATRTimeframe, ATRPeriod, i) ;
   if (i== 1 ){iatr_curr=atr_curr[i];}
   }
   double    ShortMA= iMAOnArray ( atr_curr, 0 , PerShortMA, 0 , ma_method, 1 ); 
   double    LongMA = iMAOnArray ( atr_curr, 0 , PerLongMA, 0 , ma_method,   1 ); 

   if (ShortMA < LongMA)res = false ; // Не работаем
         else res = true ;
       
   return (res);
   }
 
AlexeyVik :
Şimdi size açının grafiğin ölçeğine bağlı olduğunu ve bunun yapılamayacağını açıklamaya başlayacaklar...
Ancak bir açıyı değil, yalnızca bu açının tanjantını alırsanız, planınızı oldukça yerine getirebilirsiniz.

İlginç, ama bir şekilde ne olduğunu ve nasıl belirleneceğini daha ayrıntılı olarak öğrenebilirsiniz, okulda geometride tanjant ve katanjant öğretildiğini biliyorum ama ne yazık ki hatırlamıyorum.) Forumda Fresh'e sordum ama Hiçbir zaman belirli bir cevap almadım.
 

Yandex'de yasaklıysanız, Google'ı kullanabilirsiniz.

Ve kısacası, bir dik üçgende bir açının tanjantı, karşı bacağın bitişik olana oranıdır.

Bunu MT grafiğindeki bir duruma çevirerek, elde ederiz - karşı bacak noktalara (birim olarak) ve bitişik olan çubuklara (ayrıca birimler) eşit olacaktır.

Misal:

Açılış EURUSD 6.03 1.3732 açılış 7:03 1.3860 toplam 128 puan. M1'de 1440 bar tan = 128/1440=0.08889

Temel olarak, bu denklem ObjectGetValueByShift() işlevinde kullanılır.

 
Üçüncü taraf bir sunucu kullanmak mümkün müdür? Bunu yeni bağladım http://buy.fineproxy.org/
 
Lütfen verileri bir tablodan (*.csv) üç boyutlu bir statik diziye nasıl aktaracağınızı açıklayın.
Tablonun ilk sütununda - dizinin ilk boyutundaki dizin,
İkincisinde - dizinin ikinci boyutunun indeksi,
Üçüncü ve sonraki sütunlarda - dizinin üçüncü boyutuna göre değerlerin kendisi.
 void AAA()
   {
     int        Handle;                                           // Файловый описатель
     string     File_Name = "AAA.csv" ;                           // Имя открываемого файла

     string     str_1 = "" ;                                       //  1 Номер индекса по первому измерению
     string     str_2 = "" ;                                       //  2 Номер индекса по второму измерению
     string     str_3 = "" ;                                       //  3 Значение
     string     str_4 = "" ;                                       //  4 Значение
     string     str_5 = "" ;                                       //  5 Значение

    Handle= FileOpen (File_Name, FILE_READ , ";" );                 // Открытие файла
    
     while ( FileIsEnding (Handle)== false )                         // До тех пор, пока файловый...
        {                                                       // ...указатель не в конце файла
         // Чтение данных из строки до файлового разделителя
         str_1 = FileReadString (Handle);                       //  1 Номер индекса по первому измерению
         str_2 = FileReadString (Handle);                       //  2 Номер индекса по второму измерению
         str_3 = FileReadString (Handle);                       //  3 Значение
         str_4 = FileReadString (Handle);                       //  4 Значение
         str_5 = FileReadString (Handle);                       //  5 Значение
         
         if ( FileIsEnding (Handle)== true )                         // Файловый указатель в конце файла
               break ;                                           // Выход из цикла чтения

         ????????????????????????????????????????????????????
        }
     FileClose (Handle);                                         // Закрываем файл
    return ;                                                     // Выход из функции
   }
 
Leo59 :
Lütfen verilerin bir tablodan (*.csv) üç boyutlu bir statik diziye nasıl aktarılacağını açıklayın.
Tablonun ilk sütununda - dizinin ilk boyutundaki dizin,
İkincisinde - dizinin ikinci boyutunun indeksi,
Üçüncü ve sonraki sütunlarda - dizinin üçüncü boyutuna göre değerlerin kendisi.



Excel'in kendisinde analiz içinse, bir pivot tablo.

Pekala, ya da verilerin bir kısmını gösterin, öyle görünüyor ki indeks değeriyle eşleşecek yardımcı dizi dizileri almanız gerekecek.

 
splxgf :


.... dizin değeriyle eşleşen yardımcı dizi dizileri almanız gerekecek gibi görünüyor.

 void AAA()
   {
     int        Handle;                                           // Файловый описатель
     string     File_Name = "AAA.csv" ;                           // Имя открываемого файла

     string     str_1 = "" ;                                       //  1 Номер индекса по первому измерению
     string     str_2 = "" ;                                       //  2 Номер индекса по второму измерению
     string     str_3 = "" ;                                       //  3 Значение
     string     str_4 = "" ;                                       //  4 Значение
     string     str_5 = "" ;                                       //  5 Значение

    Handle= FileOpen (File_Name, FILE_READ , ";" );                 // Открытие файла
    
     while ( FileIsEnding (Handle)== false )                         // До тех пор, пока файловый...
        {                                                       // ...указатель не в конце файла
         // Чтение данных из строки до файлового разделителя
         str_1 = FileReadString (Handle);                       //  1 Номер индекса по первому измерению
         str_2 = FileReadString (Handle);                       //  2 Номер индекса по второму измерению
         str_3 = FileReadString (Handle);                       //  3 Значение
         str_4 = FileReadString (Handle);                       //  4 Значение
         str_5 = FileReadString (Handle);                       //  5 Значение
         
         if ( FileIsEnding (Handle)== true )                         // Файловый указатель в конце файла
               break ;                                           // Выход из цикла чтения

// Завели строковый массив

         // Преобразование типов данных и запись в масссив
         ArrayResize (Mas1, SizeMas1+ 1 );                         // Увеличили размер массива Mas1

         Mas1[SizeMas1][ 0 ] = StrToInteger (str_1);               //  0 Номер индекса по первому измерению
         Mas1[SizeMas1][ 1 ] = StrToInteger (str_2);               //  1 Номер индекса по второму измерению
         Mas1[SizeMas1][ 2 ] = StrToDouble (str_3);               //  2 Значение
         Mas1[SizeMas1][ 3 ] = StrToDouble (str_4);               //  3 Значение
         Mas1[SizeMas1][ 4 ] = StrToDouble (str_5);               //  4 Значение
         SizeMas1++;                                           // Новый размер массива Mas1

// Что дальше  ????????????????????????????????????????????????????

        }
     FileClose (Handle);                                         // Закрываем файл
     return ;                                                     // Выход из функции
   }
 

OBJ_ARROW_RIGHT_PRICE gibi tüm nesneler nasıl silinir?

ObjectsDeleteAll(OBJ_ARROW_RIGHT_PRICE) komutu silinmez! zaman çerçevesini değiştirdikten sonra bile (tüm grafiği zorla yeniden çizmek için)

Basit bir senaryo yazdım, yorumlarda ekranda ne yazıyor:

Alert("obj_arrow_right_price=",OBJ_ARROW_RIGHT_PRICE) ; // =36

ObjectCreate("MyArrow",OBJ_ARROW_RIGHT_PRICE,0,Zaman[1],Açık[1]) ; // OBJ_ARROW_RIGHT_PRICE oluşturuldu

Alert( "objectTipe=", ObjectType("MyArrow"))," OK CODE=",ObjectGet("MyArrow",OBJPROP_ARROWCODE) ) ; // kabus "objecType=" =22, neden 36 ilk satırdaki gibi olmadığını anlamadı ??

ResetLastError() ;

Alert("script delete arrow right price=",ObjectsDeleteAll(OBJ_ARROW_RIGHT_PRICE)," lastError=",GetLastError() ) ; // uzak nesneler =0, hata kodu =0

Deneyi daha da ileri taşıyorum: ObjectsDeleteAll(22) ; // ve tekrar silinen nesneler =0

 
VoDyaMon :

OBJ_ARROW_RIGHT_PRICE gibi tüm nesneler nasıl silinir?


Yardımı tekrar okuyun:

NesnelerSilTümünü

Belirtilen türdeki ve belirtilen grafik alt penceresindeki tüm nesneleri siler.

 int    ObjectsDeleteAll (
   int    window= EMPTY ,       // индекс окна
   int    type= EMPTY          // тип объекта для удаления
   );

Nesneler ana grafik penceresindeyse:

 ObjectsDeleteAll ( 0 , OBJ_ARROW_RIGHT_PRICE );
 
isn-88 :


Yardımı tekrar okuyun:

NesnelerSilTümünü

Belirtilen türdeki ve belirtilen grafik alt penceresindeki tüm nesneleri siler.

Nesneler ana grafik penceresindeyse:

Sadece aptalca seçenekler önermek gerekli değil. Bu komut, tüm nesneleri grafikten kaldıracaktır.