Kodlama yardımı - sayfa 495

 
Mastercash:
Mladen, anlamıyor gibiyim, Bir amaç için dalgalı r/s olarak hareket etmek için EMA 10. periyodu kullanıyorum, periyodu 1 periyoda indirgersem, r/s olarak kullanılamayacak kadar zayıf olacak.... ! Kodu yeni mumun açılışında değil, mumun içinde uyarı verecek şekilde ayarlayacak iyi kalpli bir adama ihtiyacım var. Ben sadece daha yalın bir kodlayıcıyım!

Afedersiniz

Kodu yanlış bir şekilde okumak

neyse bu hat

MainBuffer=iMA(NULL,60,10,0,MODE_SMA,PRICE_CLOSE,i);

grafik zaman çerçevesi 1 saatten farklı olduğunda her durumda yanlış olacaktır. Dizini ayarlamak için iBarShift() kullanın. Bunun gibi

int y = iBarShift(NULL,PERIOD_H1,Zaman);

MainBuffer=iMA(NULL,PERIOD_H1,10,0,MODE_SMA,PRICE_CLOSE,y);

Ayrıca, mevcut açık bir çubukta uyarı vermek için SIGNAL_BAR sabit değerini 1'den 0'a değiştirin (ancak daha sonra kodda bazı değişiklikler yapılmalıdır)

_________________

Not: Bu konudaki bazı yeni göstergeleri almanızı tavsiye ederim: https://www.mql5.com/en/forum/180648 çünkü bu davaların nasıl ele alınması gerektiğine dair birçok örnek var.

 

Lütfen lütfen lütfen! Ardışık 7. yükseliş mumunun veya 7. ardışık düşüş mumunun kapanmasından hemen sonra beni uyaracak uyarılı göstergeye ihtiyacım var.

Pin , dogi ve diğer mum formları sayılmaz. Sadece 7 düşüş veya yükseliş çubuğu arka arkaya olduğunda sesle ortaya çıkacak boğa ve ayı mum uyarısı.

Strateji tamamlandığında fikrimi gerçekten takdir edip paylaşacağım.

 

Merhaba Mladen!

Sanırım zaman optimizasyonunun artmasının nedenini buldum.

MovingAverages.mqh İçeren "iMAOnArray" yerine verileri düzeltin.

iMAOnArray ile strateji test cihazında göstergenin tek bir çalışması:

2015.06 . 28 00 : 13 : 42.132 2015.06 . 15 23 : 59 EURUSD,H1: 70897 tik olayı ( 71897 bar, 142742 bar durumu) 0 : 02 : 40.525 (toplam süre 0 : 02 : 40.556 ) 2015.06 . 28 00 : 11 : 01.613 2015.06 . 15 23 : 59 TSIergodik girişler: p2= 7 ; p3= 5 ; p4= 3 ; p5= 3 ; 2015.06 . 28 00 : 11 : 01.587 2015.06 . 15 23 : 59

MovingAverages.mqh ile strateji test cihazında göstergenin tek bir çalışması:

2015.06 . 28 00 : 14 : 10.625 2015.06 . 15 23 : 59 EURUSD,H1: 70897 tik olayı ( 71897 bar, 142742 bar durumu) 0 : 00 : 01.045 (toplam süre 0 : 00 : 01.077 ) 2015.06 . 28 00 : 14 : 09.577 2015.06 . 15 23 : 59 TSI_Yeni girişler: p2= 7 ; p3= 5 ; p4= 3 ; p5= 3 ; 2015.06 . 28 00 : 14 : 09.546 2015.06 . 15 23 : 59 EA'da yeni bir gösterge kullandığımda, işlem yok ve gösterge penceresi boş.

Optimizasyon sırasında işlemlerle çalıştığını gösterir:

12 513.73 354 1.18 1.45 269.81 18.75% 1.18239793 p2=21 p3=9 p4=15 p5=28 s=4 stop=0.02 p=0.026 Lots=0.01 Prots=0.07

18 417.94 349 1.16 1.20 235.92 15.14% 1.15998398 p2=41 p3=19 p4=27 p5=36 s=1 stop=0.024 p=0.012 Lots=0.01 Prots=0.07

7 314.10 346 1.09 0.91 326.66 20.58% 1.08715973 p2=13 p3=21 p4=5 p5=4 s=1 stop=0.028 p=0.02 Lots=0.01 Prots=0.07

13 229.71 176 1.17 1.31 287.58 19.28% 1.16941715 p2=35 p3=15 p4=13 p5=4 s=4 stop=0.022 p=0.016 Lots=0.01 Prots=0.07

11 66.44 26 1.31 2.56 62.37 5.78% -1.00000000 p2=23 p3=27 p4=25 p5=16 s=31 stop=0.03 p=0.014 Lots=0.01 Prots=0.07

Göstergeyi düzeltebilir misin?

tsi_new.mq4

Dosyalar:
tsi_new.mq4  5 kb
 
QuantF:
Merhaba Mladen!

Sanırım zaman optimizasyonunun artmasının nedenini buldum.

MovingAverages.mqh İçeren "iMAOnArray" yerine verileri düzeltin.

iMAOnArray ile strateji test cihazında göstergenin tek bir çalışması:

2015.06 . 28 00 : 13 : 42.132 2015.06 . 15 23 : 59 EURUSD,H1: 70897 tik olayı ( 71897 bar, 142742 bar durumu) 0 : 02 : 40.525 (toplam süre 0 : 02 : 40.556 ) 2015.06 . 28 00 : 11 : 01.613 2015.06 . 15 23 : 59 TSIergodik girişler: p2= 7 ; p3= 5 ; p4= 3 ; p5= 3 ; 2015.06 . 28 00 : 11 : 01.587 2015.06 . 15 23 : 59

MovingAverages.mqh ile strateji test cihazında göstergenin tek bir çalışması:

2015.06 . 28 00 : 14 : 10.625 2015.06 . 15 23 : 59 EURUSD,H1: 70897 tik olayı ( 71897 bar, 142742 bar durumu) 0 : 00 : 01.045 (toplam süre 0 : 00 : 01.077 ) 2015.06 . 28 00 : 14 : 09.577 2015.06 . 15 23 : 59 TSI_Yeni girişler: p2= 7 ; p3= 5 ; p4= 3 ; p5= 3 ; 2015.06 . 28 00 : 14 : 09.546 2015.06 . 15 23 : 59 EA'da yeni bir gösterge kullandığımda, işlem yok ve gösterge penceresi boş.

Optimizasyon sırasında işlemlerle çalıştığını gösterir:

12 513.73 354 1.18 1.45 269.81 18.75% 1.18239793 p2=21 p3=9 p4=15 p5=28 s=4 stop=0.02 p=0.026 Lots=0.01 Prots=0.07

18 417.94 349 1.16 1.20 235.92 15.14% 1.15998398 p2=41 p3=19 p4=27 p5=36 s=1 stop=0.024 p=0.012 Lots=0.01 Prots=0.07

7 314.10 346 1.09 0.91 326.66 20.58% 1.08715973 p2=13 p3=21 p4=5 p5=4 s=1 stop=0.028 p=0.02 Lots=0.01 Prots=0.07

13 229.71 176 1.17 1.31 287.58 19.28% 1.16941715 p2=35 p3=15 p4=13 p5=4 s=4 stop=0.022 p=0.016 Lots=0.01 Prots=0.07

11 66.44 26 1.31 2.56 62.37 5.78% -1.00000000 p2=23 p3=27 p4=25 p5=16 s=31 stop=0.03 p=0.014 Lots=0.01 Prots=0.07

Göstergeyi düzeltebilir misin?

tsi_new.mq4

Göstergede düzeltilecek bir şey yok

Sorun göstergede değil - sorun geriye dönük test cihazında.

Her durumda, aMAOnArray() kullanımı, ExponentialMAOnBuffer() kullanmaktan önemli ölçüde daha hızlı olmalıdır - çünkü iMAOnArray() makine kodu düzeyinde yürütülürken ExponentialMAOnBuffer() P-kodu düzeyinde yürütülür. iMAOnArray() öğesinin daha hızlı olmaması, mt4'teki yeni yapıların ciddi sorunlar yaşadığını gösteriyor.

 
mladen:
Göstergede düzeltilecek bir şey yok

Sorun göstergede değil - sorun geriye dönük test cihazında.

Her durumda, aMAOnArray() kullanımı, ExponentialMAOnBuffer() kullanmaktan önemli ölçüde daha hızlı olmalıdır - çünkü iMAOnArray() makine kodu düzeyinde yürütülürken ExponentialMAOnBuffer() P-kodu düzeyinde yürütülür. iMAOnArray() öğesinin daha hızlı olmaması, mt4'teki yeni yapıların ciddi sorunlar yaşadığını gösteriyor.

Forumda birçok kez bu konu hakkında yazdı. İyi değil. Hatanın düzeltilmeyeceğini mi düşünüyorsunuz?

 
QuantF:
Forumda birçok kez bu konu hakkında yazdı. İyi değil. Hatanın düzeltilmeyeceğini mi düşünüyorsunuz?

düzeltilmeli

Olacaksa - hiçbir fikrim yok. Backtester , her yeni derlemede daha da kötüleşiyor - çok fazla umut etmem

 

Dizilerle en verimli şekilde nasıl çalışılacağını açıklayan herhangi bir kılavuz var mı?

 
apprentice coder:
Dizilerle en verimli şekilde nasıl çalışılacağını açıklayan herhangi bir kılavuz var mı?

Mql, dizileri C/C++ ile benzer şekilde kullandığından, burada iyi bir başlangıç olacaktır: Diziler - C++ Eğitimleri

Kaçınmanız gereken dizileri dizi olarak ayarlamaktır. Bu durumda yeniden boyutlandırma, bize bir acı ... (son derece verimsiz) - en iyi yol, dizileri C/C++ ile aynı şekilde indekslemeyi kullanmaktır: ilk (en eski) eleman indeks 0'dır ve son (en yeni) eleman indeksi dizi boyutu - 1

 

Forumdaki @Programcılar ve Kodlayıcılar, lütfen aşağıdaki uzman danışmana bir başabaş seçeneği ekleyebilir misiniz?

 
douceurdange:
Merhaba, RSI çizgisi rsi+bollinger bantları göstergesinin bollinger bantlarına geri döndüğünde ok koymak mümkün müdür?

cci nrp gelişmiş uyarısını, sahip olmak istediğim uyarının bir modeli olarak koydum.

Şimdiden teşekkürler

rsi__bollinger_bands.mq4 rsi__bollinger_bands.ex4 cci _-_nrp_-_mtf_advanced_alerts.ex4 cci_-_nrp_-_mtf_advanced_alerts.mq4

gösterge burada yayınlandı: https://www.mql5.com/en/forum/general