Çoklu Zaman Çerçevesi Göstergeleri - sayfa 108
![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
mtf eğimi
buraya bakın alpha24seven
https://www.mql5.com/en/forum/173574
Teşekkürler Lodol2
Bunları kaçırdığım için üzgünüm. Onları dikkatime sunduğunuz için teşekkür ederim.
Derlemede bazı sorunlar yaşadım. Bu hatayı daha önce hiç görmemiştim. Herhangi bir fikir?
grafiğe bakın
Teşekkür ederim.
Dediklerinin hepsine katılıyorum ama kendimi yeterince net ifade ettiğimi düşünmüyorum.
keris formülü gerçek zamanlı olarak böyle görünmüyor (grafikleri yenilemeden!), daha çok bu sarı çizgiye benziyor; çizelgeleri yenilerseniz, evet, her şey yolunda görünüyor - ama o zaman neden daha yüksek zaman dilimine sahip ikinci bir grafik kullanmıyoruz... ve göstergenin yalnızca daha yüksek zaman diliminde hareket ettiğini teyit etmiyoruz?
Daha düşük bir zaman diliminde bir mtf göstergesi çizdiğiniz andan itibaren, o zaman diliminde (daha yüksek bir tf'de değil) bazı verilerin ortalamasını almanın başka bir yoluna sahipsiniz. asla orijinal gibi görünmeyecek - ama yaklaşık olarak tahmin edilebilir. yani soru şu ki, en yakın yaklaşıklık için en iyi formül nasıl bulunur? ve bence bu sorunuzu yanıtlıyor... değil mi?
Kırmızı çizgi, önerdiğiniz MA'nın yaklaşıklığıdır.
Macenta, MTF MA'nın Keris yoludur
Altın çizgi, daha yüksek bir zaman çerçevesi MA'nın daha düşük bir zaman çerçevesindeki gerçek değerleridir.
Gördüğünüz gibi, bir zaman periyodunda yaklaşık bir değerin tek bir doğru değeri yoktur, oysa Keris'in formülü periyot başına en az bir doğru değer verir. Her neyse, Metatrader'daki yaklaşıklık formülü şöyle olacaktır:
MAperiod=MAperiod*ZamanÇerçevesi/Dönem()
Bu yaklaşımı hareketli ortalamadan türetilmiş göstergelere (örneğin MACD) uygulamaya çalışırsanız, sonuçta büyük ve yani BÜYÜK farklılıklar elde edersiniz (1H zaman diliminde 4H MACD'nin %7-8'lik bir farkını gördüm)
Bir karşı soru: Sence kaç kişi çoklu zaman çerçevesi göstergelerine farklı yaklaşımlar denedi?Kodda Hata
Bunu anladım. Bu fazladan kod dosyada kaldı -- sonunda. Sadece silin, derleyin ve işte '.
Mükemmel gösterge BTW.
---
/*
void drawLine(çift seviye,dize adı, Colour Col )
{
ObjectDelete(isim);
ObjectCreate(ad, OBJ_HLINE , WindowFind(ad), Zaman[0], lvl,Time[0], lvl);
ObjectSet(ad, OBJPROP_STYLE, STYLE_DOT);
ObjectSet(isim, OBJPROP_COLOR, Col);
ObjectSet(isim,OBJPROP_WIDTH,1);
}
---
...
Sarı çizgi "gerçek MTF" hareketli ortalamasıdır .
Resimdeki göstergelerin hiçbirini "yenilemeye" gerek yoktur
Geri kalanına gelince, lütfen o yazıyı tekrar okuyun
Saygılarımızla
mladen
Dediklerinin hepsine katılıyorum ama kendimi yeterince net ifade ettiğimi düşünmüyorum.
keris formülü gerçek zamanlı olarak böyle görünmüyor (grafikleri yenilemeden!), daha çok bu sarı çizgiye benziyor; çizelgeleri yenilerseniz, evet, her şey yolunda görünüyor - ama o zaman neden daha yüksek zaman dilimine sahip ikinci bir grafik kullanmıyoruz... ve göstergenin yalnızca daha yüksek zaman diliminde hareket ettiğini teyit etmiyoruz?
Daha düşük bir zaman diliminde bir mtf göstergesi çizdiğiniz andan itibaren, o zaman diliminde (daha yüksek bir tf'de değil) bazı verilerin ortalamasını almanın başka bir yoluna sahipsiniz. asla orijinal gibi görünmeyecek - ama yaklaşık olarak tahmin edilebilir. yani soru şu ki, en yakın yaklaşıklık için en iyi formül nasıl bulunur? ve bence bu sorunuzu yanıtlıyor... değil mi?Bu Indi İçin Mtf Gerekiyor
Herkese selam,
Grafiğimde farklı zaman dilimlerinden göstergeler çizme yeteneğine sahip olmak istiyordum.
//+------------------------------------------- -------------------+
//| Fisher_m11.mq4 |
//| Telif hakkı ฉ forexjr
//| /cam06/fisher dizini |
//+------------------------------------------- -------------------+
#özellik telif hakkı "Telif hakkı ฉ 23.07.2006 MartinG"
#özellik bağlantısı "http://home.arcor.de/cam06/fisher"
#özellik göstergesi_separate_window
//#özellik göstergesi_minimum -1
//#özellik göstergesi_maksimum 1
#özellik göstergesi_tamponları 3
#özellik göstergesi_renk2 KraliyetMavi
#özellik göstergesi_renk3 Kırmızı
#özellik göstergesi_width2 0,5
#özellik göstergesi_width3 0,5
int SolNum1=56;
int SolNum2=56;
extern int RangePeriods=35;
harici çift PriceSmoothing=0.3; // =0.67 bei Fisher_m10
harici çift IndexSmoothing=0.3; // =0.50 bei Fisher_m10
string ThisName="Fisher_kuskus";
int DrawStart;
//---- arabellekler
çift ExtMapBuffer1[];
çift ExtMapBuffer2[];
çift ExtMapBuffer3[];
çift ExtMapBuffer4[];
//+------------------------------------------- -------------------+
//| Özel gösterge başlatma işlevi |
//+------------------------------------------- -------------------+
int init()
{
//---- göstergeler
Gösterge Tamponları(4);
SetIndexLabel(0,"Yıldız");
SetIndexStyle(0,DRAW_NONE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexStyle(2,DRAW_HISTOGRAM);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexStyle(3,DRAW_NONE);
SetIndexBuffer(3,ExtMapBuffer4);
string Metin=BuAd;
Metin=Metin+" (rPeriods "+RangePeriods;
Metin=Metin+", pSmooth "+DoubleToStr(PriceSmoothing,2);
Metin=Metin+", iSmooth "+DoubleToStr(IndexSmoothing,2);
Metin=Metin+") ";
GöstergeKısaAdı(Metin);
SetIndexLabel(1,NULL);
SetIndexLabel(2,NULL);
DrawStart=2*RangePeriods+4; // DrawStart= Soldan sağa hesaplanan BarNumber
SetIndexDrawBegin(1,DrawStart);
SetIndexDrawBegin(2,DrawStart);
if (PriceSmoothing>=1.0)
{
FiyatDüzeltme=0.9999;
Alert("Fish61: PriceSmothing faktörü 1'den küçük olmalı!");
}
if (FiyatDüzeltme<0)
{
FiyatDüzeltme=0;
Alert("Fish61: PriceSmothing faktörü negatif olmamalıdır!");
}
if (IndexSmoothing>=1.0)
{
DizinSmoothing=0.9999;
Alert("Fish61: PriceSmothing faktörü 1'den küçük olmalı!");
}
if (IndexSmoothing<0)
{
IndexSmoothing=0;
Alert("Fish61: PriceSmothing faktörü negatif olmamalıdır!");
}
//----
dönüş(0);
}
//+------------------------------------------- -------------------+
//| Özel gösterge sıfırlama işlevi |
//+------------------------------------------- -------------------+
int tanım()
{
//----
//----
dönüş(0);
}
//+------------------------------------------- -------------------+
//| Özel gösterge yineleme işlevi |
//+------------------------------------------- -------------------+
int başlangıç()
{
if (Çubuklar<Çizim Başlangıcı)
{
Alert("Fish84: FisherIndicator'ı RangePeriods=",RangePeriods ile hesaplamak için yeterli Çubuk yüklenmedi);
dönüş(-1);
}
//----
int counted_bars=IndicatorCounted();
if (counted_bars<0) return(-1);
if (counted_bars>0) counted_bars--;
//----
int Konum=Çubuklar-sayılan_barlar; // Konum = Sağdan sola hesaplanan BarPosition
int LeftNum1=Çubuklar-Konum; // daha fazla çubuk yüklendiğinde çubuğun Konumu değişir ancak LeftNum değişmez
if (LeftNum1<RangePeriods+1)Position=Bars-RangePeriods-1;
while(Konum>=0)
{
CalculateCurrentBar(Konum);
Konum--;
}
//----
dönüş(0);
}
//+------------------------------------------- -------------------+
//| Tek Çubuk Hesaplama fonksiyonu |
//+------------------------------------------- -------------------+
int CalculateCurrentBar(int konum)
{
double LowestLow, HighestHigh, GreatestRange, MidPrice;
double PriceLocation, SmoothedLocation, FishIndex, SmoothedFish;
//----
En Düşük = Düşük[En Düşük(NULL,0,MODE_LOW,RangePeriods,kon)];
En Yüksek = Yüksek;
if (En Yüksek-En DüşükDüşük<0,1*Puan)En Yüksek=En Düşük+0,1*Nokta;
GreatestRange=En YüksekYüksek-En DüşükDüşük;
OrtaFiyat = (Yüksek[konum]+Düşük[konum])/2;
// Geçerli Aralıktaki FiyatKonumu
if (GreatestRange!=0)
{
FiyatKonum=(Orta Fiyat-En Düşük)/En BüyükAralık;
FiyatKonum= 2.0*FiyatKonum - 1.0; // -> -1 < FiyatKonum < +1
}
// PriceLocation'ın Düzeltilmesi
ExtMapBuffer4[pos]=PriceSmoothing*ExtMapBuffer4[poz+1]+(1.0-PriceSmoothing)*PriceLocation;
SmoothedLocation=ExtMapBuffer4[konum];
if (SmoothedLocation> 0.99) SmoothedLocation= 0.99; // verhindert, dass MathLog unendlich wird
if (SmoothedLocation<-0.99) SmoothedLocation=-0.99; // verhindert, dass MathLog minuns unendlich wird
// FisherIndex
if(1-SmoothedLocation!=0) FishIndex=MathLog((1+SmoothedLocation)/(1-SmoothedLocation));
else Alert("Fisher129: Unerlaubter Zustand bei Bar Nummer ",Barlar-pos);
// FisherIndex'in Düzeltilmesi
ExtMapBuffer1[pos]=IndexSmoothing*ExtMapBuffer1[poz+1]+(1.0-IndexSmoothing)*FishIndex;
if (Bars-pos<DrawStart)ExtMapBuffer1[pos]=0;
SmoothedFish=ExtMapBuffer1[konum];
if (SmoothedFish>0) // yukarı trend
{
ExtMapBuffer2[konum]=SmoothedFish;
ExtMapBuffer3[konum]=0;
}
else // else düşüş trendi
{
ExtMapBuffer2[konum]=0;
ExtMapBuffer3[konum]=SmoothedFish;
}
//----
dönüş(0);
}
//+------------------------------------------- -------------------+
teşekkür etmek
Millet ciddileşelim
ben ciddiyim maşallah...![](https://c.mql5.com/forextsd/smiles/regular_smile.png)
Acemiyim ve programcı değilim, scrat'ın yolu mükemmel olmayabilir, ama belki kullanabilirim. Deneyeceğim. Faydalı olursa kullanırım. Değilse, tekrar başka bir harika yol veya başka bir gösterge arayacağım.
Codersguru'ya benzer bir şey sordum.
Ona sorum, 30M TF'de 1 EMA kullanırsam, 1M TF'de 30 EMA olmalı.
Ve böyle olmadığını söyledi. Ama ben tatmin olmadım, belki başka bir yolu vardır, o yüzden burada buluyorum. Ama işe yaramazsa, benim için sorun değil...
. En azından sonucu biliyorum.
BTW, en son RSIOMA mladen için teşekkürler, çok beğendim ve bu harika gösterge için fxbs ve Kalenzo'ya da teşekkürler.
Saygılarımızla,
IIN
Sorun şu:
MA'larla ilgili bu fikir, muhtemelen teknik analizdeki en eski fikirdir.
TSD gibi yerlerin fikirlerin ve bilgilerin paylaşıldığı yerler olduğuna katılıyorum.
Ama lütfen kimse bunu bu şekilde yapmaya çalışmamalı:
Hadi ama, burada ne halt etmeye çalışıyoruz?
Umarım şimdi kendimi netleştirdim
Saygılarımızla
mladen
ben ciddiyim maşallah...
Acemiyim ve programcı değilim, scrat'ın yolu mükemmel olmayabilir, ama belki kullanabilirim. Deneyeceğim. Faydalı olursa kullanırım. Değilse, tekrar başka bir harika yol veya başka bir gösterge arayacağım.
Codersguru'ya benzer bir şey sordum.
Ona sorum, 30M TF'de 1 EMA kullanırsam, 1M TF'de 30 EMA olmalı.
Ve böyle olmadığını söyledi. Ama ben tatmin olmadım, belki başka bir yolu vardır, o yüzden burada buluyorum. Ama işe yaramazsa, benim için sorun değil...
. En azından sonucu biliyorum.
BTW, en son RSIOMA mladen için teşekkürler, çok beğendim ve bu harika gösterge için fxbs ve Kalenzo'ya da teşekkürler.
Saygılarımızla,
IINtamam, resmen aptalım ve bu başlıktaki herkesi gücendirdim. bu sefer doğru mu anladım
özür dilerim.
Sorun şu:
MA'larla ilgili bu fikir, muhtemelen teknik analizdeki en eski fikirdir.
TSD gibi yerlerin fikirlerin ve bilgilerin paylaşıldığı yerler olduğuna katılıyorum.
Ama lütfen kimse bunu bu şekilde yapmaya çalışmamalı:
Hadi ama, burada ne halt etmeye çalışıyoruz?
Umarım şimdi kendimi netleştirdim
Saygılarımızla
mladenBu MTF indislerinin nerede olduğunu bilen var mı?
Bunların MTF versiyonlarını her yerde aradım. Gören veya tanıyan var mı?
Teşekkür ederim.