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
Çok teşekkürler! çok iyisin!
Merhaba,
Aşağıda tarif edildiği gibi grafikte yalnızca salınım noktasını çizecek bir gösterge bilen var mı (Pipware Dashboard'daki gibi):
Fraktal Koparma Stratejisi
Daha önce belirtildiği gibi, fiyat hareketi dalgalar halinde hareket eder. Trend yönü (yukarı veya aşağı), ardışık inişler ve çıkışlar tarafından belirlenir.
YUKARI TREND, bu dalgaların daha yüksek tepeler ve daha yüksek alçaklar yaptığı zamandır.
AŞAĞI TREND, bu dalgaların daha düşük dipler ve daha düşük zirveler yaptığı zamandır.
Fraktallar yüksek ve alçak olduğundan, trend yönünü belirlemek için kullanılabilirler.
GU H4 tablosunu düşünün (sağda). A noktasından önce eğilim yukarı doğrudur, yani ikinci düşük fraktal birinciden daha yüksektir .. ikinci yüksek fraktal birinciden daha yüksektir.
A noktasında yeni bir düşük fraktal oluştu ve önceki iki düşük fraktaldan daha yüksek (YUKARI eğilimini sürdürüyor). A noktasından hemen sonraki mum yeni bir yüksek fraktal oluşturdu. Bu fraktal, trend yönünde olası bir değişikliği gösteren önceki yüksek fraktaldan daha düşüktür. B noktasının altındaki mum, A noktasının (yeşil çizgi) fraktal seviyesini 'kırar'. Trend yönünün AŞAĞI olarak değiştiğini gösteren kırmızı bir ok çizilir.
Oklar, ArrowsOn=true ile görüntülenebilir. Not: Oklar yalnızca fraktal bir kırılma trend yönünü değiştirdiğinde çizilir. Örneğin, B noktasından sonra alt fraktallar kırılmaya devam eder (2 kez daha).
B noktasından sonra, yüksek bir fraktal kırılana kadar trend AŞAĞI olarak kabul edilir. C noktasından hemen önce, daha yüksek bir düşük fraktal oluşur. Trend yönü hala AŞAĞI olarak kabul edilir ... henüz hiçbir yüksek fraktal kırılmamıştır.
E noktasında, C noktasının yüksek fraktalı kırılır. Küçük bir kırılma olmasına rağmen, trend yönünde bir değişikliği gösteren D noktasında yeşil bir ok çizilir. Eğilim şimdi bir sonraki düşük fraktal kırılmaya kadar YUKARI olarak kabul ediliyor.
Yardımın için çok teşekkürler.
En iyi,
Gringo
Teşekkürler Mladen, bu mükemmel!!! Göstergeye bunun gibi bir satır daha eklemek istersem, kodu nasıl değiştiririm? şimdiden teşekkürler....
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
double UpperBuf[];
double UpperBuf1[];
double UpperBufb[];
double UpperBuf1b[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void init()
{
IndicatorBuffers(4);
SetIndexBuffer(0, UpperBuf1);
SetIndexBuffer(1, UpperBuf1b);
SetIndexBuffer(2, UpperBuf);
SetIndexBuffer(3, UpperBufb);
}
void deinit() {}
void start()
{
int counted = IndicatorCounted();
if(counted < 0) return (-1);
if(counted > 0) counted--;
int limit = Bars - counted;
for(int i = 0; i < limit; i++)
if (Close!=0)
UpperBuf= ((High/Close)-34)*Volume;
else UpperBuf= 0;
for( i = 0; i < limit; i++) UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);
for( i = 0; i < limit; i++)
if (Close!=0)
UpperBufb= ((High/Close)-34)*Volume;
else UpperBufb= 0;
for( i = 0; i < limit; i++) UpperBuf1b= iMAOnArray(UpperBufb,0,33,0,MODE_EMA,i);
}
Teşekkürler Mladen, bu mükemmel!!! Göstergeye bunun gibi bir satır daha eklemek istersem, kodu nasıl değiştiririm? şimdiden teşekkürler....
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
double UpperBuf[];
double UpperBuf1[];
double UpperBufb[];
double UpperBuf1b[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void init()
{
IndicatorBuffers(4);
SetIndexBuffer(0, UpperBuf1);
SetIndexBuffer(1, UpperBuf1b);
SetIndexBuffer(2, UpperBuf);
SetIndexBuffer(3, UpperBufb);
}
void deinit() {}
void start()
{
int counted = IndicatorCounted();
if(counted < 0) return (-1);
if(counted > 0) counted--;
int limit = Bars - counted;
for(int i = 0; i < limit; i++)
if (Close!=0)
UpperBuf= ((High/Close)-34)*Volume;
else UpperBuf= 0;
for( i = 0; i < limit; i++) UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);
for( i = 0; i < limit; i++)
if (Close!=0)
UpperBufb= ((High/Close)-34)*Volume;
else UpperBufb= 0;
for( i = 0; i < limit; i++) UpperBuf1b= iMAOnArray(UpperBufb,0,33,0,MODE_EMA,i);
}
k3rn3l
Bunu zaten yaptınız (göstergede 2 satır var). Bir tane daha demek istiyorsanız (3'e sahip olmak için ikinci satır için yaptığınızın aynısını yapın)
sevgili kodlayıcılar,
Bu METASTOCK göstergesini çok iyi buldum, lütfen mt4 için yapabilir misiniz?
x:=Input("Ardışık Alt Kapanışlar - Giriş",
0,21,5);
y:=Input("Ardışık Daha Yüksek Kapanışlar - Çıkış",
0,21,5);
gecikme:=Input("Giriş ve Çıkış gecikmesi",0,5,0);
arsa:=Input("sinyaller: [1]Temiz, [2]Tümü",
1,2,2);
In:=Sum(C<Ref(C,-1),x)=x;
Out:=Sum(C>Ref(C,-1),y)=y;
Init:=Boş(Giriş+Çıkış>-1)=1;
InInit:=Boş(Giriş)=1;
flag:=BarsSince(Init OR In)
<BarsSince(Init OR Out)+InInit;
sinyaller:=(InInit AND Alert(InInit=0,2)
VEYA işaret VE Uyarı(işaret=0,2))
-(bayrak=0 VE Uyarı(bayrak,2));
0;Ref(If(plot=1,sinyaller,Giriş-Çıkış),-gecikme)
sevgili kodlayıcılar,
Bu METASTOCK göstergesini çok iyi buldum, lütfen mt4 için yapabilir misiniz?
x:=Input("Ardışık Alt Kapanışlar - Giriş",
0,21,5);
y:=Input("Ardışık Daha Yüksek Kapanışlar - Çıkış",
0,21,5);
gecikme:=Input("Giriş ve Çıkış gecikmesi",0,5,0);
arsa:=Input("sinyaller: [1]Temiz, [2]Tümü",
1,2,2);
In:=Sum(C<Ref(C,-1),x)=x;
Out:=Sum(C>Ref(C,-1),y)=y;
Init:=Boş(Giriş+Çıkış>-1)=1;
InInit:=Boş(Giriş)=1;
flag:=BarsSince(Init OR In)
<BarsSince(Init OR Out)+InInit;
sinyaller:=(InInit AND Alert(InInit=0,2)
VEYA işaret VE Uyarı(işaret=0,2))
-(bayrak=0 VE Uyarı(bayrak,2));
0;Ref(If(plot=1,sinyaller,Giriş-Çıkış),-gecikme)debaşiler
O göstergenin adı ne?
guru
"temel kalıp sistemi" olarak adlandırılır. http://www.metastocktools.com/MetaStock/Pattern01.txt
Merhaba malden, ASCTrend konusunda bana yardım ettiğiniz için teşekkür ederim. Bu gösterge için bir tane yapmama yardım edip edemeyeceğinizi merak ediyorum. MaonMa adında başka bir gösterge var. (Onları ekleyeceğim) Benim düşüncem, ASCTrend okları yukarı VE çubuk sarı çizginin (60 MA) üzerinde olduğunda, uzun bir ticaret yapın, kaybetmeyi durdur, aynı şekilde ASCTrend aşağı oklar VE çubuk olduğunda önceki en düşük olacaktır. sarı çizginin altında (60 MA), kısa bir ticaret yapın, kaybetmeyi durdur önceki en yüksek seviye olacak. Teşekkürler.
Merhaba Mladen,
tekrar yardımına ihtiyacım var. ok tabanlı bir gösterge için aşağıdaki kodu ayarladım. ama donmuş pc. Eğer gecikmeyi önleyecekse, indic içindeki orijinal rsi,cci ve cmo kodlarını kullanarak icustom fonksiyonu olmadan kodu tekrar yazabilir misiniz?
#özellik göstergesi_chart_window
#özellik göstergesi_tamponları 2
#özellik göstergesi_color1 Kızıl
#özellik göstergesi_renk2 KraliyetMavi
//---- giriş parametreleri
harici int barlarToProcess=100;
//---- arabellekler
çift ExtMapBuffer1[];
çift ExtMapBuffer2[];
//+------------------------------------------- -------------------+
//| Özel gösterge başlatma işlevi |
//+------------------------------------------- -------------------+
int init()
{
//---- göstergeler
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,233);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexEmptyValue(0,0.0);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,234);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexEmptyValue(1,0.0);
//----
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ıç()
{
int counted_bars=IndicatorCounted(),
sınır;
if(counted_bars>0)
counted_bars--;
limit=Barlar-sayılan_barlar;
if(limit>barsToProcess)
limit=barsToProcess;
for(int i=0;i<limit;i++)
{
double rsi=iCustom(NULL,0,"rsi",barsToProcess,0,i);
double cci=iCustom(NULL,0,"cci",barsToProcess,0,i);
double cmo=iCustom(NULL,0,"cmo",barsToProcess,0,i);
if(rsi>60.0 && cci>150.0 && cmo>30.0)
ExtMapBuffer1=Yüksek+5*Nokta;
başka
ExtMapBuffer1=0.0;
if(rsi<10.0 && cci<-150.0 && cmo<-30.0)
ExtMapBuffer2=Düşük-5*Nokta;
başka
ExtMapBuffer2=0.0;
}
dönüş(0);
}
Merhaba Mladen,
tekrar yardımına ihtiyacım var. ok tabanlı bir gösterge için aşağıdaki kodu ayarladım. ama donmuş pc. Eğer gecikmeyi önleyecekse, indic içindeki orijinal rsi,cci ve cmo kodlarını kullanarak icustom fonksiyonu olmadan kodu tekrar yazabilir misiniz?
#özellik göstergesi_chart_window
#özellik göstergesi_tamponları 2
#özellik göstergesi_color1 Kızıl
#özellik göstergesi_renk2 KraliyetMavi
//---- giriş parametreleri
harici int barlarToProcess=100;
//---- arabellekler
çift ExtMapBuffer1[];
çift ExtMapBuffer2[];
//+------------------------------------------- -------------------+
//| Özel gösterge başlatma işlevi |
//+------------------------------------------- -------------------+
int init()
{
//---- göstergeler
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,233);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexEmptyValue(0,0.0);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,234);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexEmptyValue(1,0.0);
//----
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ıç()
{
int counted_bars=IndicatorCounted(),
sınır;
if(counted_bars>0)
counted_bars--;
limit=Barlar-sayılan_barlar;
if(limit>barsToProcess)
limit=barsToProcess;
for(int i=0;i<limit;i++)
{
double rsi=iCustom(NULL,0,"rsi",barsToProcess,0,i);
double cci=iCustom(NULL,0,"cci",barsToProcess,0,i);
double cmo=iCustom(NULL,0,"cmo",barsToProcess,0,i);
if(rsi>60.0 && cci>150.0 && cmo>30.0)
ExtMapBuffer1=Yüksek+5*Nokta;
başka
ExtMapBuffer1=0.0;
if(rsi<10.0 && cci<-150.0 && cmo<-30.0)
ExtMapBuffer2=Düşük-5*Nokta;
başka
ExtMapBuffer2=0.0;
}
dönüş(0);
}rsi ve cci için iCustom() kullanmak yerine yerleşik işlevleri kullanın.
RSI için gerekli parametreler:
[/TR]
[/TABLO]
CCİ için gerekli parametreler:
[TABLE="sınıf: docvar"]
[TR]
[TD] çift iCCI(Ve CMO için, ilk parametre LastBarOnly ve ikincisi CMO_Range'dir, bu nedenle iCustom() çağrısı şöyle olmalıdır:
iCustom(NULL,0,"cmo",false,CMORange,0,i);
CMORange'ın bir parametre olduğu yerde