Kodlama yardımı - sayfa 408

 
airquest:
Yine de... İşte bazı testler:

- Varsayılan ayarlar (optimizasyon yok, WriteCSV to True): Microsoft Excel - BB+CCI-EURUSD-H1-2014.12.18 00h11-SA1.csv

- Optimize ayarı True, PeriodMin - 20 ve PeriodMax - 20 : Microsoft Excel - BB+CCI-EURUSD-H1-2014.12.18 00h13-SA1.csv

İlki tutarlı değerler verir (CSV dosyası ve ekran sonuçları eşleşmesi). Bu normal, çünkü ikisi de aynı değişkenlerden geliyor. Ancak ikincisinde, opti sonuçları, ekran sonuçlarına kıyasla neredeyse 10 ile çarpılıyor. Yine de, aynı sonuçlara varmaları gerekir...

Neyse, acele etme, belki zamanla neyin yanlış olduğunu öğrenirim. Nazik yardımın için teşekkürler Mladen.

Merhaba Airquest,

Strateji Test Aracına çok ilginç bir alternatif için teşekkürler... sizin açınızdan çok yaratıcı ve yetenekli bir kodlama parçası...!

Göstergenizle biraz oynadım...

Ve toplamlar için iki farklı değişkeniniz var gibi görünüyor ...

Normal çalışma için bir tane = TotalTrades...

Ve Optimizasyon çalışması için bir tane = totalTrades...

Ancak...Yorumlarınız yalnızca normal TotalTrades çalışmanızı gösterir...

Devam edin ve Optimized...totalTrades...'inizi Yorumlarınıza ekleyin ve bunun bulmacayı çözüp çözmediğine bakın...

Bu, umarım ekran görüntüsü ile elektronik tablo toplamları arasındaki farkın neden ...

Bu yardımcı olur umarım,

Robert

 
cosmiclifeform:
Merhaba Airquest,

Strateji Test Aracına çok ilginç bir alternatif için teşekkürler... sizin açınızdan çok yaratıcı ve yetenekli bir kodlama parçası...!

Göstergenizle biraz oynadım...

Ve toplamlar için iki farklı değişkeniniz var gibi görünüyor ...

Normal çalışma için bir tane = TotalTrades...

Ve Optimizasyon çalışması için bir tane = totalTrades...

Ancak...Yorumlarınız yalnızca normal TotalTrades çalışmanızı gösterir...

Devam edin ve Optimized...totalTrades...'inizi Yorumlarınıza ekleyin ve bunun bulmacayı çözüp çözmediğine bakın...

Bu, umarım ekran görüntüsü ile elektronik tablo toplamları arasındaki farkın neden ...

Bu yardımcı olur umarım,

Robert

Son sonuçların doğru olacağından emin değilim. Sorun şu ki, opti işlevinden gelen toplam işlemleri göstererek, işlevin iyi çalışıp çalışmadığını görebilirsiniz. Ayrıca çift işlevden birden fazla parametrenin nasıl döndürüleceğinden emin değilsiniz (bakiyeyi ve kazanma oranını da döndürmeniz gerekir). Ancak asıl sebep, sonuçlarda bir fark olduğunu ve bu nedenle fonksiyonda bir şeylerin yanlış olması gerektiğini görmek...

 

Herkese selam, Az önce bu özel göstergeyi RSI'ye dayanarak yazdım.

Bir EA'da kullanmak için bir fikrim var. Yazmak için yardıma ihtiyacım var...

Sadece satın alma stratejisidir.

Her yukarı sinyalde satın al... Aşağı sinyalde tümünü kapat

İdeal olarak EA, kapanış olmadan her ardışık yukarı sinyali için Lot boyutunu artıracaktır. (maksimum tabii ki)

Gösterge, RSI'nin belirli bir seviyenin altına/üstüne her geçişinde çizelgeye bir ok koyarak çalışır.

ok_rsi.mq4

Dosyalar:
arrow_rsi.mq4  3 kb
 
airquest:
Son sonuçların doğru olacağından emin değilim. Sorun şu ki, opti işlevinden gelen toplam işlemleri göstererek, işlevin iyi çalışıp çalışmadığını görebilirsiniz. Ayrıca çift işlevden birden fazla parametrenin nasıl döndürüleceğinden emin değilsiniz (bakiyeyi ve kazanma oranını da döndürmeniz gerekir). Ancak asıl sebep, sonuçlarda bir fark olduğunu ve bu nedenle fonksiyonda bir şeylerin yanlış olması gerektiğini görmek...

hava görevi

Bir işlevden ihtiyaç duyduğunuz kadar parametreyi "döndürmek" için, bir işleve başvurarak bir parametre iletin. Bunun gibi bir şey:

çift a;

çift b;

double c = testFunction(a,b);

double tectFunction(double& _a,double& _b)

