EA - sayfa 14

 

İşte önceki gönderideki .htm dosyalarıyla birlikte gelen .gif dosyaları...

ayrıca bugün erken saatlerde bir 188 kurulum dosyası oluşturmam istendi ...

Bu yapı numarasını aradım ama göremiyorum...Bir yapı yaptığımı hatırlamıyorum 188 belki yaptım ama bulmak için kazmam gerekecek...Bu kadar özel olan ne bilmiyorum biri bana o özel yapıyı sorardı..... ben yapsaydım bu çok erken bir versiyon olurdu....

aramaya devam edeceğim...

Dosyalar:
ggl3-01.gif  6 kb
ggs3wrsi.gif  9 kb
 

Söylemeyi unuttum, 1H grafiğinde GGS3'ü ve 30M grafiğinde GGL3.01'i kullanıyorum.

Metatrader 4 terminalinin Build 188'i için onlara bir kurulum .exe sağlayabilirsem, buna değeceklerini gönüllü olarak aldım. Testimi yapı 195'te yaptım ve terminal için bir yapı 188'e sahip değilim...paylaşacağınız başka biri var mı?

 

Bilin bakalım bu iki test arasındaki fark ne?

Ayarlar? Hayır

EA? Hayır

Başlangıç depozitosu mu? Hayır

Tarih aralıkları? Hayır

Döviz çifti ? Hayır

Her birinden önce yeniden hesapla'yı tıkladınız mı? Evet

Tek fark, karlı olanın pazarın Pazar günü yeniden açılmasından hemen sonra yapılmış olmasıdır. Ve kârlı olmayanı, Cuma günü piyasa kapandıktan hemen sonra yapıldı.

Öyleyse biri bana, tamamen tarih merkezinde depolanan bir tarih aralığını test ederken, arka testçinin pazarın açık olup olmadığını neden umursaması gerektiğini söylesin?

Dosyalar:
 
Maji:
Takip etmeyi dene:

int handle;

int init()

{

handle=FileOpen(EAName+"_"+Symbol()+".txt", FILE_CSV|FILE_WRITE, ';');

return(0);

}

int deinit()

{

FileClose(handle);

return(0);

}

Start()

{

.....

FileWrite(handle, TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS), iOpen... ); //declare them as variables and then insert them in the file write routine

[/PHP]

Also, remember to put the routine where it is updated once every bar not every tick. Now you got enough ammo, and figure out the rest

Good luck.

tamam buraya kadar geldim....

[PHP]int tanıtıcı; //Dosyaya yazdırmak

//+------------------------------------------- -------------------+

//| uzman başlatma işlevi |

//+------------------------------------------- -------------------+

int init()

{

BarCount = Barlar;

if (EachTickMode) Akım = 0; başka Akım = 1;

handle=FileOpen(EAName+"_"+Symbol()+".txt", FILE_CSV|FILE_WRITE, ';');//dosyaya yazdır

dönüş(0);

}

//+------------------------------------------- -------------------+

//| uzman sıfırlama işlevi |

//+------------------------------------------- -------------------+

int tanım()

{

FileClose(tutamak);//dosyaya yazdır

dönüş(0);

}

//+------------------------------------------- -------------------+

//| uzman başlatma işlevi |

//+------------------------------------------- -------------------+

int başlangıç()

{

Bu yönü nasıl/nerede tamamlayacağımı bilmiyorum...

...." FileWrite(handle, TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS), iOpen... ); //bunları değişken olarak bildirin ve ardından bunları dosya yazma rutinine ekleyin"

 

Maji dedi ki, ...rutini her tıkta değil, her çubukta bir kez güncellendiği yere koyun.

Birisi bana bunun nerede olduğunu gösterebilir mi? Ara sıra yeterlilik sanrılarıma rağmen, bu konuda gerçekten hiçbir fikrim yok.

 

Üzgünüm ama şu anda kodunuzla uğraşacak vaktim yok. Yeni çubuğa sadece sisteminizin güncellendiği yere saat, açık vs yazan satırı eklemelisiniz. Şimdilik, neden bu satırı başlangıç döngünüzde return(0)'dan önce eklemiyorsunuz? Filewrite komutunun nasıl oluşturulacağına gelince, bunu kendiniz çözmeniz gerekecek, bunu yapmak için size yeterince cephane verdim.

Neden sisteminizi ileriye doğru test etmeye başlamıyorsunuz ve bu şekilde her gün geriye dönük testinize karşı kontrol edebilir ve nasıl çalıştığını görebilirsiniz?

İyi şanlar.

 
Maji:
Üzgünüm ama şu anda kodunuzla uğraşacak vaktim yok. Yeni çubuğa sadece sisteminizin güncellendiği yere saat, açık vs yazan satırı eklemelisiniz. Şimdilik, neden bu satırı başlangıç döngünüzde return(0)'dan önce eklemiyorsunuz? Filewrite komutunun nasıl oluşturulacağına gelince, bunu kendiniz çözmeniz gerekecek, bunu yapmak için size yeterince cephane verdim.

Neden sisteminizi ileriye doğru test etmeye başlamıyorsunuz ve bu şekilde her gün geriye dönük testinize karşı kontrol edebilir ve nasıl çalıştığını görebilirsiniz?

İyi şanlar.

Başka önceliklerin olduğunun farkındayım, bu yüzden sana sormuyordum, ancak ipucu en azından sırayı yerleştirmede yardımcı oluyor. teşekkürler

Ben ileriye dönük test yapıyorum. Yani demo hesabım işçi bayramı hafta sonu boyunca patlayana kadar öyleydim, süresi dolmadı, diğer tüm demo hesaplarımla birlikte feshedildi. Bu sabah gel, yeniden yeni bir tane başlatmak zorunda kaldım... neden hepsinin silindiği hakkında hiçbir fikrim yok. ben yapmadım Bir bankalararası anamolie sanırım.

 

Diyelim ki bunu yaptım ve söylenmesine rağmen her seferinde aynı verileri kullanmadığını veya verileri aynı şekilde veya her neyse işlemediğini kanıtladım, o zaman ne olacak?

Onlara söylediğimde aynı tarih aralıklarını veya tüm tarih aralıklarını kullanmayan başka strateji testlerim var. ben ya da kimse bu konuda ne yapabilirim? Diğer insanların da benzer usulsüzlüklere sahip olduğunu varsaymak güvenli ama onlar hakkında ne yapılabilir?

Bu noktada bana gerçekten bir strateji test cihazı gibi görünmüyor. Daha çok bir strateji teaser'ı gibi, çünkü derlemesini/işlenmesini gerçekten kontrol etmenin veya stabilize etmenin bir yolu yok. Belirtilen aralığın tamamını yapmak için tam veri dosyaları mevcut olduğunda yalnızca kısmi tarih aralıklarını işler. %100 tutarlı görünmüyor. Tutarsızlıklarını kanıtlasam bile tamir etmek için ne yapacağımı bilemezdim. Hassas bir test aracından çok bir rulet çarkı gibi davranır.

 

gereksiz gönderi

 

işte benim skitom...Yukarıdaki dosyaya neden https://www.mql5.com/en/forum/general eklediğini anlayamıyorum.

derleyici bu işlevleri bulabilir...(bu içerme dosyasını bir EA'ya eklediğimde ve bu işlevleri çağırmadan önce.... bu hataları alıyorum, en azından derleyicinin bu 5 işlevi GÖRDÜĞÜNÜ söylüyor....

"StoreHighsAndLows" işlevine atıfta bulunulmuyor ve exp dosyasından kaldırılacak

"GetPastEquity" işlevine başvurulmuyor ve exp dosyasından kaldırılacak

"StoreAccountEquity" işlevine başvuruda bulunulmuyor ve exp dosyasından kaldırılacak

"CountTrades" işlevine atıfta bulunulmuyor ve exp dosyasından kaldırılacak

"CloseOrder" işlevine atıfta bulunulmuyor ve exp dosyasından kaldırılacak

ancak hiçbir şekilde BoostLots()'u görmez.

Sanki yokmuş gibi....

BoostLots(), görebildiği diğer işlevlerden farklı olarak nasıl yapılandırılır?

işlevi bildirir, sonra

{

falan

falan

falan

dönüş();

}

bir işlevin daha ne olması gerekiyor? Diğerlerinin sahip olduğu tek şey bu!!!!

EA'dan BoostLots()'u çağırdığımda bakın, hatayı alıyorum...işlev tanımlı değil...orada değilmiş gibi...ama orada, TAM ORADA!!!! Neden her şey derleyici tarafından görünmez ???

Neden: