Bunu yapamazsınız, periyotların değeri birer birer artmadığı için kendi numaralandırma indeksinizi düzenlemeniz gerekir, bunun gibi bir şey
int TF( int i) { switch (i) { case 1 : return ( PERIOD_M1 ); case 2 : return ( PERIOD_M5 ); case 3 : return ( PERIOD_M15 ); case 4 : return ( PERIOD_M30 ); case 5 : return ( PERIOD_H1 ); case 6 : return ( PERIOD_H4 ); case 7 : return ( PERIOD_D1 ); case 8 : return ( PERIOD_W1 ); case 9 : return ( PERIOD_MN1 ); } }
sergey1294 :
Bunu yapamazsınız çünkü periyotların değeri birer birer artmaz, kendi numaralandırma indeksinizi düzenlemeniz gerekir, bunun gibi bir şey
Keşke her şey bu kadar basit olsaydı. Değerler eşit olarak dağılmamıştır. Diyelim ki PERIOD_H1 60 ve sonraki PERIOD_H2 periyodu zaten 120.
Bunu yapamazsınız çünkü periyotların değeri birer birer artmaz, kendi numaralandırma indeksinizi düzenlemeniz gerekir, bunun gibi bir şey
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков
- www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков - Документация по MQL5
Interesting :
bu doğru, MT4'te tam olarak bunu yaptım
Muhtemelen iki işlevi tanıtmanız gerekir: 1 - numaralandırmadaki öğelerin sayısını döndürür, 2 - öğeyi sayıya göre döndürür ...
C-4 :
Keşke her şey bu kadar basit olsaydı. Değerler eşit dağılmamıştır. Diyelim ki PERIOD_H1 60 ve sonraki PERIOD_H2 periyodu zaten 120.
Keşke her şey bu kadar basit olsaydı. Değerler eşit dağılmamıştır. Diyelim ki PERIOD_H1 60 ve sonraki PERIOD_H2 periyodu zaten 120.
Sonuç olarak, numaralandırma önceden tanımlanmış bir şeydir ve tüm değerleri görüntülenebilir,
bu nedenle sevgili sergey1294 , çeviri tablosunu seri bir çağrıya açıklamanızı tavsiye etti,
burada değer 1 artırıldığında, listedeki bir sonraki numaralandırma değeri çağrılır.
Genel olarak, tek bir çözüm var. Her numaralandırma için özel bir Numaralandırıcı işlevi yazın. Örneğin Zaman Çerçeveleri için:
ENUM_TIMEFRAMES GetPeriodEnumerator(uchar i);
Şimdi kaç tane numaralandırma olduğunu ve orada kaç tane dönüştürücü işlevi olması gerektiğini (her numaralandırma için bir tane) tahmin edelim.
C-4 :
Genel olarak, tek bir çözüm var. Her numaralandırma için özel bir Numaralandırıcı işlevi yazın. Örneğin Zaman Çerçeveleri için: Şimdi kaç tane numaralandırma olduğunu ve orada kaç tane dönüştürücü işlevi olması gerektiğini (her numaralandırma için bir tane) tahmin edelim.
MT5'te 21 zaman dilimi vardır. Son sürüm böyle görünecekGenel olarak, tek bir çözüm var. Her numaralandırma için özel bir Numaralandırıcı işlevi yazın. Örneğin Zaman Çerçeveleri için: Şimdi kaç tane numaralandırma olduğunu ve orada kaç tane dönüştürücü işlevi olması gerektiğini (her numaralandırma için bir tane) tahmin edelim.
ENUM_TIMEFRAMES GetPeriodEnumerator( uchar i) { switch (i) { case 0 return ( PERIOD_M1 ); case 1 return ( PERIOD_M2 ); case 2 return ( PERIOD_M3 ); case 3 return ( PERIOD_M4 ); case 4 return ( PERIOD_M5 ); case 5 return ( PERIOD_M6 ); case 6 return ( PERIOD_M10 ); case 7 return ( PERIOD_M12 ); case 8 return ( PERIOD_M15 ); case 9 return ( PERIOD_M20 ); case 10 return ( PERIOD_M30 ); case 11 return ( PERIOD_H1 ); case 12 return ( PERIOD_H2 ); case 13 return ( PERIOD_H3 ); case 14 return ( PERIOD_H4 ); case 15 return ( PERIOD_H6 ); case 16 return ( PERIOD_H8 ); case 17 return ( PERIOD_H12 ); case 18 return ( PERIOD_D1 ); case 19 return ( PERIOD_W1 ); case 20 return ( PERIOD_MN1 ); } return (- 1 ); }
sergey1294 :
MT5'te 21 zaman dilimi vardır. Son sürüm böyle görünecek
Standart numaralandırıcıların (tanımlayıcıların) geri kalanı için aynı şeyi yapmaya devam ediyor + başka bir şey varsa, özel şeyleri unutmayın ...
MT5'te 21 zaman dilimi vardır. Son sürüm böyle görünecek
başka bir seçenek daha var, zaman aralığı değerlerini bir diziye yazıp bu diziyi yineleyerek gerekli değerleri elde edin.
Документация по MQL5: Предопределенные переменные / _Period
- www.mql5.com
Предопределенные переменные / _Period - Документация по MQL5
Genel olarak iki seçenek var
bir işlevi kullanan ilki, son gönderiye iki nokta üst üste koymayı unuttum
ENUM_TIMEFRAMES GetPeriodEnumerator( uchar i) { switch (i) { case 0 : return ( PERIOD_M1 ); case 1 : return ( PERIOD_M2 ); case 2 : return ( PERIOD_M3 ); case 3 : return ( PERIOD_M4 ); case 4 : return ( PERIOD_M5 ); case 5 : return ( PERIOD_M6 ); case 6 : return ( PERIOD_M10 ); case 7 : return ( PERIOD_M12 ); case 8 : return ( PERIOD_M15 ); case 9 : return ( PERIOD_M20 ); case 10 : return ( PERIOD_M30 ); case 11 : return ( PERIOD_H1 ); case 12 : return ( PERIOD_H2 ); case 13 : return ( PERIOD_H3 ); case 14 : return ( PERIOD_H4 ); case 15 : return ( PERIOD_H6 ); case 16 : return ( PERIOD_H8 ); case 17 : return ( PERIOD_H12 ); case 18 : return ( PERIOD_D1 ); case 19 : return ( PERIOD_W1 ); case 20 : return ( PERIOD_MN1 ); } return (- 1 ); }Bir dizi kullanarak ikinci seçenek
ENUM_TIMEFRAMES GetPeriodEnumerator[ 21 ]= { PERIOD_M1 , PERIOD_M2 , PERIOD_M3 , PERIOD_M4 , PERIOD_M5 , PERIOD_M6 , PERIOD_M10 , PERIOD_M12 , PERIOD_M15 , PERIOD_M20 , PERIOD_M30 , PERIOD_H1 , PERIOD_H2 , PERIOD_H3 , PERIOD_H4 , PERIOD_H6 , PERIOD_H8 , PERIOD_H12 , PERIOD_D1 , PERIOD_W1 , PERIOD_MN1 };
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Diyelim ki bir numaralandırmamız var. Sıralı olarak, örneğin bir döngüde, bu numaralandırmanın tüm olası değerleri nasıl alınır?
ENUM_TIMEFRAMES tf1;
Onlar. tf1++ sürekli olarak PERIOD_M1 , PERIOD_M2 , PERIOD_M5 döndürmelidir... Bunun dil araçları kullanılarak yapılamayacağını düşünüyorum.