Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Alım ve satımlarım oldu.
Bu geriye dönük test, alım satım mı yaptı yoksa sadece bir tanesi mi? Benimle sadece alım var (veya sadece kodu değiştirdiğimde satıyorum). Gerçekten bir hata gösteren hiçbir şey görmedim.
bu RSIFilter_v1... Bunu bilmiyorum...
burada gösterdiğiniz kod bunu yapmak zorunda ...
İşte yaptığım şey... eklere bakın.
Yani bu tamam mı?
double Sg=iCustom(NULL,0,"RSIFilter_v1",5,5,0,1);
if ( Sg>0) Sıra = SIGNAL_BUY;
if (Sg<0 ) Sıra = SIGNAL_SELL;Modelleme kalitesi %90 olmalı, neden göstermiyor bilmiyorum.
Sanırım uyumsuz hatalardan kaynaklanıyor. Backtester , birkaç sürümden bu yana bu sorunu yaşıyor. Kötü veriler yüzünden olduğunu duydum.
FerruFx
boole eşleşme hatası
Herkese selam, bu hatayı alıyorum ve nasıl çözeceğimi anlamıyorum, farklı türdeki değişkenleri eşleştirme sorunu olduğunu düşünüyorum
işte kod parçası
çift
Satın AlmaKoşul,
SatDurum,
DurUzun,
Satışı Durdur;
göstergeler
çift gösterge1,
gösterge2
gösterge 3; (ama int)
yani o şartları istiyorum
StopLong = ((SellValueCurrent !=0 && SellValueCurrent2 !=0) || (TrendEnvDown != EMPTY_VALUE));
StopSell = ((BuyValueCurrent !=0 && BuyValueCurrent2 !=0) || (TrendEnvUp != EMPTY_VALUE));öyleyse neden bazen 1'e ihtiyacım varken 0'ım yok ve bazen her ikisine de 1'im var ya da bunlardan biri 1 olmalı mı? bu şimdi benim için hiç mantıklı değil neden yanlış? Lütfen bana yardım et!!!
ps satış değeri ve satın alma değeri çifttir
Bunu düzeltmek için daha fazla koda ihtiyacım var ...
dilerseniz mq4'ünüzü yayınlayın
Herkese selam, bu hatayı alıyorum ve nasıl çözeceğimi anlamıyorum, farklı türdeki değişkenleri eşleştirme sorunu olduğunu düşünüyorum
işte kod parçası
çift
Satın AlmaKoşul,
SatDurum,
DurUzun,
Satışı Durdur;
göstergeler
çift gösterge1,
gösterge2
gösterge 3; (ama int)
yani o şartları istiyorum
StopLong = ((SellValueCurrent !=0 && SellValueCurrent2 !=0) || (TrendEnvDown != EMPTY_VALUE));
StopSell = ((BuyValueCurrent !=0 && BuyValueCurrent2 !=0) || (TrendEnvUp != EMPTY_VALUE));öyleyse neden bazen 1'e ihtiyacım varken 0'ım yok ve bazen her ikisine de 1'im var ya da bunlardan biri 1 olmalı mı? bu şimdi benim için hiç mantıklı değil neden yanlış? Lütfen bana yardım et!!!
ps satış değeri ve alış değeri çiftBirşeyler yanlış gidiyor. Demo hesabı tamamen silindi.
İşte uzman günlüğünden yüzlerce "Sipariş Kapatma işlevi için geçersiz fiyat" içeren küçük bir bölüm:
209.23 sl'de GBPJPY: 212.23 tp: 208.23 tamam
10:00:04 2730_BasketVentilatorVoorProg_2 GBPCHF,H1: geçersiz fiyat 2.02750000
OrderClose işlevi için
10:00:04 2730_BasketVentilatorVoorProg_2 EURUSD,H1: geçersiz fiyat 1.55750000
OrderClose işlevi için
10:00:04 2730_BasketVentilatorVoorProg_2 GBPCHF,H1: kapat #11685361 sat
2.0270 sl'de 0.10 GBPCHF: 2.0570 tp: 2.0170, 2.0275 fiyatında
10:00:05 2730_BasketVentilatorVoorProg_2 USDCHF,H1: geçersiz fiyat 1.03350000
OrderClose işlevi için
10:00:05 2730_BasketVentilatorVoorProg_2 EURUSD,H1: geçersiz fiyat 1.55740000
OrderClose işlevi için
bu, OrderClose için parçadaki kısımdır,
Bunda neyin yanlış olduğunu anlamıyorum, belki biri yardım edebilir?
//----------------------
int l_ord_total_72 = OrdersTotal();
for (int l_pos_76 = 0; l_pos_76 < l_ord_total_72; l_pos_76++) {
if (OrderSelect(l_pos_76, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol() == Symbol()) {
l_cmd_80 = OrderType();
if (l_cmd_80 == OP_BUY) {
l_count_56++;
if (l_isar_48 > Kapat[0]) OrderClose(OrderTicket(), OrderLots(), Bid, 3, Violet);
}
if (l_cmd_80 == OP_SELL) {
l_count_60++;
if (l_isar_48 < Kapat[0]) OrderClose(OrderTicket(), OrderLots(), Ask, 3, Violet);
}
}
}
}
//--------------------Belki komisyoncudan yeni fiyatlar aldınız, hata alırsanız OrderClose'dan önce RefreshRates fonksiyonunu kullanmayı deneyin.
Sipariş Kapatma hatası
Birşeyler yanlış gidiyor. Demo hesabı tamamen silindi.
İşte uzman günlüğünden yüzlerce "Sipariş Kapatma işlevi için geçersiz fiyat" içeren küçük bir bölüm:
209.23 sl'de GBPJPY: 212.23 tp: 208.23 tamam
10:00:04 2730_BasketVentilatorVoorProg_2 GBPCHF,H1: geçersiz fiyat 2.02750000
OrderClose işlevi için
10:00:04 2730_BasketVentilatorVoorProg_2 EURUSD,H1: geçersiz fiyat 1.55750000
OrderClose işlevi için
10:00:04 2730_BasketVentilatorVoorProg_2 GBPCHF,H1: kapat #11685361 sat
2.0270 sl'de 0.10 GBPCHF: 2.0570 tp: 2.0170, 2.0275 fiyatında
10:00:05 2730_BasketVentilatorVoorProg_2 USDCHF,H1: geçersiz fiyat 1.03350000
OrderClose işlevi için
10:00:05 2730_BasketVentilatorVoorProg_2 EURUSD,H1: geçersiz fiyat 1.55740000
OrderClose işlevi için
bu, OrderClose için parçadaki kısımdır,
Bunda neyin yanlış olduğunu anlamıyorum, belki biri yardım edebilir?
//----------------------
int l_ord_total_72 = OrdersTotal();
for (int l_pos_76 = 0; l_pos_76 < l_ord_total_72; l_pos_76++) {
if (OrderSelect(l_pos_76, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol() == Symbol()) {
l_cmd_80 = OrderType();
if (l_cmd_80 == OP_BUY) {
l_count_56++;
if (l_isar_48 > Kapat[0]) OrderClose(OrderTicket(), OrderLots(), Bid, 3, Violet);
}
if (l_cmd_80 == OP_SELL) {
l_count_60++;
if (l_isar_48 < Kapat[0]) OrderClose(OrderTicket(), OrderLots(), Ask, 3, Violet);
}
}
}
}
//--------------------
Derleme hata vermiyor.
bunu düzeltmek için daha fazla koda ihtiyacınız var ... dilerseniz mq4'ünüzü yayınlayın
hayır hepsini yayınlamak istemiyorum ama değişkenlerin tür eşleşmesiyle ilgili bir sorun olduğunu düşünüyorum daha fazla açıklamaya çalışacağım
gösterge1 e 2 çift sağ
bu yüzden buyvaluecurrent = icustom(gösterge1 vb.);
buyvaluecurrent2 = icustom(gösterge2 vb.);
sellvaluecurrent = icustom(gösterge1 vb.); // çiftler değil mi?
trendendvup =icustom (gösterge3 vb.); //int
ve benzeri
yani buycondition= ((buyvaluecurrent !=0 && buyvaluecurrent2 !=0) && (trendenvup != Empty_Value );
bu ifade yalnızca bazen çalışır ve ayrıca bir sorun olabilir, bu yüzden sorum neden? bool veya double türü ne olursa olsun buycondition'un 1 veya 0 döndürmesini istiyorum
Belki komisyoncudan yeni fiyatlar aldınız, hata alırsanız OrderClose'dan önce RefreshRates fonksiyonunu kullanmayı deneyin.
Evet teşekkür ederim!
iCustom göstergelerinin ne gönderdiğine bağlı olarak...
çift satınalma değericurrent = iCustom(gösterge1);
double buyvaluecurrent2 = iCustom(gösterge2);
çift satış değericurrent = iCustom(gösterge1);
int trendendvup = iCustom(gösterge3);
böyle...
if((buyvaluecurrent !=0 && buyvaluecurrent2 !=0) && (trendenvup !=0)) {buycondition=0;}
if((buyvaluecurrent !=0 && buyvaluecurrent2 !=0) && (trendenvup !=1)) {buycondition=1;}
sadece "&&" ve bazı koşulları kullanarak satın alma durumunuza bir bool alamazsınız, if() işlevini kullanın...
umarım bu yardımcı olur, yoksa biraz daha yakın
hayır hepsini yayınlamak istemiyorum ama değişkenlerin tür eşleşmesiyle ilgili bir sorun olduğunu düşünüyorum daha fazla açıklamaya çalışacağım
gösterge1 e 2 çift sağ
bu yüzden buyvaluecurrent = icustom(gösterge1 vb.);
buyvaluecurrent2 = icustom(gösterge2 vb.);
sellvaluecurrent = icustom(gösterge1 vb.); // çiftler değil mi?
trendendvup =icustom (gösterge3 vb.); //int
ve benzeri
yani buycondition= ((buyvaluecurrent !=0 && buyvaluecurrent2 !=0) && (trendenvup != Empty_Value);
bu ifade yalnızca bazen çalışır ve ayrıca bir sorun olabilir, bu yüzden sorum neden? bool veya double türü ne olursa olsun buycondition öğesinin 1 veya 0 döndürmesini istiyorum