![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Fantastik – mladen çok iyi çalışıyor! Çok teşekkür ederim.
Zahmet olmazsa birkaç ricam:
1. 4 MA senkronize haldeyken, fiyat geri çekilir ve belirlenmiş bir MA'ya dokunur
(bu durumda 2. en kısa MA, kırmızı 15 EMA ) Bir ok ve uyarı üretilmesini istiyorum.
Daha sonra orada kısa sinyal aramak için daha küçük 1M zaman dilimine geçerdim.
Daha küçük 1 M zaman dilimi geriye dönük testinde nereye bakılacağını (A noktası) kolayca görebilmek için yatay ve dikey çizgiler ekliyorum
2. Histogram çubuğunu göstermek için 4 ma synch indy'den yalnızca iki veya üç ma'nın senkronize olmasını aramasını isteyebilir miyim? (lütfen burada yapmaya çalıştığım şey için 1m koşulları ekine bakın)
kişi77
Korkarım ki bu gösterge fiyat dokunuşlarını göstermek için tasarlanmamıştır veya öngörülmemiştir. Ayrıca, tam olarak bu tür bir işi yapan iyi göstergelerin olduğundan da oldukça eminim.
2 ve 3 mas sürümünden itibaren: "if (ma1<ma2 && ma2<3" ... ve benzeri, "=" ile devam eden karşılaştırmayı gördüğünüz koddaki "" yi değiştirin ve ardından 2 mas ayarlayın 3 farklı mas veya 2 çift mas için aynı değerlere aynı değerlere indikatör tarafından 2 mas gösterilecek
mladen
Önerin için teşekkürler.
Kodlamam işe yaramaz!
> ve < öğelerini = olarak değiştirdim ancak derleme sırasında bazı hatalar aldım.
Farklı olarak ne yapmam gerekiyor?
//------------------------------------------------ ------------------
#özellik telif hakkı "www.forex-tsd.com"
#özellik bağlantısı "www.forex-tsd.com"
//------------------------------------------------ ------------------
#özellik göstergesi_separate_window
#özellik göstergesi_tamponları 2
#özellik göstergesi_color1 KireçYeşil
#özellik göstergesi_renk2 KoyuTuruncu
#özellik göstergesi_width1 2
#özellik göstergesi_width2 2
#özellik göstergesi_minimum 0
#özellik göstergesi_maksimum 1
extern int Ma1Period = 5;
extern int Ma1Price = PRICE_CLOSE;
extern int Ma1Method = MODE_EMA;
harici int Ma1Shift = 0;
harici int Ma2Period = 15;
extern int Ma2Price = PRICE_CLOSE;
extern int Ma2Method = MODE_EMA;
harici int Ma2Shift = 0;
harici int Ma3Period = 28;
harici int Ma3Price = PRICE_CLOSE;
extern int Ma3Method = MODE_EMA;
harici int Ma3Shift = 0;
harici int Ma4Period = 45;
harici int Ma4Price = PRICE_CLOSE;
extern int Ma4Method = MODE_EMA;
harici int Ma4Shift = 0;
//
//
//
//
//
çift histu[];
çift histd[];
//------------------------------------------------ ------------------
//
//------------------------------------------------ ------------------
//
//
//
//
//
int init()
{
SetIndexBuffer(0,histu); SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexBuffer(1,histd); SetIndexStyle(1,DRAW_HISTOGRAM);
dönüş(0);
}
int deinit() { dönüş (0); }
//------------------------------------------------ ------------------
//
//------------------------------------------------ ------------------
//
//
//
//
//
int başlangıç()
{
int counted_bars = IndicatorCounted();
if (counted_bars < 0) return(-1);
if (counted_bars > 0) counted_bars--;
int limit = MathMin(Barlar-sayılan_barlar,Barlar-1);
//
//
//
//
//
for(int i = limit; i >=0; i--)
{
double ma1 = iMA(NULL,0,Ma1Period,Ma1Shift,Ma1Method,Ma1Price,i);
double ma2 = iMA(NULL,0,Ma2Period,Ma2Shift,Ma2Method,Ma2Price,i);
double ma3 = iMA(NULL,0,Ma3Period,Ma3Shift,Ma3Method,Ma3Price,i);
double ma4 = iMA(NULL,0,Ma4Period,Ma4Shift,Ma4Method,Ma4Price,i);
histu = BOŞ_DEĞER ;
histd = BOŞ_DEĞER;
if ( ma1=ma2 && ma2=ma3 && ma3>ma4) histu = 1;
if ( ma1=ma2 && ma2=ma3 && ma3<ma4) histd = 1;
}
dönüş(0);
}
merhaba
MA kullanarak renko grafiği 2min ne olacak?
şimdiden teşekkürler
mladen
Önerin için teşekkürler.
Kodlamam işe yaramaz!
> ve < öğelerini = olarak değiştirdim ancak derleme sırasında bazı hatalar aldım.
Farklı olarak ne yapmam gerekiyor?
//------------------------------------------------ ------------------
#özellik telif hakkı "www.forex-tsd.com"
#özellik bağlantısı "www.forex-tsd.com"
//------------------------------------------------ ------------------
#özellik göstergesi_separate_window
#özellik göstergesi_tamponları 2
#özellik göstergesi_color1 KireçYeşil
#özellik göstergesi_renk2 KoyuTuruncu
#özellik göstergesi_width1 2
#özellik göstergesi_width2 2
#özellik göstergesi_minimum 0
#özellik göstergesi_maksimum 1
extern int Ma1Period = 5;
extern int Ma1Price = PRICE_CLOSE;
extern int Ma1Method = MODE_EMA;
harici int Ma1Shift = 0;
harici int Ma2Period = 15;
extern int Ma2Price = PRICE_CLOSE;
extern int Ma2Method = MODE_EMA;
harici int Ma2Shift = 0;
harici int Ma3Period = 28;
harici int Ma3Price = PRICE_CLOSE;
extern int Ma3Method = MODE_EMA;
harici int Ma3Shift = 0;
harici int Ma4Period = 45;
harici int Ma4Price = PRICE_CLOSE;
extern int Ma4Method = MODE_EMA;
harici int Ma4Shift = 0;
//
//
//
//
//
çift histu[];
çift histd[];
//------------------------------------------------ ------------------
//
//------------------------------------------------ ------------------
//
//
//
//
//
int init()
{
SetIndexBuffer(0,histu); SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexBuffer(1,histd); SetIndexStyle(1,DRAW_HISTOGRAM);
dönüş(0);
}
int deinit() { dönüş (0); }
//------------------------------------------------ ------------------
//
//------------------------------------------------ ------------------
//
//
//
//
//
int başlangıç()
{
int counted_bars = IndicatorCounted();
if (counted_bars < 0) return(-1);
if (counted_bars > 0) counted_bars--;
int limit = MathMin(Barlar-sayılan_barlar,Barlar-1);
//
//
//
//
//
for(int i = limit; i >=0; i--)
{
double ma1 = iMA(NULL,0,Ma1Period,Ma1Shift,Ma1Method,Ma1Price,i);
double ma2 = iMA(NULL,0,Ma2Period,Ma2Shift,Ma2Method,Ma2Price,i);
double ma3 = iMA(NULL,0,Ma3Period,Ma3Shift,Ma3Method,Ma3Price,i);
double ma4 = iMA(NULL,0,Ma4Period,Ma4Shift,Ma4Method,Ma4Price,i);
histu = BOŞ_DEĞER;
histd = BOŞ_DEĞER;
if ( ma1=ma2 && ma2=ma3 && ma3>ma4) histu = 1;
if ( ma1=ma2 && ma2=ma3 && ma3<ma4) histd = 1;
}
dönüş(0);
}kişi77
"<" ifadesini "" ile ">=" ile değiştirmiş olmalısınız (yalnızca "=" değil)
______________________
Not: 2 MA'nın her zaman senkronize olduğunu söylemeyi unuttum
Bu mükemmel çalışıyor!
Teşekkürler mladen.
Kaufman Uyarlanabilir hareketli ortalama
Kaufman Uyarlanabilir hareketli ortalama (Alexander Geter tarafından)
Formulas:
KAMA = KAMA+sc*(Fiyat-KAMA), burada
sc = (er*0.6015+0.0645)*(er*0.6015+0.0645),
er = Abs(Fiyat-Fiyat)/Toplam1,
Toplam1 = Toplam(Mutlak(Fiyat-Fiyat)) (i-Uzunluk+1)'den i'ye.
Doğrusal regresyonun iki versiyonu (aynı yazardan)
Kaufman AMA önceden filtrelenmiş
Kaufman AMA'yı (uyarlanabilir hareketli ortalama) diğer bazı şeyler için hazırlamak ve işte çok basitleştirilmiş bir kullanım şekline sahip bir versiyon (ama hesaplaması artık bir fonksiyon haline getirildi). Filtreleme başına fiyat da olabilir (ham fiyat kullanmak yerine filtrelenmiş fiyat kullanılabilir (filtrelemeyi çevirmek için PriceFilter'ı 1'e ayarlayın)
MA28 (Alexander Getiren tarafından)
Lütfen, göstergeyi çoklu zaman çerçevesi yapmak mümkün olur mu? teşekkür etmek![](https://c.mql5.com/forextsd/smiles/regular_smile.png)
Kaufman AMA'yı (uyarlanabilir hareketli ortalama) diğer bazı şeyler için hazırlamak ve işte çok basitleştirilmiş bir kullanım şekline sahip bir versiyon (ama hesaplaması artık bir fonksiyon haline getirildi). Filtreleme başına fiyat da olabilir (ham fiyat kullanmak yerine filtrelenmiş fiyat kullanılabilir (filtrelemeyi çevirmek için PriceFilter'ı 1'e ayarlayın)