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

 
Klammeraffe :

"Her tik" ile ilgili satır, artık olmamasının nedeni olabilir.

İşlev yalnızca yeni bir çubuk göründüğünde yürütülür. Bu nedenle, büyük olasılıkla, bir çubuğun yalnızca ilk işareti bir ticaret gerçekleştirebilir. İlk çubuktan sonra, kod yeni çubuk görünene kadar bir 'dönüş' olur. Belki bu benim için çözdü.

Sanırım bu kod parçası makalelerden:

Bu başka bir çözümdür, ancak komisyoncu veya başka bir yerde herhangi bir hata dönüşü varsa, tekrar tekrar kontrol etmek için bir döngü tutmadığınız sürece sinyaliniz artık geçerli değildir.
 
doshur :
  • Başlangıçta doshur tarafından yayınlanan kod, hiçbir işlem açılmamışken neden "Pozisyon açıldı..." günlüğünde görebildiğini açıklayabilir. Bunun nedeni, PositionOpen() işlevi doğru olsa bile, bu bir ticaretin yapıldığı anlamına gelmez. belgelere bakın . Ancak neden "çifte" bir ticaretin yapıldığını açıklayamaz.
düzeltme. Çift "Pozisyon açıldı..." var ve 2 işlem açıldı.
Elbette. Demek istediğim "neden görebiliyordu...". Buradaki nokta, kodunuzda bu 2 işlemi neden aldığınızı açıklayabilecek hiçbir şey olmamasıdır.
 
angevoyageur :
Elbette. Demek istediğim "neden görebiliyordu...". Buradaki nokta, kodunuzda bu 2 işlemi neden aldığınızı açıklayabilecek hiçbir şey olmamasıdır.
Tamam. Anlamak.
 
angevoyageur :

Bu sorunun arkasındaki nedeni bulmanın çok önemli olduğunu düşünüyorum, tabii ki biz neler olduğunu tam olarak anlayana kadar bir geçici çözüme (Uyku?) sahip olmak da önemlidir. Bu yüzden durumu devam ettirmeye çalışıyorum:

* CTrade sınıfından PositionOpen yöntemini kullanırken, aynı anda en az 3 kullanıcı, 1 yerine aynı yönde 2 işlem aldı ve beklenenden iki kat daha fazla hacme sahip bir pozisyona neden oldu.

Her iki yöntemi de kullanıyorum, yeni pozisyon = "eski moda yol" açmak, stoploss = "CTrade sınıfını" değiştirmek.


* Bu sorun, Depth of Market'in etkinleştirildiği bir sembolle aynı broker üzerinde ortaya çıkıyor gibi görünüyor (ilgili kişiler bunu onaylayabilir mi lütfen).

Evet, X komisyoncusunun sunucusu, Pazar Derinliği etkinleştirildi.


* Bu sorun senkron sıralamada oluşuyor, asenkron sıralama kullanılmadı (lütfen onaylayın).

Evet, asenkron sipariş kullanılmadı.


* Sorun rastgele oluşur.

Evet, ancak yalnızca yoğun piyasa saatlerinde ( makro ekonomik olaylar).



 

Bana göre bu sorun kolayca çözülebilir.


EA, "PositionSelect(Symbol())" işlevi kullanılıyorsa ve terminal, kodun yürütülmesine devam etmeden önce işlevin verilerini güncellediyse, her zaman bir yanıt/cevap beklemelidir.

"OrderSend(mrequest,mresult)" işlevi kullanılıyorsa ve terminal, kodun yürütülmesine devam etmeden önce işlevin verilerini güncellediyse, EA her zaman bir yanıt/yanıt beklemelidir.


Terminalin kendisinden de bahsediyorum çünkü fonksiyonun verileri terminale kopyalanacak ve bu da biraz zaman alacak.

Bu şekilde, mevcut konum boyutu her zaman doğru bir şekilde hesaplanacak, böylece çift sıra artık gerçekleşmeyecek .


Ne düşünüyorsun?

 
snelle_moda :

Bana göre bu sorun kolayca çözülebilir.


EA, "PositionSelect(Symbol())" işlevi kullanılıyorsa ve terminal, kodun yürütülmesine devam etmeden önce işlevin verilerini güncellediyse, her zaman bir yanıt/cevap beklemelidir.

"OrderSend(mrequest,mresult)" işlevi kullanılıyorsa ve terminal, kodun yürütülmesine devam etmeden önce işlevin verilerini güncellediyse, EA her zaman bir yanıt/yanıt beklemelidir.


Terminalin kendisinden de bahsediyorum çünkü fonksiyonun verileri terminale kopyalanacak ve bu da biraz zaman alacak.

Bu şekilde, mevcut konum boyutu her zaman doğru bir şekilde hesaplanacak, böylece çift sıra artık gerçekleşmeyecek .


Ne düşünüyorsun?

"Her zaman bir yanıt bekle..." ile ne demek istediğinizden emin değil misiniz?

Her neyse, tavsiye istemek için ServiceDesk'e bir talepte bulundum. Göreceğiz.

 
angevoyageur :

"Her zaman bir yanıt bekle..." ile ne demek istediğinizden emin değil misiniz?

Her neyse, tavsiye istemek için ServiceDesk'e bir talepte bulundum. Göreceğiz.

"Her zaman bir yanıt bekle..." derken ne demek istediğinden emin değil misin?


EA, PositionSelect(Symbol()) işlevi bir konumla ilgili verileri program ortamına kopyalamayı tamamlayana kadar beklemeli/durmalıdır.

Bunu zorunlu bir uyku() işlevi olarak görün.

 
snelle_moda :

"Her zaman bir yanıt bekle..." derken ne demek istediğinden emin değil misin?


EA, PositionSelect(Symbol()) işlevi bir konumla ilgili verileri program ortamına kopyalamayı tamamlayana kadar beklemeli/durmalıdır.

Bunu zorunlu bir uyku() işlevi olarak görün.

Tamam anlaşıldı. Ama böyle bir çözümle kendimi tatmin edemiyorum , ya anlamadığımız bir şey var ya da bir yerde bir hata var.
 
Sadece bir çözüm olacağını umuyorum.

neyse herkese mutlu noeller.
 
Servis masasından herhangi bir güncelleme var mı?