![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
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.
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: 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.
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);
}
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?
{
//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 outcomesAynı kod! (pratikte)![](https://c.mql5.com/forextsd/smiles/cry.png)
![](https://c.mql5.com/forextsd/smiles/cry.png)
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
merhaba Aragorn
lütfen en iyi set dosyasını yükleyin
siber için
tnx
Hoşçakalbu işte...
https://www.mql5.com/en/forum/174700/page71