Hatalar, hatalar, sorular - sayfa 276 1...269270271272273274275276277278279280281282283...3184 Yeni yorum lVlaxim 2011.01.21 23:11 #2751 Yedelkin : Bkz . MQL5 Referansı / Teknik Göstergeler / iCustom çabukluğunuz için çok teşekkür ederim) vda 2011.01.21 23:32 #2752 Bu konuda. Neredeyse yakaladım, ancak DANIŞMAN terminal günlüğünde başlamıyor yazıyor kaldırıldı başarıyla yüklendi kazanılan!! Sergey Gritsay 2011.01.22 00:06 #2753 burada bir hatan var v161_handle= iCustom ( NULL , 0 , "ErolМТ5" ); v162_handle= iCustom ( NULL , 0 , "ErolМТ5" ); Sum_handle= iCustom ( NULL , 0 , "ErolМТ5" ); bu durumda, üç değişkenin tümü aynı tanıtıcıya sahip olacaktır. aynı göstergeyi üç kez aradığınız için. vda 2011.01.22 00:13 #2754 sergey1294 : burada bir hatan var bu durumda, üç değişkenin tümü aynı tanıtıcıya sahip olacaktır. aynı göstergeyi üç kez aradığınız için. Evet ama anladığım kadarıyla gösterge çizgilerinin indeks değerleri (3 çizginin değerleri) geçiyoruz: CopyBuffer (v161_handle, 1 , 0 , 3 ,Spr1Buffer) CopyBuffer (v162_handle, 2 , 0 , 3 ,Spr2Buffer) CopyBuffer (Sum_handle, 4 , 0 , 3 ,SumBuffer) burada 1, 2 ve 4, arabellekte depolanan gösterge çizgileri endekslerinin değerleridir, sonra birbirimizle karşılaştırırız. Ama önemli değil, benim için gösterge çizgilerinin bu indekslerini kullanarak doğru hesaplamıyor Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов www.mql5.com Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов - Документация по MQL5 Kodlama yardımı [UYARI, KONU KAPALI!] Forumu MQL4 ve MQL5 ile vda 2011.01.22 00:15 #2755 Bana nereye gideceğimi ya da burada ne yapacağımı söyle. void OnTick () { ArraySetAsSeries (Spr1Buffer, true ); ArraySetAsSeries (Spr2Buffer, true ); ArraySetAsSeries (SumBuffer, true ); if ( CopyBuffer (v161_handle, 1 , 0 , 3 ,Spr1Buffer)< 0 || CopyBuffer (v162_handle, 2 , 0 , 3 ,Spr2Buffer)< 0 || CopyBuffer (Sum_handle, 4 , 0 , 3 ,SumBuffer)< 0 ) { Alert ( "Ошибка копирования буферов индикатора номер ошибки:" , GetLastError ()); } bool SellSpr1 =(Spr1Buffer[ 1 ] > Spr2Buffer[ 1 ]); bool SellSum1 =(SumBuffer[ 1 ]>=Sp); if (SellSpr1 && SellSum1 && ! PositionSelect (_Symbol)) { PositionOpenSell1(); } bool BuySpr1 =(Spr1Buffer[ 1 ] < Spr2Buffer[ 1 ]); bool BuySum1 =(SumBuffer[ 1 ]>=Sp); if (BuySpr1 && BuySum1 && ! PositionSelect (_Symbol)) { PositionOpenBuy1(); } Sergey Gritsay 2011.01.22 00:15 #2756 alexluek : Evet ama anladığım kadarıyla gösterge çizgilerinin indeks değerleri (3 çizginin değerleri) geçiyoruz: burada 1, 2 ve 4, tamponda saklanan gösterge çizgileri endekslerinin değerleridir, sonra birbirimizle karşılaştırırız. Ama önemli değil, benim için gösterge çizgilerinin bu indekslerini kullanarak doğru hesaplamıyor Göstergenin bir kopyasını yüklemek ve kopya arabelleği aracılığıyla istenen arabellek dizinine erişmek yeterlidir. vda 2011.01.22 00:30 #2757 sergey1294 : Göstergenin bir kopyasını yüklemek ve kopya arabelleği aracılığıyla istenen arabellek dizinine erişmek yeterlidir. hayır 2. satırın değerlerini almak mümkün değil çünkü farklı tamponlarda saklanan 2 satır indeksin değerleri karşılaştırılır. bool SellSpr1 =(Spr1Buffer[ 1 ] > Spr2Buffer[ 1 ]); Sergey Gritsay 2011.01.22 00:50 #2758 alexluek : hayır 2. satırın değerlerini almak mümkün değil çünkü farklı tamponlarda saklanan 2 satır indeksin değerleri karşılaştırılır. belki göstergenin kendisinde hatalar vardır vda 2011.01.22 01:07 #2759 sergey1294 : belki göstergenin kendisinde hatalar vardır gösterge doğru vda 2011.01.22 14:43 #2760 Boğulanların kurtuluşu, boğulanların kendilerinin işidir. Gelecek için, birisi için yararlı olabilir: Geçerli çubuktaki gösterge çizgilerinin 2 veya daha fazla değerini danışmana çağırmak için 1 tutamaç seçip hindiyi aramanız, ardından kopya arabelleği aracılığıyla kaydetmeniz gerekir. değer endeksler ve sonra bu arabelleklerle çalışın. sergey1294 yardımın için teşekkürler! int OnInit () { v161_handle= iCustom ( NULL , 0 , "LeroyMТ5" ); if (v161_handle< 0 ) { Alert ( "Ошибка при создании индикаторов: " , GetLastError ()); return (- 1 ); } return ( 0 ); } void OnTick () { ArraySetAsSeries (Sp1Buffer, true ); ArraySetAsSeries (Sp2Buffer, true ); ArraySetAsSeries (Sp3Buffer, true ); if ( CopyBuffer (v161_handle, 1 , 0 , 1 ,Sp1Buffer)< 0 || CopyBuffer (v161_handle, 2 , 0 , 1 ,Sp2Buffer)< 0 || CopyBuffer (v161_handle, 4 , 0 , 1 ,Sp3Buffer)< 0 ) { Alert ( "Ошибка копирования буферов индикатора номер ошибки:" , GetLastError ()); return ; } bool SellSpr1 =( Sp1Buffer[ 0 ]> Sp2Buffer[ 0 ] && Sp3Buffer[ 0 ]>=Sp ); if (SellSpr1 && ! PositionSelect (_Symbol)) { PositionOpenSell1(); } bool BuySpr1 =( Sp1Buffer[ 0 ]< Sp2Buffer[ 0 ] && Sp3Buffer[ 0 ]>=Sp ); if (BuySpr1 && ! PositionSelect (_Symbol)); { PositionOpenBuy1(); } } Init() ve DeInit() yürütme Çaydanlıktan gelen sorular Kodlama yardımı 1...269270271272273274275276277278279280281282283...3184 Yeni yorum
Bkz . MQL5 Referansı / Teknik Göstergeler / iCustom
çabukluğunuz için çok teşekkür ederim)
Bu konuda. Neredeyse yakaladım, ancak DANIŞMAN terminal günlüğünde başlamıyor yazıyor
kaldırıldı
başarıyla yüklendi
kazanılan!!burada bir hatan var
bu durumda, üç değişkenin tümü aynı tanıtıcıya sahip olacaktır. aynı göstergeyi üç kez aradığınız için.burada bir hatan var
bu durumda, üç değişkenin tümü aynı tanıtıcıya sahip olacaktır. aynı göstergeyi üç kez aradığınız için.Evet ama anladığım kadarıyla gösterge çizgilerinin indeks değerleri (3 çizginin değerleri)
geçiyoruz:
burada 1, 2 ve 4, arabellekte depolanan gösterge çizgileri endekslerinin değerleridir,
sonra birbirimizle karşılaştırırız.
Ama önemli değil, benim için gösterge çizgilerinin bu indekslerini kullanarak doğru hesaplamıyor
Bana nereye gideceğimi ya da burada ne yapacağımı söyle.
Evet ama anladığım kadarıyla gösterge çizgilerinin indeks değerleri (3 çizginin değerleri)
geçiyoruz:
burada 1, 2 ve 4, tamponda saklanan gösterge çizgileri endekslerinin değerleridir,
sonra birbirimizle karşılaştırırız.
Ama önemli değil, benim için gösterge çizgilerinin bu indekslerini kullanarak doğru hesaplamıyor
Göstergenin bir kopyasını yüklemek ve kopya arabelleği aracılığıyla istenen arabellek dizinine erişmek yeterlidir.
hayır 2. satırın değerlerini almak mümkün değil
çünkü farklı tamponlarda saklanan 2 satır indeksin değerleri karşılaştırılır.
hayır 2. satırın değerlerini almak mümkün değil
çünkü farklı tamponlarda saklanan 2 satır indeksin değerleri karşılaştırılır.
belki göstergenin kendisinde hatalar vardır
gösterge doğru
Boğulanların kurtuluşu, boğulanların kendilerinin işidir.
Gelecek için, birisi için yararlı olabilir:
Geçerli çubuktaki gösterge çizgilerinin 2 veya daha fazla değerini danışmana çağırmak için
1 tutamaç seçip hindiyi aramanız, ardından kopya arabelleği aracılığıyla kaydetmeniz gerekir. değer endeksler
ve sonra bu arabelleklerle çalışın. sergey1294 yardımın için teşekkürler!