Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
Arkadaşlar, RSI ve SMA ilişkisini kodlamak için biraz yardıma ihtiyacım var.
Resimde gördüğünüz gibi sinyaller var(yukarı-aşağı oklar), ancak bazıları yanlış sinyaller. Bu yüzden üzerinde RSI14 ve SMA20 ile yanlış sinyalleri ortadan kaldırmaya karar verdim.
Arkasındaki mantık çok kolay, RSI14 SMA20'nin ÜZERİNDE ise yukarı ok görünmelidir. RSI, SMA20'nin ALTINDA ise aşağı ok görünmelidir.
Bazı yukarı okları yanlış işaretledim çünkü RSI çok yüksek ama o kısmı kendim kodlayabilirim.
Çok sayıda RSI<MA geçiş kodu buldum, ancak çapraz görünürse çoğu uzun/kısa gidiyor. Ancak RSI'nin YUKARI veya AŞAĞI olduğu bir terime ihtiyacım var ve sonra bir şeyler yapıyorum.
Şimdilik bulduğum kadarıyla, bunun için IRSI ve dizi kullanmam gerekiyor ama bu kodu kendim bir araya getiremiyorum.gezi
Burada yayınlananı kontrol ettiniz mi: https://www.mql5.com/en/forum/general
triip Burada yayınlananı kontrol ettiniz mi : https://www.mql5.com/en/forum/general
Evet, ama bulduğum tek şey geçiş sinyaliydi. RSI, SMA'nın üstünde/altındaysa koşullara ihtiyacım var.
Önce YUKARI ve AŞAĞI ne demek olduğunu açıklamam gerektiğini anlıyorum, bundan sonra bunları IF cümlesinde kullanabilirim.
gezi
Burada yayınlananı kontrol ettiniz mi: https://www.mql5.com/en/forum/174476Evet, ama bulduğum tek şey geçiş sinyaliydi. RSI, SMA'nın üstünde/altındaysa koşullara ihtiyacım var.
Önce YUKARI ve AŞAĞI ne demek olduğunu açıklamam gerektiğini anlıyorum, bundan sonra bunları IF cümlesinde kullanabilirim.
Evet, ama bulduğum tek şey geçiş sinyaliydi. RSI, SMA'nın üstünde/altındaysa koşullara ihtiyacım var. Önce YUKARI ve AŞAĞI ne demek olduğunu açıklamam gerektiğini anlıyorum, bundan sonra bunları IF cümlesinde kullanabilirim.
gezi
Resminize bu sinyalleri almak için hangi rsi'yi kullandığınıza dair hiçbir fikrim yok, yani ... tüm söyleyebileceğim bu. Kod olmadan daha fazla yardımcı olamam
triip Resminizde bu sinyalleri almak için hangi rsi'yi kullandığınıza dair hiçbir fikrim yok, yani ... tüm söyleyebileceğim bu. Kod olmadan daha fazla yardımcı olamam
Üzgünüm, ok sinyallerinin RSI'dan gelmediğinden bahsetmedim. kullandığım başka bir kod. Ancak SMA'lı RSI'nin yanlış sinyalleri önlemeye yardımcı olacağını gördüm. Bu nedenle, RSI koşullarını da tanımlayabilmesi için sinyal kodunu düzenlemeyi seviyorum.
İhtiyacım olan şey:
Ok sinyalleri gelir, ancak hepsi gerçek sinyaller değildir. Yani ok gelmeden önce, RSI koşullarını neyin kontrol ettiğini kontrol etmek için başka bir tane olması gerekir.
if (geçerli kodum && RSI, SMA'nın üstünde/altında )
{ oku göster
}
O kırmızı parçaya ihtiyacım var.
Üzgünüm, ok sinyallerinin RSI'dan gelmediğinden bahsetmedim. kullandığım başka bir kod. Ancak SMA'lı RSI'nin yanlış sinyalleri önlemeye yardımcı olacağını gördüm. Bu nedenle, RSI koşullarını da tanımlayabilmesi için sinyal kodunu düzenlemeyi seviyorum.
İhtiyacım olan şey:
Ok sinyalleri gelir, ancak hepsi gerçek sinyaller değildir. Bu nedenle, eğer ok gelirse, RSI koşullarını neyin kontrol ettiğini kontrol etmek için başka bir tane olması gerekir.
if (geçerli kodum && RSI, SMA'nın üstünde/altında )
{ oku göster
}
O kırmızı parçaya ihtiyacım var.gezi
Aşağıdakileri yapmanız gerekir:
1. RSI değerlerini bir arabelleğe kaydedin
2. Bu RSI değerlerinin SMA'sını hesaplamak için iMAOnArray() kullanın
3. Kaydedilen RSI değeri ile iMAOnArray() hesaplanan değerin değerini karşılaştırın ve bu sizin durumunuz
gezi
Aşağıdakileri yapmanız gerekir:
1. RSI değerlerini bir arabelleğe kaydedin
2. Bu RSI değerlerinin SMA'sını hesaplamak için iMAOnArray() kullanın
3. Kaydedilen RSI değeri ile iMAOnArray() hesaplanan değerin değerini karşılaştırın ve bu sizin durumunuzYani 1 ve 2 böyle bir şey mi?
1.
extern int rsi_p = 14;
extern int MA_Period=20;
extern int MA_Shift=0;
extern int MA_Method=0;
extern int NumberOfBarsToCalculate = 10000;
double Buffer0[];
double Buffer1[];
double Ma[];
double RSi[];
int init()
{
IndicatorBuffers(4);
SetIndexBuffer(0,Buffer0);
SetIndexBuffer(1,Buffer1);
SetIndexBuffer(2,Ma);
SetIndexBuffer(3,RSi);
return(0);
}
[/CODE]
2.
[CODE]int start() {
int shift;
double rsi = 0;
for(shift=NumberOfBarsToCalculate-1;shift>=0;shift--){
RSi[shift] = iRSI(NULL,0,rsi_p,PRICE_CLOSE,shift);
}
for(shift=NumberOfBarsToCalculate-1;shift>=0;shift--){
Ma[shift] = iMAOnArray(RSi,0,MA_Period,MA_Shift,MA_Method,shift);
Buffer0[shift] = RSi[shift];
Buffer1[shift] = Ma[shift];
}
return(0);
}
Yani 1 ve 2 böyle bir şey mi?
1.
extern int rsi_p = 14;
extern int MA_Period=20;
extern int MA_Shift=0;
extern int MA_Method=0;
extern int NumberOfBarsToCalculate = 10000;
double Buffer0[];
double Buffer1[];
double Ma[];
double RSi[];
int init()
{
IndicatorBuffers(4);
SetIndexBuffer(0,Buffer0);
SetIndexBuffer(1,Buffer1);
SetIndexBuffer(2,Ma);
SetIndexBuffer(3,RSi);
return(0);
}
[/CODE]
2.
[CODE]int start() {
int shift;
double rsi = 0;
for(shift=NumberOfBarsToCalculate-1;shift>=0;shift--){
RSi[shift] = iRSI(NULL,0,rsi_p,PRICE_CLOSE,shift);
}
for(shift=NumberOfBarsToCalculate-1;shift>=0;shift--){
Ma[shift] = iMAOnArray(RSi,0,MA_Period,MA_Shift,MA_Method,shift);
Buffer0[shift] = RSi[shift];
Buffer1[shift] = Ma[shift];
}
return(0);
}
evet o şekilde de yapabilirsiniz
Ve ihtiyacınız olduğunda, sadece RSi ve MA arabelleğini karşılaştırın ve her zaman göreli konumlarını görebileceksiniz.
Evet, bu şekilde de yapabilirsiniz Ve ihtiyacınız olduğunda, sadece RSi ve MA tampon belleğini karşılaştırın ve her zaman onların göreceli konumlarını görebileceksiniz.
Harika, çok teşekkürler mladen
çırak kodlayıcı İşte böyle bir sıralama prosedürüne sahip bir gösterge (2 boyutlu diziyi sıralıyor): spearman_rank_correlation_nmc.mq4
mladen
Aynı şeyi yapan herhangi bir c/c++ örneği var mı?