EA'm çift giriş yapıyor - sayfa 6

 
doshur :
Servis masasından herhangi bir güncelleme var mı?
Henüz değil.
 
angevoyageur :
Henüz değil.

Merhaba,

Servis masasından haber var mı?

 
doshur :

Merhaba,

Servis masasından haber var mı?

Cevabını alırsam buraya yazacağımdan emin olabilirsiniz.

Şahsen ben henüz sorunu yeniden üretmeye gelmedim.

 

EA'm çok yavaş sinyal üretiyor ve bugün bir ticaret yaptı.

Yeni kodu kullandıktan sonra parti boyutunda sorun yok ancak yeni kodun çalıştığını onaylayamıyorum.

 
doshur :

EA'm çok yavaş sinyal üretiyor ve bugün bir ticaret yaptı.

Yeni kodu kullandıktan sonra parti boyutunda sorun yok ancak yeni kodun çalıştığını onaylayamıyorum.

merhaba doshur,

ServiceDesk'ten henüz yanıt yok. Ancak sorununuz beni "rahatsız ediyor" Bu çifte işlem sorununu bir demo değil de gerçek bir hesapta aldığınızı onaylayabilir misiniz? (Bu sorunu demo hesabımda yeniden oluşturamıyorum).

Ayrıca gönderilerinizi bir kez daha kontrol ederek, şimdi bu günlüğü not ediyorum:

sipariş #40018327) DEAL2 - Giriş 3

2013.12.20 08:35:01 ticaret '800****': 331 ms'de yürütme için pazarda 0,01 EURUSD döviz alışı DEAL2 - Giriş 2

2013.12.20 08:35:01 İşlemler '800****': anlaşma #27731691 1.36353'ten 0.01 EURUSD satın alın yapıldı (sipariş #40018326) DEAL 1 - Giriş 3

2013.12.20 08:35:00 İşlemler '800****': borsada 0,01 EURUSD satın al DEAL2 - Giriş 1

2013.12.20 08:35:00 ticaret '800****': 313 ms'de yürütme için pazarda 0,01 EURUSD döviz alışı DEAL1 - Giriş 2

2013.12.20 08:35:00 ticaret '800****': borsada 0,01 EURUSD satın al DEAL1 - Giriş 1

Eğer doğru anladıysam, sorunun yeni bir pozisyon açılırken PositionSelect()'in hala yanlış olduğunu onaylıyor. Gerçekten de, 1 ticaretin 3 girişle sonuçlandığını ve ikinci anlaşmanın, 1. anlaşma için üçüncü giriş gelmeden önce başlatıldığını görebilirsiniz (yeni anlaşmanın/pozisyonun teyidi).

Sleep() işlevini kullanan geçici çözüm hakkında, hangi gecikmenin kullanılacağını bilmenin bir yolu olmadığı için bundan memnun değilim. Elbette bu gecikme ne kadar fazlaysa, "çifte ticaret" yapma şansı o kadar azdır, ancak yine de mümkündür. Bu yüzden hala daha iyi bir çözüm arıyorum.


 
angevoyageur :

Sleep() işlevini kullanan geçici çözüm hakkında, hangi gecikmenin kullanılacağını bilmenin bir yolu olmadığı için bundan memnun değilim. Elbette bu gecikme ne kadar fazlaysa, "çifte ticaret" yapma şansı o kadar azdır, ancak yine de mümkündür. Bu yüzden hala daha iyi bir çözüm arıyorum.

Bu konuya yeni geldiğim için yanılıyorsam özür dilerim, ancak bu kod sadece Sleep()'ten daha iyi bir geçici çözüm olabilir ve sorunu ve gerekli gerçek gecikme değerini belirlemeye yardımcı olabilir:

 bool fatalError= false ; // atention: declare this as global

....

if (fatalError== false ) {
   if (m_Trade.PositionOpen( Symbol (), ORDER_TYPE_BUY , LotSize, Price, 0 , 0 )) {
     Print ( "Position opened in " , Symbol ());
     int maxTimeout= 0 ;
     while (! PositionSelect ( Symbol ())) {
       Sleep ( 100 );
       maxTimeout++;
       if (maxTimeout> 100 ) {
           Print ( "### PositionSelect fatal error!" );
          fatalError= true ;
           break ;
       }
    }
     Print ( "--> PositionSelect delay=" ,maxTimeout* 100 );
     break ;
  }
}
 
angevoyageur :

merhaba doshur,

ServiceDesk'ten henüz yanıt yok. Ancak sorununuz beni "rahatsız ediyor" Bu çifte işlem sorununu bir demo değil de gerçek bir hesapta aldığınızı onaylayabilir misiniz? (Bu sorunu demo hesabımda yeniden oluşturamıyorum).

Ayrıca gönderilerinizi bir kez daha kontrol ederek bu günlüğü not ediyorum:

Eğer doğru anladıysam, sorunun yeni bir pozisyon açılırken PositionSelect()'in hala yanlış olduğunu onaylıyor. Gerçekten de, 1 ticaretin 3 girişle sonuçlandığını ve ikinci anlaşmanın, 1. anlaşma için üçüncü giriş gelmeden önce başlatıldığını görebilirsiniz (yeni anlaşmanın/pozisyonun teyidi).

Sleep() işlevini kullanan geçici çözüm hakkında, hangi gecikmenin kullanılacağını bilmenin bir yolu olmadığı için bundan memnun değilim. Elbette bu gecikme ne kadar fazlaysa, "çifte ticaret" yapma şansı o kadar azdır, ancak yine de mümkündür. Bu yüzden hala daha iyi bir çözüm arıyorum.


Evet. gerçek hesap kullanıyorum
Bir ticaret daha bitti. Çift giriş yok. Belki yeni kodum çalışır?
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Account Properties
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Account Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Environment State / Account Properties - Documentation on MQL5
 
figurelli :

Bu konuya yeni geldiğim için yanılıyorsam özür dilerim, ancak bu kod sadece Sleep()'ten daha iyi bir geçici çözüm olabilir ve sorunu ve gerekli gerçek gecikme değerini belirlemeye yardımcı olabilir:

İlginç fikir. Sorunu belirlemek için kullanacağım, ancak Sleep() işlevini sevmiyorum Yine de herkes kendi çözümünü seçmekte özgürdür.

Teşekkür ederim.

Documentation on MQL5: Common Functions / Sleep
Documentation on MQL5: Common Functions / Sleep
  • www.mql5.com
Common Functions / Sleep - Documentation on MQL5
 
angevoyageur :

İlginç fikir. Bunu sorunu tanımlamak için kullanacağım, ancak her biri çözümünü seçmekte özgür olsa da Sleep() işlevini sevmiyorum.

Teşekkür ederim.

Rica ederim, bu çözüm sadece bir geçici çözüm, keneleri kaybedeceğiniz için Sleep'i de sevmiyorum. Muhtemelen semafor/bayraklar ve hatta durum makineleri daha güvenli/verimli/zarif olacaktır.
 
figurelli :
Rica ederim, bu çözüm sadece bir geçici çözüm, keneleri kaybedeceğiniz için Sleep'i de sevmiyorum. Muhtemelen semafor/bayraklar ve hatta durum makineleri daha güvenli/verimli/zarif olacaktır.
Çözümünüzle yaptığım testler, PositionSelect() öğesinin PositionOpen'den (maxcount=0) hemen sonra doğru veya yanlış (maxcount=1) olduğunu gösteriyor. Yani belli ki bir gecikme var. Birisi bunu gerçek bir hesapta test edebilirse ilginç olurdu.
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Account Properties
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Account Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Environment State / Account Properties - Documentation on MQL5