Üç ay önce yazdığım EA şimdi strateji testini geçemiyor, ancak iki veya üç ay önce iyi çalışıyordu!!
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.
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
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üş;
}
- www.mql5.com
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.
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.
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
- www.mql5.com
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 )
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);
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.
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
-------------------------------------------------- ---------------------------------
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();
}
}