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
Bu, for döngüm sırasında Günlük'te yazdırılıyor, burada, bekleyen bir Satın Alma Durdurma Emri olması durumunda, 60 EMA, OrderStopLoss'tan > ise, bekleyen siparişi kapatacak, yeni SL ile yeni bir tane açacaktır. 60EMA'nın arkasında), 1:2 ödülünü eğlendirmek için kârı al ayarını yapın ve puanlardaki durma noktasına ve risk profilime göre lotları değiştirin (%2 diyelim).
Yani tüm bunlar yapılırken, OrderSend içindeki "LotSize" özel değişkeni olan "Mevcut Lotlar" çalışıyor, sunucunun alması için doğru olmayan bir lot boyutu mu gönderiyor? "0.18215"? Bu, siparişlerin her halükarda gönderilmesine rağmen bir sorun olabilir mi - bu soru daha çok ""OrderType==OP_BUY" arayamamın nedeni bu olabilir mi?
Bunu düzeltmeli, parti boyutunu zaten sahip olduğunuz şekilde doğrulamalısınız. . . zaten sahip olduğunuz koda göre bunu yapmak için ayrı bir işlev bile kodlayabilirsiniz. . . örneğin:
OrderSend() içinde LotSize kullanmak yerine ValidateLots(LotSize) kullanırsınız.
Yine de sorununuza bunun neden olduğundan şüpheliyim. . .
Ah! Çok sinir bozucu lol - çok uzun zamandır buna takıldım :(
Bunun neden bir sorun olduğunu anlayamıyorum ve bir "OP_BUY" seçemiyorum... Bu konuyu muhtemelen tükettiğimi biliyorum, ancak karanlıkta kalan son bıçaklamalar gerçekten takdir edilecektir - bana da yardım ettiğiniz için teşekkürler!!
Hmm - evet sadece onunla oynadım. Görünüşe göre, sunucu yine de yalnızca 0,00 (2 ondalık basamak) izin verdiği için sipariş gönderiliyor. Yani kalan rakamlar neredeyse alakasız.
Ah! Çok sinir bozucu lol - çok uzun zamandır buna takıldım :(
Bunun neden bir sorun olduğunu anlayamıyorum ve bir "OP_BUY" seçemiyorum... Bu konuyu muhtemelen tükettiğimi biliyorum, ancak karanlıkta kalan son bıçaklamalar gerçekten takdir edilecektir - bana da yardım ettiğiniz için teşekkürler!!
Sanırım tüm kodunuzu göstermeniz gerekiyor. . .
Burada bazı sorunlar görüyorum:
- http://pastebin.com/eaY1wKbN
Sözdizimi için üzgünüm - her şeyi görmek biraz daha zor, ancak MQL4'e sahip değiller mi? Öyleyse C++ altına koy
Tüm kodlar buraya sığmayacak mı? Yine de pastebin'e koydum mu?
- http://pastebin.com/eaY1wKbN
Sözdizimi için üzgünüm - her şeyi görmek biraz daha zor, ancak MQL4'e sahip değiller mi? Öyleyse C++ altına koy
Sorun yok . . .
Bunu yaptığınızda. . .
. . . Hangi Sipariş zaten seçili? bekleyen emir miydi? Eğer halihazırda bir Siparişiniz seçili değilse, OrderTicket()'iniz başarısız olursa, OrderSelect()'iniz başarısız olacaktır. Bu koda gerçekten ihtiyacınız var mı? daha sonra, siparişleri seçip sembollerini ve Sihirli Numarayı kontrol edip yazdığınız bir döngü var. . .
Bunun da düzeltilmesi gerekiyor. . .
. . . reklam bazı parantez. . .
Tamam - Ne yapıldığına ve hangi noktaya geldiğine dair biraz netlik elde etmek için daha fazla baskı aldım. aşağıya yapıştırdım.
"Kapanış için Sipariş Seçimi:-..." yazan satır, yukarıda sorduğunuz "OP_BUY Yarım Lot @ 1:1 Fonksiyonu Kapat" noktasında seçili olan satırdır. Bu seçim noktasında bilet numarası farklı mı görünüyor? "...&& OrderType()==OP_BUY" kısmını silmiştim, bu kısım "if" ifadesinde olmadığında geri kalanı yazdırıyor gibi görünüyor... Bu biraz daha netlik sağlıyor mu?
"İlk Satın Alma Siparişi Verildi:-", başlangıçta gerçekleşen ilk Sipariş Gönder işlevidir
"Satın Alma Siparişini Kontrol Etme:-" MA > OrderStopLoss() ise, bekleyen siparişi silmek ve yeniden açmak için for döngüsü içinde olandır.
"YENİ SATIN ALMA SİPARİŞİ:-", bu for döngüsü içine yerleştirilen yeni sipariştir.
"Kapanış için Sipariş Seçimi:-..." - yukarıda belirtildiği gibi, partilerin yarısını kapatmak için seçilen kısım budur.
Bu kafa karıştırıcı olduysa özür dilerim, çünkü bu kısımları yeni ekledim - bunu yukarıdaki pastebin bağlantısında görmeyeceksiniz... sadece basit yazdırma işlevleri :)
Tamam - Ne yapıldığına ve hangi noktaya geldiğine dair biraz netlik elde etmek için daha fazla baskı aldım. aşağıya yapıştırdım.
"Kapanış için Sipariş Seçimi:-..." yazan satır, yukarıda sorduğunuz "OP_BUY Yarım Lot @ 1:1 Fonksiyonu Kapat" noktasında seçili olan satırdır. Bu seçim noktasında bilet numarası farklı mı görünüyor? "...&& OrderType()==OP_BUY" kısmını silmiştim, bu kısım "if" ifadesinde olmadığında geri kalanı yazdırıyor gibi görünüyor... Bu biraz daha netlik sağlıyor mu?
"İlk Satın Alma Siparişi Verildi:-", başlangıçta gerçekleşen ilk SiparişGönder işlevidir
"Satın Alma Siparişini Kontrol Etme:-" MA > OrderStopLoss() ise, bekleyen siparişi silmek ve yeniden açmak için for döngüsü içinde olandır.
"YENİ SATIN ALMA SİPARİŞİ:-", bu for döngüsü içine yerleştirilen yeni sipariştir.
"Kapanış için Sipariş Seçimi:-..." - yukarıda belirtildiği gibi, partilerin yarısını kapatmak için seçilen kısım budur.
Bu kafa karıştırıcı olduysa özür dilerim, çünkü bu kısımları yeni ekledim - bunu yukarıdaki pastebin bağlantısında görmeyeceksiniz... sadece basit yazdırma işlevleri :)
Ekli deneyin. . . ne yapmaya çalıştığınıza dair en iyi tahminim bu. . .
Ah harika - teşekkür ederim. Doğru yönde atılmış büyük bir adım. Sanırım bir for döngüsü içinde olduğu için fiyatı yarı yarıya yarı yarıya kapatmak istiyor... Sadece bir kez yapmak yerine? Sadece bu da değil, fiyat >= istediğim çıkış fiyatına ulaştığı anda yarı kapanmıyor gibi görünüyor, bunun yerine ötesine geçiyor ve sonra fiyat istediğim çıkış fiyatına geri döndüğünde, o zaman kapanıyor - garip ... Bana yardım etme sabrını takdir et! Zaman ayırdığınız için çok minnettarım!!
GÜNCELLEME: Ayrıca, strateji test cihazını çalıştırmadan önce uzman özelliklerini (extern int) değiştirirsem, yakın yarının hiç çalışmadığını - yakın yarıyı etkileyen şeylerin "MA_PadAmount" olduğunu anladım. pip olarak takip eden stoploss'a pad olarak eklemek istediğim noktalar ve emirlerin giriş fiyatına pad olarak kaç pip koyabileceğimi belirtmemi sağlayan "OrderPrice_PadAmount"...
Ah harika - teşekkür ederim. Doğru yönde atılmış büyük bir adım. Sanırım bir for döngüsü içinde olduğu için fiyatı yarı yarıya yarı yarıya kapatmak istiyor... Sadece bir kez yapmak yerine? Sadece bu da değil, fiyat >= istediğim çıkış fiyatına ulaştığı anda yarı kapanmıyor gibi görünüyor, bunun yerine ötesine geçiyor ve sonra fiyat istediğim çıkış fiyatına geri döndüğünde, o zaman kapanıyor - garip ... Bana yardım etme sabrını takdir et! Zaman ayırdığınız için çok minnettarım!!
Bunu nasıl yazacağımdan tam olarak emin değilim, ama bu kabaca doğru satırlarda mı?