Üç ay önce yazdığım EA şimdi strateji testini geçemiyor, ancak iki veya üç ay önce iyi çalışıyordu!!

 
Üç ay önce yazdığım EA şimdi testi geçemiyor, ancak MetaQuotes-Demo sunucusunda iyi çalışıyordu. Aynı sorunla karşılaşan var mı? Hata kodu her zaman "başarısız anında satış 0.10 EURUSD 1.38103 sl: 1.38253 tp: 1.38053 [Geçersiz istek]" ve " OrderSend # 4756 hatasıyla başarısız oldu ". Sürümüm 5.00 Build 540 . Yardım, tamamen kafam karıştı.
-------------------------------------------------- ---------------------------------
eğer (koşul1)
{
sat.eylem = TRADE_ACTION_DEAL;
sell.type = ORDER_TYPE_SELL;
sell.symbol = _Symbol;
sat.sapma = 0;
sell.price = NormalizeDouble(mtick.bid,_Digits);
sat.hacim = 0.1;
sell.tp = NormalizeDouble(sell.price - mtp*_Point,_Digits);
sell.sl = NormalizeDouble(sell.price + msl*_Point,_Digits);
sell.type_filling = ORDER_FILLING_AON ;
if(OrderSend(sell,result_sell)==yanlış)
{
Print("OrderSend # hatasıyla başarısız oldu",GetLastError());
ResetLastError();
}
}
Documentation on MQL5: Standard Constants, Enumerations and Structures / Trade Constants / Order Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Trade Constants / Order Properties - Documentation on MQL5
 

