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
Çevrimdışı Grafik Göstergesi
Göstergenin içinde kodlamanız gereken özel bir şey yoktur. Göstergeyi nagivator'dan çevrimdışı grafiğe sürükleyip bırakmanız yeterlidir; işe yarayacaktır. Önce metatrader ile kullanılabilen normal verilerle deneyin, örneğin eurusd. Gösterge eurusd üzerinde çalışacak ve NYSE'de çalışmayacaksa, bu, göstergenin bir şeyi yanlış saydığı ve düzeltilmesi/ayarlanması gerektiği anlamına gelir (örneğin, yuvarlamaya ihtiyacı olabilir veya hesaplamalar sırasında sıfır bölme gibi hatalar üretir).
Merhaba Kalenzo,
Cevabın için teşekkürler. MT4 platform göstergeleri harika çalışıyor. Bu, kodlanmış bir kişinin çalışmayacağının özel bir göstergesidir. Kodda para birimi sembollerini fark ettim. GBPUSD döviz çiftlerinden NYSE sembolüne sembolleri değiştirmem gerekip gerekmediğini merak ediyordum. Ayrıca göstergelerin nasıl çalıştığını bilmek istedim. Göstergeler hangi klasörde hangi veriyi yapar, göstergeler orijinal olarak platforma yüklendi mi yoksa ücretsiz özel kodlanmış bir gösterge mi indiriyorsunuz?
Teşekkürler!!
Merhaba Kalenzo,
Cevabın için teşekkürler. MT4 platform göstergeleri harika çalışıyor. Bu, kodlanmış bir kişinin çalışmayacağının özel bir göstergesidir. Kodda para birimi sembollerini fark ettim. GBPUSD döviz çiftlerinden NYSE sembolüne sembolleri değiştirmem gerekip gerekmediğini merak ediyordum. Ayrıca göstergelerin nasıl çalıştığını bilmek istedim. Göstergeler hangi klasörde hangi veriyi gösterir, göstergeler orijinal olarak platforma yüklendi mi yoksa ücretsiz özel kodlanmış bir gösterge mi indiriyorsunuz?
Teşekkürler!!Merhaba!
Evet, kesinlikle gösterge kodunu kontrol etmeniz gerekiyor. Göstergeniz Symbol() işlevini (veya gerekli olduğu yerde sembol yerine NULL değeri) kullanmıyorsa, sorun %100'dür. Genellikle gösterge, bağlı oldukları çizelgedeki verileri dönüştürür, bu nedenle orijinal MT4 göstergelerinin çalışmasının nedeni budur. Ancak, özel göstergelerde diğer sembollerden/zaman dilimlerinden veri alabilirsiniz ve ardından hangi verileri kullanmak istediğinizi manuel olarak belirtmeniz gerekir. Örneğin, EURUSD'yi baz olarak kullanabilirsiniz ve ayrıca hesaplama için diğer bazı parametreler olarak GBPUSD ve USDCHF'yi kullanabilirsiniz.
Gösterge kodunu kontrol etmeniz ve hesaplamak istediğiniz sembolleri NYSE olarak değiştirmeniz gerekir. O zaman iyi çalışacaktır.
Yardımın için tekrar teşekkürler
Bütün yardımların için tekrar teşekkürler.
Hata ayıklama sorunu
Göstergelerin işleyişini anlamak için temel bir EA yazıyorum, ancak biraz şaşırdım. İlk önce indy'yi yeniden boyama ile ve şimdi çok temel indy ile.
Sayıları anlamak için, bir geriye dönük test sırasında günlük raporundaki değerleri yazdırmak için bir print() işlevi kullanıyorum. Ancak yazdırma işlevi, günlük yazdırmayı rahatsız ediyor gibi görünüyor ve günlüğün büyük bir bölümünü kaybediyorum. baskının kaldırılması ve günlük tüm siparişlerle tamamlandı!
Herhangi bir fikir? İşte kodumun bir özü
//----+ İŞLEMLER İÇİN SİNYALLERİ TANIMLAMA
if (kline[1] < Level_Up) // eşik altında
if (kline[0] > dline[0]) // Ana Aşırı Sinyal
if (kline[0] > kline[1]) // Ana yukarı gitmeli
if (dline[0] > 0 ) { //Sinyal sıfır seviyesinde kalmamalıdır < dline[1]) { // Önceki Ana Sinyal altında, bu yüzden kesiştik
BUY_Sign = doğru;
if (Hata ayıklama) {
Yazdır ("Longopen K0 ",DoubleToStr(kline[0],Digits)," K1 ",DoubleToStr(kline[1],Digits),
" K2 ",DoubleToStr(kline[2],Rakamlar), "K3",DoubleToStr(kline[3],Rakamlar));
Yazdır (" D0 ",DoubleToStr(dline[0],Digits)," D1 ",DoubleToStr(dline[1],Digits)," D2 ",DoubleToStr(dline[2],Digits),
" D3 ",DoubleToStr(dline[3],Rakamlar));
}
}
Yardım için teşekkürler
Marcel
Lütfen yardım et!! Ben kodlayıcı değilim, ama burada elimden gelenin en iyisini yapmaya çalışıyorum. Göstergemin neden işe yaramayacağına dair herhangi bir tavsiye çok takdir edilecektir!
Şimdiden teşekkür ederim
#özellik göstergesi_separate_window
#özellik göstergesi_tamponları 4
#özellik göstergesi_color1 KireçYeşil
#özellik göstergesi_color2 FireBrick
#özellik göstergesi_color3 Yeşil
#özellik göstergesi_color4 Kırmızı
#özellik göstergesi_width1 2
#özellik göstergesi_width2 2
#özellik göstergesi_width3 2
#özellik göstergesi_width4 2
//------------------------------------------------ ---------------------gösterge parametreleri
harici int FastEMA=12;
harici int YavaşEMA=26;
harici int SignalSMA=9;
//------------------------------------------------ --------------------- gösterge arabellekleri
çift OsmaBuffer[];
çift Spm;
çift Smm;
çift Spmaks1;
çift Spmaks2;
çift Smmin1;
çift Smmin2;
çift nou[];
çift ver[];
çift OsMAUP[];
çift OsMADOWN[];
//+------------------------------------------- -------------------+
//| Özel gösterge başlatma işlevi |
//+------------------------------------------- -------------------+
int init()
{
//------------------------------------------------ ---------------------2 ek tamponlar sayım için kullanılır.
Gösterge Tamponları(4);
//------------------------------------------------ -------------------- çizim ayarları
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexBuffer(0,OsMAUP);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexBuffer(1,OsMADOWN);
SetIndexStyle(2,DRAW_OK);
SetIndexArrow(2.159);
SetIndexBuffer(2,Spmaks1);
SetIndexStyle(3,DRAW_OK);
SetIndexArrow(3,159);
SetIndexBuffer(3,Smmin1);
SetIndexDrawBegin(0,SignalSMA);
GöstergeDigits(Rakamlar+2);
//------------------------------------------------ ------------------- DataWindow ve gösterge alt pencere etiketinin adı
GöstergeShortName("OsMA Marius("+HızlıEMA+","+SlowEMA+","+SignalSMA+")");
//------------------------------------------------ -------------------başlatma tamamlandı
dönüş(0);
}
//+------------------------------------------- -------------------+
//| Osilatörün Hareketli Ortalaması |
//+------------------------------------------- -------------------+
int başlangıç()
{
int limiti;
int counted_bars=IndicatorCounted();
//------------------------------------------------ ------------------- son sayılan çubuk yeniden sayılacak
if(counted_bars>0) counted_bars--;
limit=Barlar-sayılan_barlar;
//------------------------------------------------ -------------------Ana döngü
for(int i=0; i<limit; i++)
{
OsmaBuffer=iOsMA(NULL,0,HızlıEMA,YavaşEMA,SinyalSMA,PRICE_WEIGHTED,i);
nou = OsmaBuffer;
ver = OsmaBuffer;
if(OsmaBuffer > 0)
{
OsMAUP = OsmaBuffer;
OsMADOWN = 0;
}
başka
{
OsMADOWN = OsmaBuffer;
OsMAUP = 0;
}
//------------------------------------------------ ------------------- Çapraz
eğer ((nou0))
{
Spmaks1 = Spmaks2;
if(Spmaks2 > 0)
{
Spmaks2 = 0;
}
}
//------------------------------------------------ ------------------- Çapraz
if ((nou>0)&&(ver<0))
{
Smin1 = Smin2;
eğer(Smmin2 < 0)
{
Smin2 = 0;
}
}
//------------------------------------------------ ------------------- Salıncak Sırasında
if(ver > 0)
{
spm = ver;
if((nou > ver) || (nou == ver))
{
spm = hayır;
}
if((Spm > Spmaks2) || (Spm == Spmaks2))
{
Spmaks2 = Spm;
}
}
başka
{
Smm = ver;
if((nou < ver) || (nou == ver))
{
Smm = hayır;
}
if((Smm < Smmin2) || (Smm == Smmin2))
{
Smin2 = Smm;
}
}
}
//------------------------------------------------ --------------------tamamlamak
dönüş(0);
}
//+------------------------------------------- -------------------+
En son 20 çubuk arasındaki çizgi nasıl çizilir
Bir sorum var!
Hareketli ortalama hakkında bir göstergeye sahip olmak istiyorum.
Her zaman en son 20 bar arasındaki çizgiyi çizmeye devam ediyor
Ama nasıl yazacağımı bilmiyorum
Umarım bana yardım edebilir ve bunun gibi bir gösterge sunabilirsiniz.
Çok teşekkürler!
Herkese barış,
Umarım her şey yolundadır.
Sorum, programlama alanında kalifiye olanlar için oldukça basit:
3 indikatörü ham halde kullanarak profesyonelce yaratılmış bir ea'm vardı. Bu, 3 göstergenin farklı kombinasyonlarda alınıp satıldığı, tek parça halinde kodlanmış 4 stratejili bir sistemdir. Sadece biraz tarih ama bu kısım aslında alakasız.
3 göstergenin tümü iki arabellek kullanır ve hepsinin sahip olduğu tek değişken "CountBars" idi. Optimize edilemez bir durumda olduklarından, ayarlanabilir tek seçenek "CountBars" olduğundan, Jurik'in algoritmasını bir tür ön işleme olarak kullanmak gibi parlak bir fikrim vardı. Bu şekilde, göstergenin ham yani hızlı tepki vermesini sağlayabilirim, ancak birkaç "hıçkırık" ile hala çok duyarlı ve aynı zamanda düşük gecikmeli bir yumuşatma faktörü eklerken. Bu yüzden, bu kurulun iyi bilinen bir üyesinden, projenin bu bölümünde bana yardım etmesini istedim, onların yaptığı ve oldukça kusursuz bir şekilde ekleyebilirim. Ancak, görev çağrısının ötesine geçtikleri için, onlardan bana daha fazla iyilik yapmalarını, yani ham astlarının yerine aynı göstergelerin yeni Jurik düzleştirilmiş sürümlerini değiştirmelerini istemek istemedim.
Olduğu söyleniyor, "Ne kadar zor olabilir" diye düşündüm, kendim yapacak kadar bildiğimi düşündüm. Sadece 3 iCustom örneğinde çağrılan isimleri değiştirin, yeni değişkenleri "extern" kısmına ve ayrıca iCustoms kısmına aşağıya ekleyin, (Şimdi göstergelerin JRK smthd versiyonları hala 2 arabellek kullanıyor ancak ekstra bir değişkenleri var, Toplam 2 adet: "SmoothLength" ve "SmoothPhase". "CountBars" kaldırıldı.) ve Voila!! Keşke o kadar kolay olsaydı. Bunları yaptım ve derledim, hata/uyarı yok. Ancak geriye/ileriye dönük test yapmaya çalıştığımda işlem yok.....
Bir şey mi kaçırıyorum? Herhangi bir tavsiye büyük ölçüde takdir edilecektir.
Bizzzzzump!
Herkese barış,
Umarım her şey yolundadır.
Sorum, programlama alanında kalifiye olanlar için oldukça basit:
3 göstergeyi ham haliyle kullanarak, profesyonelce benim için oluşturulmuş bir cihaza sahiptim. Bu, 3 göstergenin farklı kombinasyonlarda alınıp satıldığı, tek parça halinde kodlanmış 4 stratejili bir sistemdir. Sadece biraz tarih ama bu kısım aslında alakasız.
3 göstergenin tümü iki arabellek kullanır ve hepsinin sahip olduğu tek değişken "CountBars" idi. Optimize edilemez bir durumda olduklarından, ayarlanabilir tek seçenek "CountBars" olduğundan, Jurik'in algoritmasını bir tür ön işleme olarak kullanmak gibi parlak bir fikrim vardı. Bu şekilde, göstergenin ham yani hızlı tepki vermesini sağlayabilirim, ancak birkaç "hıçkırık" ile hala çok duyarlı ve aynı zamanda düşük gecikmeli bir yumuşatma faktörü eklerken. Bu yüzden, bu kurulun iyi bilinen bir üyesinden, projenin bu bölümünde bana yardım etmesini istedim, onların yaptığı ve oldukça kusursuz bir şekilde ekleyebilirim. Ancak, görev çağrısının ötesine geçtikleri için, onlardan bana daha fazla iyilik yapmalarını, yani ham astlarının yerine aynı göstergelerin yeni Jurik düzleştirilmiş sürümlerini değiştirmelerini istemek istemedim.
Olduğu söyleniyor, "Ne kadar zor olabilir" diye düşündüm, kendim yapacak kadar bildiğimi düşündüm. Sadece 3 iCustom örneğinde çağrılan isimleri değiştirin, yeni değişkenleri "extern" kısmına ve ayrıca iCustoms kısmına aşağıya ekleyin, (Şimdi göstergelerin JRK smthd versiyonları hala 2 arabellek kullanıyor ancak ekstra bir değişkenleri var, Toplam 2 adet: "SmoothLength" ve "SmoothPhase". "CountBars" kaldırıldı.) ve Voila!! Keşke o kadar kolay olsaydı. Bunları yaptım ve derledim, hata/uyarı yok. Ancak geriye dönük/ileri testi yapmaya çalıştığımda işlem yok.....
Bir şey mi kaçırıyorum? Herhangi bir tavsiye büyük ölçüde takdir edilecektir.Merhaba Ffl,
Satın almak için iCustom(NULL,0," gösterge adı" SmoothLength,SmoothPhase,0,1) deneyin ve iCustom(NULL,0," gösterge adı" SmoothLength,SmoothPhase,1,1), satmak için sadece "gösterge adını" değiştirin aramaya çalıştığınızı belirtmek için.
Merhaba Ffl, Satın almak için iCustom(NULL,0," gösterge adı" SmoothLength,SmoothPhase,0,1) deneyin ve iCustom(NULL,0," gösterge adı" SmoothLength,SmoothPhase,1,1), satmak için sadece " gösterge adı", aramaya çalıştığınız göstergeye.
Barış Bay T,
Rehberlik için teşekkürler. Bu değişiklikleri önerinize dayanarak yaptım ve EA hala hata/uyarı olmadan derleme yapıyor ancak yine de herhangi bir işlem yapmıyor. Kısa süre sonra bir çözüm daha deneyecek.....