{

_a = 1;

_b = 2;

dönüş(_a+_b);

}

bundan sonra a ve b, testFunction tarafından 1 ve 2 değerlerine atanacaktır (bu örnek durumda örtük olarak 3 değeri "döndürme" - işlevde _a ve _b adlarını sadece aynı ada sahip olmaları gerekmediğini göstermek için kullandım referans olarak iletildiğinde, aksi takdirde bunu yapmanıza gerek yoktur)

 
airquest:
Son sonuçların doğru olacağından emin değilim. Sorun şu ki, opti işlevinden gelen toplam işlemleri göstererek, işlevin iyi çalışıp çalışmadığını görebilirsiniz. Ayrıca çift işlevden birden fazla parametrenin nasıl döndürüleceğinden emin değilsiniz (bakiyeyi ve kazanma oranını da döndürmeniz gerekir). Ancak asıl sebep, sonuçlarda bir fark olduğunu ve bu nedenle fonksiyonda bir şeylerin yanlış olması gerektiğini görmek...

Merhaba Airquest,

Gördüğüm kadarıyla... göstergeniz gayet iyi çalışıyor gibi görünüyor.

Hâlâ bunun bir "değerleri görüntüleme" sorunu olduğunu düşünüyorum... ve herhangi bir hesaplama sorunu değil.

İşte göstergede neler olduğunu görüyorum...

Programın 2 seçeneği vardır - 1) Normal Çalışma 2) Optimizasyon Çalışması

Seçeneklerden biri/veya seçeneği DEĞİLDİR...

Optimizasyon SEÇİLMEDİĞİNDE...program sadece Normal Çalışmayı yapar...

Optimizasyon seçildiğinde... STILL programı Normal Çalıştırmayı...VE...ardından Optimizasyon Çalıştırmasını yapar...böylece her iki değeri de alır...

Ancak... Ekranda sadece Normal Çalışmadan alınan değerler görüntülenir... ve Optimizasyon değerlerini hiç göstermez.

Ekranı gösteren testim ektedir Optimizasyon değerleri elektronik tablo değerleriyle aynıdır...

Bu bana tüm hesaplarınızın iyi olduğunu gösteriyor...

Ayrıca, son Optimizasyon değerlerini almak için elektronik tablodaki son kaydı kullanıyor gibi görünüyor...

Ayrıca, diğer çizelgeler/göstergeler yüklenmeden çalıştırmanızı ve aynı anda test etmek için yalnızca birkaç seçilmiş değeri kullanmanızı öneririm.

Çalışan 20'den fazla grafiğim var ... ve MT4, bu gösterge için yaptığı hesaplamaları yaptığı için yanıt vermiyor ...

Optimizasyon testlerini çalıştırmak için temiz bir MT4 kurulumu kullanmak daha iyidir...

Ama iyi haber şu ki, sistemimi kilitlemiyor, çünkü sistem numaraları karıştırıp rapor hazırlarken başka şeyler de yapabiliyorum.

Bu arada...aşağıdaki ekran görüntülerinden anladığım kadarıyla...göstergeniz gayet iyi çalışıyor gibi...

BTW...harika bir kodlama parçası... Bunu paylaştığınız için çok teşekkürler...!

Bu yardımcı olur umarım,

Robert

 
cosmiclifeform:
Merhaba Airquest, Gördüğüm kadarıyla... göstergeniz gayet iyi çalışıyor gibi görünüyor.

Rica ederim, sözleriniz için çok teşekkürler. Buradaki fikir, basit stratejileri geriye dönük test etmek için mt4 strateji test cihazı optimizasyonunu (bence berbat ve çok yavaş) değiştirmek. Ve evet, yüklenmesi ve hesaplaması için biraz beklemeniz gerekiyor, ancak gördüğüm kadarıyla normal bir optimizasyondan daha hızlı ve daha uygun.

Ancak yine de göstergede bir sorun olduğunu ve düzgün çalışmadığını düşünüyorum. Ekran metninin optimizasyondan gelen sonuçlarla değiştirilmesi, bu çıkan sonuçların doğru mu yanlış mı olduğunu hiç göstermez. Paslanmış bir arabayı boyamak gibi.

Bence opti işlevi yanlış sonuçlar veriyor. Ekran görüntünüzde, CSV'deki sonuçların 5'307 işlem verdiğini görebilirsiniz. Bu çatıdan çok uzak. Ekranınızda kaç çubuk olduğuna bağlı, ancak stratejinin 5'307 takas vermesi mümkün değil. Emin olmak için okları saymanıza gerek yok, bu ekran görüntüsünde yaptığım gibi test etmek için çubuk sayısını azaltabilirsiniz (100 çubuğa ayarladım):

Burada, 100 bar için, 4 kazananla (okları sayarak) yapılacak yalnızca 10 işlem olduğunu görebilirsiniz, opti sonuçları ise 89 işlemin yapıldığını gösteriyor. Bu nedenle, görsel bir geriye dönük teste dayanarak, ekran sonuçları doğru (opti'nin söylediği en iyi süre için), CSV ise yanlış. Bu, işlemleri saymak VEYA hangi ayarların en iyi olduğunu belirlemek için CSV sonuçlarına güvenmememiz gerektiğini gösterir.

Bu yüzden sorunu daha basit bir şekilde ortaya koydum. Optimizasyon ikili işlevinden ve Başlat int işlevinden (ana hesaplama) çıkan sonuçları ekranda gösteren basit bir gösterge (ekli) yaptım. Yani her iki sonucun da farklı olduğunu görmek için bir CSV yazmanıza gerek yok.

Bu göstergeye dayanarak, (basit) sorum şudur: NEDEN DÜNYADA İKİ TAM AYNI HESAPLAMA (biri Başlat işlevinde, diğeri Optimizasyon çift işlevinde) FARKLI SONUÇLAR VERİYOR? Biri bunu anlamama yardım edebilirse, bu harika olurdu çünkü gerçekten anlamıyorum. Gördüğüm kadarıyla, ikisi tamamen aynı ve aynı sonuçlarla çıkmalı. Çok teşekkürler.

Not : gösterge hala biraz yavaş ve sonuçları göstermesi için muhtemelen birkaç saniye beklemeniz gerekecek. Yine de, sonuçlar çıktığında bir ses çalacaktır.

Dosyalar:
sa1.png  78 kb
sa3.png  41 kb
 

Merhaba Airquest,

"Örnek Testinizi" denedim ama çalışmasını sağlayamadım. Koda baktım ve 400'den fazla satırı silinmiş... bu yüzden onu yalnız bıraktım.

Orijinal kodunuzu test etmeye geri döndüm ... ve sanırım "çok fazla işlem" ile ilgili sorun hakkında ne söylediğinizi görmeye başladım ...

Testi basit ve hızlı tutmak için... Yalnızca Bantları kullanarak test ettim... ve sonuçları daha hızlı görmek için ayarları (Grup 10 ve Bant 20) yalnızca iki (2) çalışmaya sahip olacak şekilde en aza indirdim.

Ayrıca "BarsToCount" üzerine de odaklandım çünkü bu doğrudan işlem sayısıyla ilgili gibi görünüyor...

Herhangi bir cevap bulamamış olsam da...Size birkaç ipucum daha olabilir...

"BarsToCount"...işe yaramıyor...

Kodunuzu 1 Bar...2 Bar... ve 100 Bar Geri ile çalıştırdım...

Ve hepsinin aynı sonuçları vardı... ki bu olmamalıydı...çünkü daha fazla çubuk daha fazla ticarete eşit olmalı...ve daha az çubuk daha az ticarete eşit olmalı.

Yaptığım 3 koşunun ekran görüntülerini ekledim...sadece "BarsToCount"u değiştirerek...

Belki bu ipucu diğer sorunları bulmana yardımcı olur.. Cevaplarını bulmada iyi şanslar.

Bu yardımcı olur umarım,

Robert

 

Sonunda çalışan bir sürüm yapmayı başardım. Artık opti sonuçları doğru ve ekran sonuçlarına karşılık geliyor. Çift işlevi bıraktım ve hepsini Başlangıç işlevine koydum. Şimdi, Test Modunda çalıştırmak (bu nedenle varsayılan ayarları kullanır) veya optimizer modunda (hiçbir şey çizmez, yalnızca bir CSV dosyası yazar) arasında yalnızca bir seçeneğiniz vardır. Bir optimizasyon çalıştırdıktan sonra, test moduna geri dönebilir ve sonuçların doğru olup olmadığını kontrol edebilirsiniz.

Bu konuyu bozmak istemediğimiz için herhangi bir sorun bulursanız lütfen bana bildirin, PM ile daha iyidir. Arkadaşlar, yardımlarınız için çok teşekkürler. Bu forum harika, insanlar birbirlerini motive ediyor ve yardım ediyor (çoğu zaman) ve bu yüzden burada yayınlıyorum. Şimdi geriye dönük teste başlayalım

 
cosmiclifeform:
Merhaba Airquest,

Robert, yardımın için teşekkürler. Yukarıda gönderdiğim sürüme bakın, şimdi çalışması gerekir.

Not: Çubuk sayısını sınırlamak için UseAllBars'ı False'a çevirmeniz gerekir. Muhtemelen görmedin.

Saygılarımızla.

 

Merhaba Airquest,

İyi iş onu takip etmek ve işe almak...!

Bu hafta onunla oynamak için sabırsızlanıyorum...

Teşekkürler ve kendine iyi bak,

Robert