ZeroMemory (sat) eklemeyi deneyin.

 if (condition1)
{
ZeroMemory (sell);
sell.action = TRADE_ACTION_DEAL ;
sell.type = ORDER_TYPE_SELL ;
sell.symbol = _Symbol ; 
Bu sorunu düzelttik, bir sonraki derlemeyi bekleyin lütfen.
 
Rosh :

ZeroMemory(sat) eklemeyi deneyin.

Bu sorunu düzelttik, bir sonraki derlemeyi bekleyin lütfen.

Rosh, az önce .565'e güncellendi ve aynı mesajı aldı # 4756

ZeroMemory(struct) yardımcı olur. Yani düzeltildi mi yoksa henüz değil mi?

teşekkürler

 
Rosh :

ZeroMemory(sat) eklemeyi deneyin.

Bu sorunu düzelttik, bir sonraki derlemeyi bekleyin lütfen.

Siparişi oluşturmanın tam yolunu izlememe rağmen aynı hatayı alıyorum. Nasıl olur? 597 yapı kullanıyorum.

2012.02.26 20:08:18 çekirdek 1 2012.02.23 08:00:00 Uyarı: Satın Alma siparişi isteği tamamlanamadı -hata:4756

2012.02.26 20:08:18 çekirdek 1 2012.02.23 08:00:00 başarısız piyasa alımı 0.10 EURUSD sl: 1.32438 tp: 1.33738 [Desteklenmeyen doldurma modu]

if(Buy_Condition_3 && Buy_Condition_4)

{

// herhangi bir açık Satın alma pozisyonu var mı?

if(Buy_opened)

{

Alert("Zaten bir Alış Pozisyonumuz var!!!");

dönüş; // Yeni bir Satın Alma Pozisyonu açmayın

}

ZeroMemory(mrequest);

mrequest.action = TRADE_ACTION_DEAL; // anında sipariş yürütme

mrequest.type = ORDER_TYPE_BUY; // Sipariş Al

mrequest.symbol = _Symbol; // döviz çifti

mrequest.deviation=0; // Mevcut fiyattan sapma

mrequest.price = NormalizeDouble(latest_price.ask,_Digits); // son fiyat sorma

mrequest.volume = Çok; // takas edilecek lot sayısı

mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // Kar almak

mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // Kaybı durdurmak

mrequest.type_filling = ORDER_FILLING_AON ; // Emir yürütme türü

//--- sipariş gönder

OrderSend(mrequest,mresult);

// sonuç kodunu al

if(mresult.retcode==10009 || mresult.retcode==10008) //İstek tamamlandı veya sipariş verildi

{

Alert("Bir Satın Alma siparişi başarıyla Ticket#:",mresult.order,"!!");

}

başka

{

Alert("Satın alma talebi tamamlanamadı -error:",GetLastError());

ResetLastError();

dönüş;

}

Documentation on MQL5: Standard Constants, Enumerations and Structures / Trade Constants / Order Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Trade Constants / Order Properties - Documentation on MQL5
 

MQL5 referansında (bugün güncellenen en son sürüm) fark ettim, artık ORDER_FILLING_AON yok, ancak ORDER_FILLING_FOK kullansam bile 4756 hatasıyla karşılaşıyorum. Lütfen öneride bulunun.

ENUM_ORDER_TYPE_FILLING

tanımlayıcı

Tanım

ORDER_FILLING_FOK

İşlem, münhasıran belirli bir hacimde, siparişte belirtilen fiyata eşit veya daha iyi bir fiyata gerçekleştirilebilir. Emir sembolünde yeterli miktarda teklif yoksa, emir gerçekleşmez. Bu doldurma türü, SYMBOL_TRADE_EXECUTION_INSTANT veya SYMBOL_TRADE_EXECUTION_REQUEST yürütme modlarında kullanılır.

ORDER_FILLING_IOC

Emirde belirtilen fiyata eşit veya daha iyi bir fiyatla maksimum piyasa hacmiyle işlemi gerçekleştirmek için yapılan anlaşma. Bu durumda, doldurulmayan hacim için ek bir sipariş verilmeyecektir. Bu doldurma türü , bir ticaret sunucusundaki sembol ayarlarına bağlı olarak SYMBOL_TRADE_EXECUTION_MARKET ve SYMBOL_TRADE_EXECUTION_EXCHANGE yürütme modlarında kullanılır.

ORDER_FILLING_RETURN

Emirde belirtilen fiyata eşit veya daha iyi bir fiyatla maksimum piyasa hacmiyle işlemi gerçekleştirmek için yapılan anlaşma. Bu durumda, doldurulmamış hacim için ek bir sipariş verilecektir. Bu doldurma türü yalnızca bekleyen siparişler için kullanılır ( TRADE_ACTION_PENDING ).

 
Merhaba, MT5'ten vazgeçip MT4'e dönmeden önce herhangi bir yorumunuz var mı? Çok teşekkürler! Aslında her ikisinde de yeniyim ama çok yeni olduğunu bilmeme rağmen önce MT5'i deneyeceğim.
 
lingwuchung :
Merhaba, MT5'ten vazgeçip MT4'e dönmeden önce herhangi bir yorumunuz var mı? Çok teşekkürler! Aslında her ikisinde de yeniyim ama çok yeni olduğunu bilmeme rağmen önce MT5'i deneyeceğim.

Bunu mrequest'ten önce ekleyin:

 ZeroMemory (mrequest);
   ZeroMemory (mresult); 

Seninle aynı sorunu yaşadım ve benim için düzeltti.

 

Şimdi aynı problemim var.

Uzman danışmanlarım çok iyi çalışıyordu. Ama şimdi hepsi test cihazını geçemiyor.

Dosyayı derlediğimde aşağıdaki mesaj gösterilecek:

' ORDER_FILLING_AON ' - bildirilmemiş tanımlayıcı

Bu sorun nasıl çözülebilir??

Bu bir terminal güncellemesinin sonucu mu? (Sürüm 5.00 Yapı 642)

(24 Nisan 2012)

Umarım birisi bana yardım edebilir

Documentation on MQL5: Standard Constants, Enumerations and Structures / Trade Constants / Order Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Trade Constants / Order Properties - Documentation on MQL5
 
lamme.vandriel :

Dosyayı derlediğimde aşağıdaki mesaj gösterilecek:

' ORDER_FILLING_AON ' - bildirilmemiş tanımlayıcı

Bu sorun nasıl çözülebilir??

ORDER_FILLING_AON'u ORDER_FILLING_FOK ile değiştirin (bkz. Sipariş özellikleri )

 
JohnnyDoe :

Bunu mrequest'ten önce ekleyin:

Seninle aynı sorunu yaşadım ve benim için düzeltti.

Merhaba, koda bu 2 satırı ekledim ama 4756 hatası hala burada (Ticaret talebi gönderilemedi).

Lütfen 2 satırı tam olarak nereye eklemem gerektiğini açıklayabilir misiniz? Mrequest ile ilgili olan zaten mevcut. İkisini de eklemek benim için hiçbir şeyi değiştirmez. Yardımın için teşekkür ederim.

rel.5 build 842 çalıştırıyorum.

 ZeroMemory (mrequest);
   ZeroMemory (mresult); 
 
Vivaldi :

Merhaba, koda bu 2 satırı ekledim ama 4756 hatası hala burada (Ticaret talebi gönderilemedi).

Lütfen 2 satırı tam olarak nereye eklemem gerektiğini açıklayabilir misiniz? Mrequest ile ilgili olan zaten mevcut. İkisini de eklemek benim için hiçbir şeyi değiştirmez. Yardımın için teşekkür ederim.

rel.5 build 842 çalıştırıyorum.

Kodunuzu gösterin, bu satırı nereye ekleyeceğinizi size söyleyebilelim.
Neden: