test on EURUSD,H1 (netting) 2020.04.15 15:47:05 failed modify #44 sell 0.2 EURUSD sl: 1.08929, tp: 1.08599 -> sl: 1.08919, tp: 1.08599 [Emir veya pozisyonun piyasaya yakın olması nedeniyle değişiklik başarısız oldu]
Ancak EA'm forex değil WIN$ üzerinde çalışacak. Test cihazı neden hangi varlığın çalıştırılacağını size bildirmiyor?
Şimdi hatası olmayan bir şeyi nasıl düzeltebilirim, çünkü EA mükemmel çalışıyor, sadece ürünü satış için kaydedemiyorum.
test on EURUSD,H1 (netting) 2020.04.15 15:47:05 failed modify #44 sell 0.2 EURUSD sl: 1.08929, tp: 1.08599 -> sl: 1.08919, tp: 1.08599 [Emir veya pozisyonun piyasaya yakın olması nedeniyle değişiklik başarısız oldu]
Ancak EA'm forex değil WIN$ üzerinde çalışacak. Test uzmanı neden hangi varlığın çalıştırılacağını size bildirmiyor?
Şimdi hata olmayan bir şeyi nasıl düzeltebilirim, çünkü EA mükemmel çalışıyor, sadece ürünü satış için kaydedemiyorum.
Robot herhangi bir varlık üzerinde çalışmaya hazır olmalıdır....
Yukarıda belirtilen hatayı düzeltmek için, pozisyonu değiştirmeden önce aşağıdaki kontrolü gerçekleştirmelisiniz:
//+--------------------------------------------------------------------------------------------------------------------+//| TakeProfit/StopLoss ile kapanış fiyatı arasındaki mesafenin SYMBOL_TRADE_STOPS_LEVEL | değerinden büyük olup olmadığını kontrol eder//+--------------------------------------------------------------------------------------------------------------------+bool Check_SL_TP(ENUM_ORDER_TYPE type, double SL, double TP)
{
//--- Yerel değişkenlerbool SL_check = false, TP_check = false;
//--- Mevcut sembol için son fiyatı belirlerdouble BID = SymbolInfoDouble(_Symbol, SYMBOL_BID);
double ASK = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
//--- SYMBOL_TRADE_STOPS_LEVEL seviyesini alınint stops_level = (int)SymbolInfoInteger(_Symbol, SYMBOL_TRADE_STOPS_LEVEL);
if(stops_level != 0)
{
PrintFormat("SYMBOL_TRADE_STOPS_LEVEL=%d: StopLoss and TakeProfit must not be nearer than %d points from the closing price", stops_level, stops_level);
}
//--- sadece iki sipariş türünü kontrol edinswitch(type)
{
//--- Satın alma işlemicaseORDER_TYPE_BUY:
{
//--- StopLoss'u kontrol edin
SL_check = (BID - SL > stops_level * _Point);
if(!SL_check)
{
ERRMSG = StringFormat("For order %s StopLoss=%.5f must be less than %.5f (Bid=%.5f - SYMBOL_TRADE_STOPS_LEVEL=%d points)", EnumToString(type), SL, BID - stops_level * _Point, BID, stops_level);
}
//--- TakeProfit'i kontrol edin
TP_check = (TP - BID > stops_level * _Point);
if(!TP_check)
{
ERRMSG = StringFormat("For order %s TakeProfit=%.5f must be greater than %.5f (Bid=%.5f + SYMBOL_TRADE_STOPS_LEVEL=%d points)", EnumToString(type), TP, BID + stops_level * _Point, BID, stops_level);
}
//--- kontrolün sonucunu döndürürreturn(SL_check && TP_check);
}
//--- Satış işlemicaseORDER_TYPE_SELL:
{
//--- StopLoss'u kontrol edin
SL_check = (SL - ASK > stops_level * _Point);
if(!SL_check)
{
ERRMSG = StringFormat("For order %s StopLoss=%.5f must be greater than %.5f (Ask=%.5f + SYMBOL_TRADE_STOPS_LEVEL=%d points)", EnumToString(type), SL, ASK + stops_level * _Point, ASK, stops_level);
}
//--- TakeProfit'i kontrol edin
TP_check = (ASK - TP > stops_level * _Point);
if(!TP_check)
{
ERRMSG = StringFormat("For order %s TakeProfit=%.5f must be less than %.5f (Ask=%.5f - SYMBOL_TRADE_STOPS_LEVEL=%d points)", EnumToString(type), TP, ASK - stops_level * _Point, ASK, stops_level);
}
//--- kontrolün sonucunu döndürürreturn(TP_check && SL_check);
}
break;
}
//--- Doğrulama başarılıreturn(false);
}
Aşağıdaki makalede robot tarafından yapılması gereken diğer kontrolleri görün:
Merhaba, eski ürünlerimden birinin ürün açıklamasını düzenleyemiyorum.
Açıklamayı yeniden yazmak, piyasadan gizlemek vb. dahil olmak üzere çeşitli forumlardaki talimatları izledim, ancak açıklama hala orijinal sürüme geri dönüyor.
Artık ürünü markete geri yükleyemiyorum ve düzenleyemiyorum. Forumlarda bu konuyla ilgili yardım talep ettim ancak henüz bir yardım alamadım.
"Ürün açıklamasını düzenleyememe" sorununu nasıl çözebilirim? Lütfen yardımcı olun
İşlem emirlerini göndermeden önce, emirde belirtilen hacimlerin doğru olup olmadığını da kontrol etmek gerekir. Uzman Danışmanın emirde belirteceği lot sayısı, OrderSend() işlevi çağrılmadan önce kontrol edilmelidir. Finansal araçlar içinŞartname, alım satım için izin verilen minimum ve maksimum hacimlerin yanı sıra hacim derecelendirmesini de belirtir . Bu değerleri MQL5'teSymbolInfoDouble() fonksiyonunu kullanarak ENUM_SYMBOL_INFO_DOUBLE numaralandırmasından alabilirsiniz.
//+------------------------------------------------------------------+//| Sipariş hacminin doğruluğunu kontrol eder ||//+------------------------------------------------------------------+bool CheckVolumeValue(double volume,string &description)
{
//--- alim satim i̇şlemleri̇ i̇çi̇n i̇zi̇n veri̇len asgari̇ haci̇mdouble min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
if(volume<min_volume)
{
description=StringFormat("İzin verilen minimum hacimden daha az hacim SYMBOL_VOLUME_MIN=%.2f",min_volume);
return(false);
}
//--- alım satım işlemleri için izin verilen maksimum hacimdouble max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
if(volume>max_volume)
{
description=StringFormat("Hacim, izin verilen maksimum hacimden büyük SYMBOL_VOLUME_MAX=%.2f",max_volume);
return(false);
}
//--- minimum hacim derecelendirmesini elde edindouble volume_step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);
int ratio=(int)MathRound(volume/volume_step);
if(MathAbs(ratio*volume_step-volume)>0.0000001)
{
description=StringFormat("Hacim minimum derecelendirmenin katı değil SYMBOL_VOLUME_STEP=%.2f, en yakın doğru hacim %.2f",
volume_step,ratio*volume_step);
return(false);
}
description="Doğru hacim değeri";
return(true);
}
Yardımcı olmadı, başka bir kodu düzeltebilir miyim?
İşlem emirlerini göndermeden önce, emirde belirtilen hacimlerin doğru olup olmadığını da kontrol etmek gerekir. Uzman Danışmanın emirde belirteceği lot sayısı, OrderSend() işlevi çağrılmadan önce kontrol edilmelidir. Finansal araçlar içinŞartname, alım satım için izin verilen minimum ve maksimum hacimlerin yanı sıra hacim derecelendirmesini de belirtir . Bu değerler MQL5'teSymbolInfoDouble() fonksiyonu kullanılarak ENUM_SYMBOL_INFO_DOUBLE numaralandırmasından elde edilebilir
Yardımcı olmadı, başka bir kodu düzeltebilir miyim?
Senaryoyu nasıl geliştireceğimi söyleyebilir misiniz?
Makaleyi tamamen okuyun, 'CheckVolumeValue' giriş parametrelerinin doğruluğunun kontrolüdür.
Ve ayrıca doğru lot yuvarlama kontrolü de vardır ...
Предлагаю свой набор торговых функций в виде готового советника. Представленный способ позволяет получать множество торговых стратегий простым добавлением индикаторов и изменением входных параметров.
EA'm yeni bir ürün kaydederken hata veriyor:
test on EURUSD,H1 (netting) 2020.04.15 15:47:05 failed modify #44 sell 0.2 EURUSD sl: 1.08929, tp: 1.08599 -> sl: 1.08919, tp: 1.08599 [Emir veya pozisyonun piyasaya yakın olması nedeniyle değişiklik başarısız oldu]
Ancak EA'm forex değil WIN$ üzerinde çalışacak. Test cihazı neden hangi varlığın çalıştırılacağını size bildirmiyor?
Şimdi hatası olmayan bir şeyi nasıl düzeltebilirim, çünkü EA mükemmel çalışıyor, sadece ürünü satış için kaydedemiyorum.
EA'm yeni bir ürün kaydederken hata veriyor:
test on EURUSD,H1 (netting) 2020.04.15 15:47:05 failed modify #44 sell 0.2 EURUSD sl: 1.08929, tp: 1.08599 -> sl: 1.08919, tp: 1.08599 [Emir veya pozisyonun piyasaya yakın olması nedeniyle değişiklik başarısız oldu]
Ancak EA'm forex değil WIN$ üzerinde çalışacak. Test uzmanı neden hangi varlığın çalıştırılacağını size bildirmiyor?
Şimdi hata olmayan bir şeyi nasıl düzeltebilirim, çünkü EA mükemmel çalışıyor, sadece ürünü satış için kaydedemiyorum.
Robot herhangi bir varlık üzerinde çalışmaya hazır olmalıdır....
Yukarıda belirtilen hatayı düzeltmek için, pozisyonu değiştirmeden önce aşağıdaki kontrolü gerçekleştirmelisiniz:
Aşağıdaki makalede robot tarafından yapılması gereken diğer kontrolleri görün:
Bir ticaret robotu Piyasada yayınlanmadan önce hangi testlerden geçmelidir - MQL5 Makaleleri
Merhaba, eski ürünlerimden birinin ürün açıklamasını düzenleyemiyorum.
Açıklamayı yeniden yazmak, piyasadan gizlemek vb. dahil olmak üzere çeşitli forumlardaki talimatları izledim, ancak açıklama hala orijinal sürüme geri dönüyor.
Artık ürünü markete geri yükleyemiyorum ve düzenleyemiyorum. Forumlarda bu konuyla ilgili yardım talep ettim ancak henüz bir yardım alamadım.
"Ürün açıklamasını düzenleyememe" sorununu nasıl çözebilirim? Lütfen yardımcı olun
Uzman Danışmanı yüklerken ve test ederken bir hata yazıyor, nasıl düzeltileceğini anlamıyorum.
EURUSD, H1 üzerinde test (netleştirme)
2020.04.14 00:24:42 1.09044'ten 0.01 EURUSD anında alım başarısız oldu [Geçersiz hacim]
2020.04.14 00:24:45 1.09044'ten 0.01 EURUSD anında alım başarısız oldu [Geçersiz hacim]
2020.04.14 00:24:48 1.09037'den 0.01 EURUSD anında alım başarısız oldu [Geçersiz hacim]
2020.04.21 00:01:34 failed instant buy 0.01 EURUSD at 1.08626 [Invalid volume]
2020.04.21 00:01:37 1,08626'da 0,01 EURUSD anında alım başarısız oldu [Geçersiz hacim]
2020.04.21 00:01:40 failed instant buy 0.01 EURUSD at 1.08626 [Invalid volume]
2020.04.27 16:08:24 failed instant sell 0.01 EURUSD at 1.08546 [Invalid volume]
2020.04.27 16:08:27 1,08548'de 0,01 EURUSD anında satış başarısız oldu [Geçersiz hacim]
2020.04.27 16:08:30 1.08547'de 0.01 EURUSD anında satış başarısız oldu [Geçersiz hacim]
2020.04.29 20:15:52 1.08565'te 0.01 EURUSD anında satış başarısız oldu [Geçersiz hacim]
2020.04.29 20:15:55 1.08566'da 0.01 EURUSD anında satış başarısız oldu [Geçersiz hacim]
2020.04.29 20:15:58 1,08566'da 0,01 EURUSD anında satış başarısız oldu [Geçersiz hacim]
2020.05.18 00:12:09 failed instant buy 0.01 EURUSD at 1.08134 [Invalid volume]
2020.05.18 00:12:12 1,08134'ten 0,01 EURUSD anında alım başarısız oldu [Geçersiz hacim]
2020.05.18 00:12:15 failed instant buy 0.01 EURUSD at 1.08143 [Invalid volume]
2020.05.21 15:50:25 1.10031'de 0.01 EURUSD anında satış başarısız oldu [Geçersiz hacim]
2020.05.21 15:50:28 başarısız anlık satış 0,01 EURUSD 1,10034 [Geçersiz hacim]
2020.05.21 15:50:31 1.10036'da 0.01 EURUSD anında satış başarısız oldu [Geçersiz hacim]
2020.05.25 19:00:05 1,08950'den 0,01 EURUSD anında alım başarısız oldu [Geçersiz hacim]
2020.05.25 19:00:08 1,08951'den 0,01 EURUSD anında alım başarısız oldu [Geçersiz hacim]
2020.05.25 19:00:11 1,08952'den 0,01 EURUSD anında alım başarısız oldu [Geçersiz hacim]
herhangi bir ticari faaliyet bulunmamaktadır
Uzman Danışmanı yüklerken ve test ederken bir hata yazıyor, nasıl düzeltileceği belli değil.
EURUSD, H1 üzerinde test (netleştirme)
2020.04.14 00:24:42 1.09044'ten 0.01 EURUSD anında alım başarısız oldu [Geçersiz hacim]
***
Oku, kodun içine koy
Ticaret işlemlerinde yanlış hacimler
İşlem emirlerini göndermeden önce, emirde belirtilen hacimlerin doğru olup olmadığını da kontrol etmek gerekir. Uzman Danışmanın emirde belirteceği lot sayısı, OrderSend() işlevi çağrılmadan önce kontrol edilmelidir. Finansal araçlar içinŞartname, alım satım için izin verilen minimum ve maksimum hacimlerin yanı sıra hacim derecelendirmesini de belirtir . Bu değerleri MQL5'teSymbolInfoDouble() fonksiyonunu kullanarak ENUM_SYMBOL_INFO_DOUBLE numaralandırmasından alabilirsiniz.
Yardımcı olmadı, başka bir kodu düzeltebilir miyim?
Kodu nasıl geliştireceğimi söyleyebilir misiniz?
Oku, kodun içine koy
Ticaret işlemlerinde yanlış hacimler
İşlem emirlerini göndermeden önce, emirde belirtilen hacimlerin doğru olup olmadığını da kontrol etmek gerekir. Uzman Danışmanın emirde belirteceği lot sayısı, OrderSend() işlevi çağrılmadan önce kontrol edilmelidir. Finansal araçlar içinŞartname, alım satım için izin verilen minimum ve maksimum hacimlerin yanı sıra hacim derecelendirmesini de belirtir . Bu değerler MQL5'teSymbolInfoDouble() fonksiyonu kullanılarak ENUM_SYMBOL_INFO_DOUBLE numaralandırmasından elde edilebilir
Yardımcı olmadı, başka bir kodu düzeltebilir miyim?
Senaryoyu nasıl geliştireceğimi söyleyebilir misiniz?
Makaleyi tamamen okuyun, 'CheckVolumeValue' giriş parametrelerinin doğruluğunun kontrolüdür.
Ve ayrıca doğru lot yuvarlama kontrolü de vardır ...
Açık pozisyonun hacmi ve bekleyen emirlerdeki hacim dikkate alındığında, son kontrol şu şekilde görünecektir:
eklemek?
checkvolumevalue.mq5 burada yazıldığı gibi
Eklemek mi?
checkvolumevalue.mq5 burada yazıldığı gibi
Gerekli tüm kontroller makalede Bir EA oluşturmak için neredeyse bir kurucu
Daha önce sorulan kod uygun mu?
Makaleden gerekli satırları yazabilirsiniz.