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
MT4 arkadaşlarımız üzülmesin diye ara sıra tüm açık siparişleri siliyorum.
Bu sorunu geri testte alacaksınız ama bu bir komut dosyası sorunu değil .. MT4 geriye dönük test sorunu.
Devam ederse, lütfen bana bildirin veya sorunu gösteren bazı raporlar gönderin...
teşekkürler ve saygılar,
sarılmak
Danışman, verdiğim yorum "GridEURUSD" ile ızgarayı oluşturuyor. Bu yorum, sipariş beklediği sürece Yorum Alanında kalır. Sipariş etkinleştirilirse, yorum "etkinleştir/otomatik" olarak değişir. Sonuçta, bu davranışın açıklanan soruna yol açtığı açıktır.
Alpari ile ticaret yapıyorum. Demo hesaplarda MT4'ü destekliyorlar
Bu davranışı, yani sıranın büyüsünü ızgara için tanımlayıcı olarak kullanıp kullanamayacağımı kontrol edeceğim ve sonuçları size bildireceğim.
Bunu test ederken, ızgara için temizleme komut dosyasında da değişiklikler yaptım. Açık siparişleri kapatmak için de işlevsellik ekledim. Ne yazık ki, açık bir siparişi kapatmaya çalışırsam, Sipariş kilitli anlamına gelen 129 hatası alıyorum. Ancak verilen ızgara için bekleyen tüm siparişleri siler.
kori
işe yararsa bana haber ver ve sihri kullanacağım.. çünkü komisyoncunun böyle garip şeyler yaptığının farkında değildim!!
teşekkürler ve saygılar,
sarılmak
gridMaker'ı yorum yerine OrderMagicNumber kullanacak şekilde değiştirdim. Ayrıca yorumu oluşturma konusunda bazı küçük değişiklikler yaptım.
İşte sonuç.
saygılarımla, cori
Kendimde birkaç değişiklik yaptığım için, değişikliklerinizi daha yeni sürüme entegre ettim.
1 küçük değişiklik yaptım: mevcut ızgaralarımı aktif tutmak için büyü VEYA ızgara adı üzerinde bir test yaptım ...
doğru yapıp yapmadığımı kontrol edebilir misin?
Iyi gorunuyor. Ancak GridName'i extern olarak tanımlamanız gerekir, ki bunu değiştirmiştim, çünkü buna parametre olarak ihtiyacım yoktu.
selamlar, cori
Satırı değiştirebilirsiniz:
if (MathAbs( OrderOpenPrice() - atRate ) < inRange) // tam fiyatı değil fiyat yakınlığını arayın (ızgara boyutundan küçük)
ile
if (MathAbs( OrderOpenPrice() - atRate ) < (inRange*0.9)) // tam fiyatı değil fiyat yakınlığını arayın (ızgara boyutundan daha az) - kayan nokta hataları nedeniyle 0.9 eklendi
ve bu sorunu düzeltir.
Rahatsızlık için özür dilerim...
sarılmak
Bu Sorun zaten orada mı?
Eski MQL2'de benzer bir şey buldum.
Bu sorunu aşmanın gerçekten kesin yolu şöyle bir şey yapmaktır:
int intOOP = MathRound( OrdeOpenPrice() / Nokta);
tüm çift değişkenleriniz için. O zaman hatasız karşılaştırılabilir tüm düz int değişkenleriniz var.
Açık ve anlaşılır olması için yazması biraz daha fazla ama daha az hatalı.
saygılarımla,
kori
Saygılarımızla,
sarılmak
1) UseMACD, wantLongs, wantShorts mantığını değiştirdi. Daha önce, useMACD ayarlanmışsa, EA, wnatLongs ve wantShorts bayraklarından bağımsız olarak uzunları ve kısaları alıyordu. Şimdi, useMACD bu bayrakları geçersiz kılmaz, böylece yalnızca useMACD ile uzun veya yalnızca kısa olabilirsiniz.
2) EMA34 limiti ayarlanmışsa, EMA'nın yanlış tarafında açık sipariş olmadığından emin olmak için ek bir kontrol ekledim. Eskiden siparişler EMA'nın çok üstüne veya altına yerleştirildi, ancak birkaç saat sonra EMA taşındı.. yani EMA'nın her iki tarafında da siparişler vardı.
3) OrderType() üzerindeki switch ifadesinde bir hata var gibi görünüyor. Ne olduğundan emin değilim ama gerçekten komik davranıyor. Sadece switch deyimlerini kaldırdım ve yerine "if" koydum... hoşuma gitmedi ama işe yarıyor!
4) EMA periyodu değişkenini yaptım... geriye dönük test için güzel ..
Birisi isterse birkaç eşlik eden komut dosyam da var:
1) bir çift için doldurulmamış açık siparişleri kaldırmak için
2) tek seferde tüm çiftler için tüm açık siparişleri kaldırmak için
3) tüm pozisyonları kapatmak ve açık emirleri kaldırmak.
4) açık pozisyonlardan ve geçmişten şebeke davranışı hakkında bazı basit istatistikler elde etmek.
İşte V1.08'in kodu: