Günlük girişi ne anlama geliyor? - sayfa 2

 
Bir uzman bağlayacağım - ne olacağını göreceğim)

Bu arada, son zamanlarda bilinmeyen bir komut benim için ortaya çıktı - hatırlıyorum, biri yazdı ama arşivde bulamadı ...
nasıl bittiğini hatırlayan var mı?
 
Yazdım :) Hiçbir şey bitmedi. Semaforlar ve zaman aşımları eklenerek sorun neredeyse sıfıra çekildi ama anladığınız gibi bu "neredeyse" gerçek hayatta anlaşmanızı kapatmazsa, yeterli görünmeyecektir.

Hatalar farklı türlerde ortaya çıkar, başlıcaları " yanlış fiyat ", "6", "1"dir. Ama başkaları da var :)

Bu arada, günlüklerime bakarsanız, bazen 5 deneme döngüsünün kırıldığını ve başarıya yol açtığını görebilirsiniz. Misal:
Kısa pozisyonu kapatma girişimi, bilet: 1775545
Bu bilet hala mevcutken sipariş verin, tekrar deneyin
Bu bilet hala mevcutken sipariş verin, tekrar deneyin
Bu biletle başka sipariş yok Hayır, satış kapalı

İki deneme (tüm denemelerde başarısızlık durumunda olacağı gibi 5 yerine) ve sipariş kapatılır.
 

Ayrıca şu anda hepsi M5'te asılı duran 8 danışmanım var.
00:00 - 12:00
işlemler - 141
hatalar - 3 ("1" ve iki "6").


Bu arada, ping bir hata mesajı vermiyor. Bu nedenle, prensip olarak, uzmanın bir şey yapmaya çalıştığını bilmiyor olabilirsiniz.
 
bilinmeyen komut - verdim ondan sonra birkaç kez daha oldu nedenini bulamadım buraya bakabilirsin - http://forum.alpari-idc.ru/viewtopic.php?t=45230&start=30
, bu forumda çoğalttım, ama nerede olduğunu hatırlamıyorum

Bu iki forumdaki yazımı okuyan var mı - bilmiyorum...
 
Bu arada, ping bir hata mesajı vermiyor. Bu nedenle, prensip olarak, uzmanın bir şey yapmaya çalıştığını bilmiyor olabilirsiniz.
Günlüklerde ping ile ilgili hiçbir şey yok.
 
Кстати, пинг ведь не дает сообщения об ошибке. Так что, в принципе, о том, что эксперт пытался что-то сделать, ты мог и не узнать.
Günlüklerde ping ile ilgili hiçbir şey yok.


İşin aslı. Bir seçenek olarak: ping başarısız, EA hiçbir şey olmamış gibi çalışıyor, sunucuyla bağlantı olmadığı için, sunucudan hata kodları döndürülmüyor, pozisyonlar başarıyla açılmış - kapanmış kabul ediliyor... Sadece sizi korkutuyorum: )

Vermiş olduğum kodun varyantı, siparişi kapatmaya çalıştıktan sonra, bu biletle açık bir sipariş olup olmadığını kontrol eder. Yani doğrulama , hata raporlama sistemini atlar. Kapanış emirleriyle ilgili çoğu anormal durum hakkında bu şekilde bilgi alıyorum.

Açılış başka bir konu. Bileti buradan kontrol edemezsiniz :(
 
İşin aslı. Bir seçenek olarak: ping başarısız, EA hiçbir şey olmamış gibi çalışıyor, sunucuyla bağlantı olmadığı için, sunucudan hata kodları döndürülmüyor, pozisyonlar başarıyla açılmış - kapanmış kabul ediliyor... Sadece sizi korkutuyorum: )

Birçok hata terminalin kendisi tarafından döndürülür - bağlantıya bile ihtiyacı yoktur;) bir pozisyonu zorla çevrimdışı açmaya veya kapatmaya çalışın =)))

Vermiş olduğum kodun varyantı, siparişi kapatmaya çalıştıktan sonra, bu biletle açık bir sipariş olup olmadığını kontrol eder. Yani kontrol, hata raporlama sistemini atlar. Kapanış emirleriyle ilgili çoğu anormal durum hakkında bu şekilde bilgi alıyorum.

Ve şöyle kontrol ediyorum:
 bool orderclose = OrderClose( _OrderTicket, _Volume, _ClosePrice, _Slippage, _Color );
	_GetLastError = GetLastError();
//---- Bir hata varsa,
	if ( !orderclose || _GetLastError > 0 )
	{


şu ana kadar sözde kapalı pozisyonlara sahip herhangi bir durum olmadı;)



not Kodunuz hakkında.
Yazıyı yazdığımda kopyaladım, kurdum, kitaplığımı bağladım ve 8 M5 grafiğinde başlattım. Sonra ayrıldı ve döndüğünde hiçbir şey olmadığını gördü - uzmanlar ticaret yapmıyordu (((
Şimdi sürümünüzü başlatacağım ve yarın kazacağım - benimki neden işe yaramadı;)

 
Belki de bu bir ping meselesidir, sipariş vermeyi yeniden denemek için döngülerim yok, belki bu yerde Yenile'yi aramam ve daha yeni fiyatları kaymam gerekiyor.
Bana gelince, her zaman açıkça taze fiyatları kullanmak daha iyidir, yani. MarketInfo( Symbol() , MODE_BID ) ve MODE_ASK
 

not Kodunuz hakkında.
Yazıyı yazdığımda kopyaladım, kurdum, kitaplığımı bağladım ve 8 M5 grafiğinde başlattım. Sonra ayrıldı ve döndüğünde hiçbir şey olmadığını gördü - uzmanlar ticaret yapmıyordu (((
Şimdi sürümünüzü başlatacağım ve yarın kazacağım - benimki neden işe yaramadı;)


Evet ve saat ayarı açıkça belirtilmişse, beş dakika üzerinde nasıl çalışabilir, örneğin:
if(Symbol() == "EURUSD" && Period() == 60)

:))

Ne yazık ki, uzun zaman alacak. Bu özel EA, haftada bir kez çöküyor - aslında, nadiren ticaret yapıyor. ==60'ı kaldırabilir ve M5'te çalıştırabilirsiniz, ancak daha sonra birleşmesi garanti edilecektir.
 
M5'i karıştırdım =) Saate taktım yine çalışmıyor..

Ama şimdi, kodunuz eklendi, yeni bir saat başladı - günlükte sadece birkaç hata var, tek bir pozisyon açık değil ...
2005.09.07 01:01:53 quark_test_expert: BIN işlevi olarak FileOpen için yanlış sınırlayıcı
2005.09.07 01:01:11 quark_test_expert: BIN işlevi olarak FileOpen için yanlış sınırlayıcı
2005.09.07 01:00:21 quark_test_expert: BIN işlevi olarak FileOpen için yanlış sınırlayıcı
2005.09.07 01:00:14 quark_test_expert: BIN işlevi olarak FileOpen için yanlış sınırlayıcı
2005.09.07 00:59:55 quark_test_expert: BIN işlevi olarak FileOpen için yanlış sınırlayıcı
2005.09.07 00:59:55 quark_test_expert: BIN işlevi olarak FileOpen için yanlış sınırlayıcı
Neden: