Backtest'te harika EA! - sayfa 116

 
Beno:
Bir çözüm bulmaya çalışırken bu konuyu önden arkaya okudum

Cyberia Trader1.85g jpy.mq4 sürümünü yükledim ve yüz ama hiç sipariş almadım. 30 dakika USD/CHF çiftini kullanıyorum. herhangi bir siparişin olmaması, herhangi bir ileriye dönük test yapmayı gerçekten zorlaştırıyor. Sistem 4 gündür çalışıyor ve hala sipariş yok.

biraz yardım çok iyi olur teşekkürler.

şerefe

Beno

%70'den daha iyi yapmayı bilseydim sana yardım ederdim ama bilmiyorum. 1 saatlik grafikte koşuyorum, bunu dene.

 
Aaragorn:
Bu kod parçası için teşekkür ederim. Baktım ve hem dosya oluşturduğunu hem de okuduğunu görebiliyorum. Zaten oluşturulmuş bir dosyanın sonuna herhangi bir şey eklediğini görmüyorum. Belki öyledir ve ben görmüyorumdur, belki de yapmıyordur ve görecek hiçbir şey yoktur. Keşke sonuna veri eklediğini bildiğimiz bir kod parçası bilseydim, böylece nasıl yaptığını görebilseydim.

Bu konuya bir göz atın:

https://www.mql5.com/en/forum/175496

 

Bu kodu gerçekten hackledim ve onu oldukça dağınık bıraktım .. ama ...

Bunu dosyaya yazdırmaya yönelik çabalarım şu anda başarısız oluyor.

Sanırım veri toplama konusunda yardımcı olmak isteyenlerden bunu manuel olarak yapma girişiminde bulunmalarını isteyeceğim.

Günlüğe CT'nin minimum mantığını yazdırmak için bu EA kurulumunu ekledim. Bu herhangi bir gösterge almıyor ama belki de sadece CT'nin mantığına bakmak bize birlikte bir şeyler verebilir.

Bu verileri toplamak için yapmanız gereken, backtester kurulumundaki ea'yı olduğu gibi çalıştırmaktır. ancak çalışırken günlük sekmesini izlemeniz gerekir. Günlük, veriyi alt uçtan kesmeye ve düşürmeye başlamadan birkaç siparişten daha fazla veri tutmayacağından. Her 5-7 siparişe ulaştığınızda testi çok hızlı bir şekilde durdurmanız gerekecek. Ardından verileri bir not defterine kopyalayıp yapıştırın ve önceki kopyala/yapıştır işlemini yaptığınız yere ne zaman ulaştığını görmek için test cihazını yeniden başlatın. Bir sipariş için buna benzeyen yapıştırırken tüm verileri yakalamaya dikkat etmelisiniz...

2006.11.10 10:22:52 2004.03.05 03:02 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: close #56 buy 0.42 EURUSDm at 1.2188 sl: 1.2171 tp: 1.2285 at price 1.2210

2006.11.10 10:22:52 2004.03.05 03:02 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: Recorded Winning Long 56 Opened: 1.2188 Closed: 1.221

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: Ticket: 56 DV: -0.0051 CCI: 57.9346 Long order is opened @: 1.2188 StopLoss= 1.2171 TakeProfit= 1.2285

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: Buy @ Minute 40

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: open #56 buy 0.42 EURUSDm at 1.2188 sl: 1.2171 tp: 1.2285 ok

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: BuyPossibilityMid:0.0004

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: SellPossibilityMid:0.0004

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: UndefinedPossibilityMid:0.0009

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: BuySucPossibilityMid:0.002

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: SellSucPossibilityMid:0.0021

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: UndefinedSucPossibilityMid:0.0021

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: BuyPossibilityQuality:8

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: SellPossibilityQuality:8

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: UndefinedPossibilityQuality:19

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: BuySucPossibilityQuality:7

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: SellSucPossibilityQuality:7

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: UndefinedSucPossibilityQuality:14

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: UndefinedPossibilityMid*UndefinedPossibilityQuality:0.0164

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: BuyPossibilityMid*BuyPossibilityQuality:0.0032

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: SellPossibilityMid*SellPossibilityQuality:0.0034

2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: Hour: 18 Minute: 40

bunu bir saatlik grafikte çalıştırın ve verileri yakalayın. o zaman bana .txt not defteri dosyasını e-posta ile gönder, belki islandhome ilk siparişte başladıysa ve 2005'in ilk 500 işlemi ve AZBOfin 2005'in 500 işlemiyle başlayıp sonraki 500'ü yaptıysa?

Ah! bunu boşver. kodlayıcının gurusunun az önce yayınladığı şeyi deneyeyim.

 
codersguru:
Bu konuya bir göz atın: https://www.mql5.com/en/forum/175496

Vay canına, beni burada bir sürü dertten kurtarmış olabilirsin...

Gönderdiğim EA'ya bakabilir misiniz ve kodda 4 yerde dosyaya yazdırmaya çalıştığımı görebilir misiniz? Emirleri açtığı yerde iki kez ve ardından emirleri kapattığında ayrı fonksiyonlarda. Bundan ne çıkarmaya çalıştığımı görüyor musun? Bunu her siparişin bilgisini, programın açılış mantığını ve sipariş kapandığında sonucunu kaydedecek şekilde kodlamama yardım eder misiniz?

Bu fileflush'ı her seferinde yaparsam, herhangi bir şeyi silecek mi? Hala floş olayının nasıl çalıştığını anlamıyorum.

 

Evreka! Ah dostum, teşekkürler kodlayıcının gurusu, güzel kurtarış!

şimdi burada biraz kafam karıştı... .txt dosyasının her sipariş için bir sonuç satırı yazdırmadığına dikkat edin. Merak ettiğim bazı siparişlerde neden bunu atlıyor?

Sonuç satırını yazdırmazsa, kaybeden bir pozisyon olduğunu varsayabilir miyim?

 

O formattaki verileri asla çözemezsiniz, satırlar halinde olması gerekir, bunları birleştirmeyi deneyin.

Hala çok fazla dosyanın açık olduğunu söylemekle ilgili bir sorunum var ... ancak dökümünüzü Excel'de görüntüleyebilmeniz için biçimlendirmeniz gereken temel yol burada

//LOGIC FOR HEADER OF FILE - creates the header labels for the rows in the CSV file

string fileName = Symbol() + "-" + TimeToStr(LocalTime(), TIME_DATE) + " " + TimeHour(LocalTime()) + "-" + TimeMinute(LocalTime()) + ".csv";

File = FileOpen(fileName, FILE_CSV|FILE_WRITE, ',');

if (FileWrite(File, Symbol(),"DATETIME","Lots","Bid","SlipPage","StopLoss","TakeProfit","MagicNumber",

"SellPossibilityMid*SellPossibilityQuality",

"BuyPossibilityMid*BuyPossibilityQuality",

"UndefinedPossibilityMid*UndefinedPossibilityQuality",

"UndefinedSucPossibilityQuality",

"SellSucPossibilityQuality",

"BuySucPossibilityQuality",

"UndefinedPossibilityQuality",

"SellPossibilityQuality",

"BuyPossibilityQuality",

"UndefinedSucPossibilityMid",

"SellSucPossibilityMid",

"BuySucPossibilityMid",

"UndefinedPossibilityMid",

"SellPossibilityMid",

"BuyPossibilityMid",

"Decision" ) < 0)

{

PrintError();

return (Error);

}

//LOGIC FOR APPEND OF FILEWRITE - Writes the rows of data

//Record statistics at time of Order - Added by DudeWorks

void RecordTickets ()

{

if (Error > 0)

return (Error); //stop on error

FileSeek(File,0,SEEK_END);

if (FileWrite(File, Symbol(),TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS),Lots,Bid,SlipPage,StopLoss,TakeProfit,MagicNumber,

SellPossibilityMid*SellPossibilityQuality,

BuyPossibilityMid*BuyPossibilityQuality,

UndefinedPossibilityMid*UndefinedPossibilityQuality,

UndefinedSucPossibilityQuality,

SellSucPossibilityQuality,

BuySucPossibilityQuality,

UndefinedPossibilityQuality,

SellPossibilityQuality,

BuyPossibilityQuality,

UndefinedSucPossibilityMid,

SellSucPossibilityMid,

BuySucPossibilityMid,

UndefinedPossibilityMid,

SellPossibilityMid,

BuyPossibilityMid,

Decision) < 0)

{

PrintError();

return (Error);

}

FileFlush(File);

return(0);

}

 
DudeWorks:
O formattaki verileri asla çözemezsiniz, satırlar halinde olması gerekir, bunları birleştirmeyi deneyin.

Hala çok fazla dosyanın açık olduğunu söylemekle ilgili bir sorunum var ... ancak dökümünüzü Excel'de görüntüleyebilmeniz için biçimlendirmeniz gereken temel yol burada

//LOGIC FOR HEADER OF FILE - creates the header labels for the rows in the CSV file

string fileName = Symbol() + "-" + TimeToStr(LocalTime(), TIME_DATE) + " " + TimeHour(LocalTime()) + "-" + TimeMinute(LocalTime()) + ".csv";

File = FileOpen(fileName, FILE_CSV|FILE_WRITE, ',');

if (FileWrite(File, Symbol(),"DATETIME","Lots","Bid","SlipPage","StopLoss","TakeProfit","MagicNumber",

"SellPossibilityMid*SellPossibilityQuality",

"BuyPossibilityMid*BuyPossibilityQuality",

"UndefinedPossibilityMid*UndefinedPossibilityQuality",

"UndefinedSucPossibilityQuality",

"SellSucPossibilityQuality",

"BuySucPossibilityQuality",

"UndefinedPossibilityQuality",

"SellPossibilityQuality",

"BuyPossibilityQuality",

"UndefinedSucPossibilityMid",

"SellSucPossibilityMid",

"BuySucPossibilityMid",

"UndefinedPossibilityMid",

"SellPossibilityMid",

"BuyPossibilityMid",

"Decision" ) < 0)

{

PrintError();

return (Error);

}

//LOGIC FOR APPEND OF FILEWRITE - Writes the rows of data

//Record statistics at time of Order - Added by DudeWorks

void RecordTickets ()

{

if (Error > 0)

return (Error); //stop on error

FileSeek(File,0,SEEK_END);

if (FileWrite(File, Symbol(),TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS),Lots,Bid,SlipPage,StopLoss,TakeProfit,MagicNumber,

SellPossibilityMid*SellPossibilityQuality,

BuyPossibilityMid*BuyPossibilityQuality,

UndefinedPossibilityMid*UndefinedPossibilityQuality,

UndefinedSucPossibilityQuality,

SellSucPossibilityQuality,

BuySucPossibilityQuality,

UndefinedPossibilityQuality,

SellPossibilityQuality,

BuyPossibilityQuality,

UndefinedSucPossibilityMid,

SellSucPossibilityMid,

BuySucPossibilityMid,

UndefinedPossibilityMid,

SellPossibilityMid,

BuyPossibilityMid,

Decision) < 0)

{

PrintError();

return (Error);

}

FileFlush(File);

return(0);

}

bu benim için bir sorun değil.

excel'deki harici verileri içe aktarma özelliği, onu oldukça güzel bir şekilde satırlara yerleştirir. sadece ";" ile sınırlandırıldığını söyle Biçimlendirme ile elde etmek istediğim zorluk, pozisyonları kaybetmek için bir sonuç satırı yazdırmaması. Bu, satırlardaki verilerin her sipariş için aynı olmadığı anlamına gelir ve bu da kaybedilen girdileri tanıyan bir tanımlayıcı tasarlamayı zorlaştırır. şu anda kazanan verileri diğerlerinden ayırabiliyorum, belki bu kadarı yeterli, sanırım elimdekiler üzerinde çalışabilirim ama bu konuda henüz herhangi bir gösterge veriye sahip değilim.

 

Şuna bakın... Kaybedilen ticaretin sonuç satırını kurtarmak için bu şeye şimdi kendi işlevini verdim ve HALA satırı yazdırmıyor???? oy, hadi bir satırda sormak için çok mu fazla?

void RecordLongLOutcomes()

{

//OrderSelect(OrderTicket(),SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)

{

if(OrderType()==OP_BUY)

{

if(OrderOpenPrice() + Spread >= OrderClosePrice())

{

datetime blorderOpen=OrderOpenTime();

handle = FileOpen("Cyberia.txt",FILE_READ|FILE_WRITE);

if(handle!=-1)

{

FileSeek(handle,0,SEEK_END);

FileWrite(handle,"Losing Long OrderTicket: ",OrderTicket()," Opened @: ",OrderOpenPrice()," Closed @: ",OrderClosePrice()," Order Open Time: ",blorderOpen);

FileWrite(handle," ");

Print("Recorded Losing Long ",OrderTicket()," Opened: ",OrderOpenPrice()," Closed: ", Bid);

FileFlush(handle);

FileClose(handle);

}

else

{

int err1;

err1=GetLastError();

Print("error(",err1,"): ",ErrorDescription(err1));

return(0);

}

}//if win or lose

}//if buy

}//if symbol and magic number

return (0);

}//record long outcomes[/PHP]

what gives???

see this? this works fine...

[PHP]void RecordLongOutcomes()

{

//OrderSelect(OrderTicket(),SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)

{

if(OrderType()==OP_BUY)

{

if(OrderOpenPrice() + Spread < OrderClosePrice())

{

datetime borderOpen=OrderOpenTime();

handle = FileOpen("Cyberia.txt",FILE_READ|FILE_WRITE);

if(handle!=-1)

{

FileSeek(handle,0,SEEK_END);

FileWrite(handle,"Winning Long OrderTicket: ",OrderTicket()," Opened @: ",OrderOpenPrice()," Closed @: ",OrderClosePrice()," Order Open Time: ",borderOpen);

FileWrite(handle," ");

Print("Recorded Winning Long ",OrderTicket()," Opened: ",OrderOpenPrice()," Closed: ", Bid);

FileFlush(handle);

FileClose(handle);

}

else

{

int err;

err=GetLastError();

Print("error(",err,"): ",ErrorDescription(err));

//return(0);

}

}//if win or lose

}//if buy

}//if symbol and magic number

RecordLongLOutcomes();

return (0);

}//record long outcomes

Aynı kod! (pratikte) Bu mql dili inanılmaz derecede mizaçlıdır!

 

merhaba Aragorn

lütfen en iyi set dosyasını yükleyin

siber için

tnx

Hoşçakal

 
nanoc:
merhaba Aragorn

lütfen en iyi set dosyasını yükleyin

siber için

tnx

Hoşçakal

bu işte...

https://www.mql5.com/en/forum/174700/page71