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
merhaba kodlayıcılar,
Son çubuk sma10'un üstünde veya altında olduğunda bir uyarı gösteren çok basit bir gösterge oluşturdum. başka bir şey yok. ama 3 farklı zaman diliminde kontrol etmek istiyorum. mtf göstergeleriyle hiç çalışmadım ve bu yüzden onunla bazı sorunlarım var. bu sürüm m1, m5 ve m15 tablosunu kontrol eder. iyi çalışıyor ancak uyarının, koşulların karşılandığı zaman diliminde yalnızca bir kez değil, her işarette görüntülenmesi sorunu var.
bu konuda bana yardımcı olan olursa sevinirim. sadece bir sözdizimi sorunu olabileceğini düşünüyorum ..
teşekkür ederim!
Merhaba,
Bir hata bulamadığım için tekrar sormak zorundayım ama sadece yanlış değerler alıyorum :-(
Belki de başarısızlığımı gören var mı?!
Bu, göstergeden gelen kod
#property indicator_chart_window
#property indicator_buffers 5
double WidestChannel_high[];
double InsideChannel_high[];
double StandardDeviation[];
double InsideChannel_low[];
double WidestChannel_low[];
extern int STD.Rgres.period=0; /*default 0 means the channel will use the open
time from "x" bars back on which ever time period
the indicator is attached to. one can change to 1,5,
15,30,60...etc to "lock" the start time to a specific
period, and then view the "locked" channels on a different time period...*/
extern int STD.Rgres.length=56; // bars back regression begins
extern double STD.Rgres.width=1.618;// widest channel
extern double STD.width=0.618; // inside channel
int init()
{
SetIndexBuffer(0,WidestChannel_high);
SetIndexLabel(0,"WidestChannel_high");
SetIndexBuffer(1,InsideChannel_high);
SetIndexLabel(1,"InsideChannel_high");
SetIndexBuffer(2,StandardDeviation);
SetIndexLabel(2,"StandardDeviation");
SetIndexBuffer(3,InsideChannel_low);
SetIndexLabel(3,"InsideChannel_low");
SetIndexBuffer(4,WidestChannel_low);
SetIndexLabel(4,"WidestChannel_low");
return(0);
}
int deinit() {
ObjectDelete("regression channel");ObjectDelete("std channel");return(0);
}
int start() {
int counted_bars=IndicatorCounted(),limit, iTF;
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//to refresh properly delete old objects...
ObjectDelete("regression channel");ObjectDelete("std channel");
//widest channel
ObjectCreate("regression channel",OBJ_STDDEVCHANNEL,0,iTime(Symbol(),STD.Rgres.period,STD.Rgres.length),
Close[STD.Rgres.length],Time[0],Close[0]);
ObjectSet("regression channel",OBJPROP_DEVIATION,STD.Rgres.width);
ObjectSet("regression channel",OBJPROP_COLOR,Orange);
ObjectSet("regression channel",OBJPROP_RAY,true);
//inside channel
ObjectCreate("std channel",OBJ_STDDEVCHANNEL,0,iTime(Symbol(),STD.Rgres.period,STD.Rgres.length),
Close[STD.Rgres.length],Time[0],Close[0]);
ObjectSet("std channel",OBJPROP_DEVIATION,STD.width);
ObjectSet("std channel",OBJPROP_COLOR,Olive);
ObjectSet("std channel",OBJPROP_RAY,true);
for(int i=0; i<limit; i++)
{
double dev = iStdDev(NULL,STD.Rgres.period,STD.Rgres.length,0,MODE_SMA,PRICE_CLOSE,i);
double innerWidth = STD.width*dev;
double outerWidth = STD.Rgres.width*dev;
double price = ObjectGetValueByShift("std channel", i);
WidestChannel_high= price + outerWidth/2;
InsideChannel_high= price + innerWidth/2;
StandardDeviation= price;
InsideChannel_low= price - innerWidth/2;
WidestChannel_low= price - outerWidth/2;
}
return(0);}Merhaba,
Bir hata bulamadığım için tekrar sormak zorundayım ama sadece yanlış değerler alıyorum :-(
Belki de başarısızlığımı gören var mı?!
Bu, göstergeden gelen kod
#property indicator_chart_window
#property indicator_buffers 5
double WidestChannel_high[];
double InsideChannel_high[];
double StandardDeviation[];
double InsideChannel_low[];
double WidestChannel_low[];
extern int STD.Rgres.period=0; /*default 0 means the channel will use the open
time from "x" bars back on which ever time period
the indicator is attached to. one can change to 1,5,
15,30,60...etc to "lock" the start time to a specific
period, and then view the "locked" channels on a different time period...*/
extern int STD.Rgres.length=56; // bars back regression begins
extern double STD.Rgres.width=1.618;// widest channel
extern double STD.width=0.618; // inside channel
int init()
{
SetIndexBuffer(0,WidestChannel_high);
SetIndexLabel(0,"WidestChannel_high");
SetIndexBuffer(1,InsideChannel_high);
SetIndexLabel(1,"InsideChannel_high");
SetIndexBuffer(2,StandardDeviation);
SetIndexLabel(2,"StandardDeviation");
SetIndexBuffer(3,InsideChannel_low);
SetIndexLabel(3,"InsideChannel_low");
SetIndexBuffer(4,WidestChannel_low);
SetIndexLabel(4,"WidestChannel_low");
return(0);
}
int deinit() {
ObjectDelete("regression channel");ObjectDelete("std channel");return(0);
}
int start() {
int counted_bars=IndicatorCounted(),limit, iTF;
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//to refresh properly delete old objects...
ObjectDelete("regression channel");ObjectDelete("std channel");
//widest channel
ObjectCreate("regression channel",OBJ_STDDEVCHANNEL,0,iTime(Symbol(),STD.Rgres.period,STD.Rgres.length),
Close[STD.Rgres.length],Time[0],Close[0]);
ObjectSet("regression channel",OBJPROP_DEVIATION,STD.Rgres.width);
ObjectSet("regression channel",OBJPROP_COLOR,Orange);
ObjectSet("regression channel",OBJPROP_RAY,true);
//inside channel
ObjectCreate("std channel",OBJ_STDDEVCHANNEL,0,iTime(Symbol(),STD.Rgres.period,STD.Rgres.length),
Close[STD.Rgres.length],Time[0],Close[0]);
ObjectSet("std channel",OBJPROP_DEVIATION,STD.width);
ObjectSet("std channel",OBJPROP_COLOR,Olive);
ObjectSet("std channel",OBJPROP_RAY,true);
for(int i=0; i<limit; i++)
{
double dev = iStdDev(NULL,STD.Rgres.period,STD.Rgres.length,0,MODE_SMA,PRICE_CLOSE,i);
double innerWidth = STD.width*dev;
double outerWidth = STD.Rgres.width*dev;
double price = ObjectGetValueByShift("std channel", i);
WidestChannel_high= price + outerWidth/2;
InsideChannel_high= price + innerWidth/2;
StandardDeviation= price;
InsideChannel_low= price - innerWidth/2;
WidestChannel_low= price - outerWidth/2;
}
return(0);}güneş ışığı,
Yüksek ve düşük olanı elde etmek için sapmayı 2'ye bölmeniz gerekmez - "/2" kısmını kaldırın ve orta fiyatın uygun olması koşuluyla sorun olmaz. Kanalın genişliği her zaman sabittir: ile için geçerli standart revizyon kullanılmalıdır, başka bir değer değil. Ve sonuncusu, gördüğüm kadarıyla, ObjectGetValueByShift("std channel", i); trend çizgileri üzerinde çalıştığı için standart sapma kanalında çalışmaz. Hangi değeri geri getiriyor bilmiyorum (ekli göstergeye bakın ve neden bu fiyatın ne olduğunu bilmiyorum dediğimi göreceksiniz)
merhaba mladen,
Dahili önceden ayarlanmış sembolleri kullanarak örnek bir gösterge ekliyorum, içeride anlamam oldukça zor, bu göstergeden göstergelerime ve/& sizin göstergelerinize uyum sağlamak için bazı ipuçları almak mümkün mü? bir tür sy nergy yapmak? Aradığınız için teşekkürler.
Merhaba mladen, dahili ön ayar sembollerini kullanarak örnek bir gösterge ekliyorum, içeride anlamam oldukça zor, bu göstergeden göstergelerime ve/& sizin göstergelerinize uyum sağlamak için yeniden boyama veya yenileme hattı sorununu önlemek için bazı ipuçları almak mümkün mü? sorunları işaretlemek mi yoksa bir tür sy nergy mi yapmak? Aradığınız için teşekkürler.
kenva
Geri derlenmiş şeyler üzerinde çalışmıyorum. Afedersiniz
kenwa Geri derlenmiş şeyler üzerinde çalışmıyorum. Afedersiniz
tamam, o zaman kaldırıyorum , ama ilginç bir şekilde neden kimse onu görmüyor ama bunun karmaşık bir şey olduğunu biliyorsun
tamam, o zaman kaldırıyorum, ama ilginç bir şekilde neden kimse onu görmüyor ama bunun karmaşık bir şey olduğunu biliyorsun
Kodlama hakkında biraz bilgisi olan herkes bunun derlenmiş bir kod olduğunu bilir.
Ve herhangi bir kodlama hakkında hiçbir şey bilmiyor olsanız bile, şöyle bir şeye sahip olduğunuzda:
EX4-TO-MQ4 kod çözücü FREEWARE V4.0.451.1 tarafından oluşturulmuştur [-]
Web sitesi: MetaTrader 5 İşlem Platformu / MetaQuotes Software Corp.
E-posta : support@metaquotes.net
*/
Gönderdiğiniz göstergenin ilk birkaç satırında yazılı, herkesin bunun derlenmiş bir kod olduğunu görebileceği oldukça açık görünüyor, bu yüzden lütfen ...
Herşey gönlünce olsun
mladen, kodum çözülmedi. belki ona kısa bir göz atmak istersin?
mladen, kodum çözülmedi. belki ona kısa bir göz atmak istersin?
marbo
Ekteki gibi bir şey yapabilirsiniz. Hedef zaman çerçevesi çubuğu başına veya durum (uyarı türü) değiştiğinde sizi bir kez uyaracaktır. Yazıyı yok saymak istiyorsanız, doAlert prosedüründeki tip kontrolünü atlayın. Zaman kontrolünü atlamak istiyorsanız (bu durumda sadece tip kontrol edilecektir), o zaman doAlert prosedüründeki zaman kontrolünü atlayın.
merhaba mladen,
Geçen hafta bir MA çapraz EA ile ilgili yardım istediğimi muhtemelen hatırlayacaksınız. ve elbette Elit bölümüne uygunsuz bir şekilde atıfta bulunulmuştur. Bunu nereden sormamı önerirsiniz lütfen. Baktım ve bariz bir cevap bulamadım. Hafızanızı yenilemek için teknik özellik şuydu:
1.SMA EMA çapraz
2. mumun kapanışında
3.OCO ile yeni yönde yeni sipariş verin
4.Kaymayı ayarlama yeteneği
5. Sesli çapraz sinyal
6. Çapraz, ayarlanabilir bir pip boşluğu olmayan gerçek bir çapraz değildir
7.Mümkünse mum içi izleme, yani eğer bir mum ATR'nin (sayılacak ayarlanabilir sayı) X katından fazlaysa, bu mum yönünde bir alarm ile bir emir verilir ve aynı şekilde bir emri kapatmak ancak daha sonra başlamamak için bir emir verilir. yenisi
8. tercihen alarm çalmak için 7'deki gibi bir sipariş verilirse
9. Çapraz güvenirlik her şeyden önemlidir. Grafiklerimde - FXCM, Vantage, FX Choice - Universal Cross dahil bazı EA'lar işlem yapmıyor veya çok geç
10. Ayarlanabilir SL, ancak gerekmedikçe dışarıda bırakılabilir
11. İzleyen Durdurma
12.SL, X pip kârdan sonra otomatik olarak başabaşa gider
13. Maksimum açık işlem sayısı
14. sihirli sayı
Saygılarımızla
Jeff