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
4/5 haneli Brokerlar için Kaymayı ayarlamak için bunu yapamazsınız, bu hiçbir anlam ifade etmez.
Kayma bir int, yani bir tam sayı OLMALIDIR, 4 basamaklı bir Broker kayması için Pip cinsindendir, bu nedenle Kayma = 3, 3 Pip anlamına gelir, 5 Haneli Broker kayması için, Kayma = 3, 3 puan veya 0,3 Pip anlamına gelir. Bu nedenle, telafi etmek için, 5 basamaklı bir Broker için kayma rakamı, 30 vererek on ile çarpılmalıdır. . . 30 puan = 3 Pip.
Yani bu kod yanlış. . .
OpenOppositeOrder() işlevinizin bu değiştirilmiş sürümünü deneyin. . .
OpenOppositeOrder() işlevinizin bu değiştirilmiş sürümünü deneyin. . .
Merhaba RaptorUk,
Her şeyden önce, şimdiye kadar sağlanan yardım için teşekkür ederiz. Şimdi EA çalışmaya başlar. Bir siparişin kârı varsa tümünün nasıl kapatılacağı konusunda başka değişiklikler yaptım ve bu sorun değil, ancak bu strateji çalışması için zaten gördüğünüz ve tahmin ettiğiniz gibi, kâra ulaşan siparişin önceki siparişleri telafi etmek için lot boyutunun artırılması gereklidir. Bunu göz önünde bulundurarak bunu yapmak için kod tanıttım. Yani burada bir karışıklık ile uğraşıyorum. Son siparişin kârlı olup olmadığını doğrulamam gerekiyor ve OrderProfit()'i bir sonraki sipariş lot büyüklüğünü ayarlayacak şekilde kullanmak istiyorum ama bu bilgiyi almak için önceki siparişi kapatmam gerekmiyor mu?
Burada, açık olan eski siparişin kârlı olup olmadığını bulmak için ekstra kodu tanıttığım, iyi çalışan bir karşı sipariş açma kodu (sizin sayesinde). Bunu almak için doğru yolda mıyım?
Teşekkür ederim
Luis
Merhaba RaptorUk,
Her şeyden önce, şimdiye kadar sağlanan yardım için teşekkür ederiz. Şimdi EA çalışmaya başlar. Bir siparişin kârı varsa tümünün nasıl kapatılacağı konusunda başka değişiklikler yaptım ve bu sorun değil, ancak bu strateji çalışması için zaten gördüğünüz ve tahmin ettiğiniz gibi, kâra ulaşan siparişin önceki siparişleri telafi etmek için lot boyutunun artırılması gereklidir. Bunu akılda tutarak bunu yapmak için kod tanıttım. Yani burada bir karışıklık ile uğraşıyorum. Son siparişin kârlı olup olmadığını doğrulamam gerekiyor ve OrderProfit()'i bir sonraki sipariş lot büyüklüğünü ayarlayacak şekilde kullanmak istiyorum ama bu bilgiyi almak için önceki siparişi kapatmam gerekmiyor mu?
Burada, açık olan eski siparişin kârlı olup olmadığını bulmak için ekstra kodu tanıttığım, iyi çalışan bir karşı sipariş açma kodu (sizin sayesinde). Bunu almak için doğru yolda mıyım?
Bunun size sorun yaratacağından şüpheleniyorum. . .
örneğin, sonuç 1.12316734 lot ise, 5 basamaklı bir par üzerindeki NormalizeDouble()'niz bunu 1.12316 olarak değiştirir ve bu, Lot Adımı gereksinimine uymaz. . . . değiştirilmiş lot büyüklüğünü Lot Step MarketInfo(Symbol(), MODE_LOTSTEP ) katı yapmak için biraz matematik kullanmanız gerekir
Bunun size sorun yaratacağından şüpheleniyorum. . .
örneğin, sonuç 1.12316734 lot ise, 5 basamaklı bir par üzerindeki NormalizeDouble()'niz bunu 1.12316 olarak değiştirir ve bu, Lot Adımı gereksinimine uymaz. . . . değiştirilmiş lot büyüklüğünü Lot Step MarketInfo(Symbol(), MODE_LOTSTEP ) katı yapmak için biraz matematik kullanmanız gerekir
Merhaba RaptorUK,
Parti büyüklüğümü bir çok Lot Adımı'nı korumak için tavsiyenizle ilgili olarak, konuyla ilgili kendimi belgelemek istiyorum.
şimdi başka bir sorunum var (bir tane daha ...)
Mevcut fiyatın üstünde ve altında emirleri açmak için, Ea çalışmaya başladığında fiyatı hareketsiz olan satırla karşılaştırdığım bir satır kullanmak istiyorum.
İlk sorun geliyor; fiyat farkı olan hattı nasıl karşılaştırabilirim?
İşte şimdiye kadar sahip olduğum kod. Burada karşılaştırmak için nasıl isim verebilirim çünkü fiyat çizgisinden sonra iHigh'ı koyarsam işe yaramaz.
Bu konulardaki herhangi bir ipucu için şimdiden teşekkür ederiz.
Luis
Bu hiç işe yaramıyor gibi görünüyor (...)
Buraya nesne silmeyi koydum, çünkü tüm siparişlerin kapanmasıyla satırın silinmesine ihtiyacım var. doğrumuyum ?
Bu hiç işe yaramıyor gibi görünüyor (...)
Buraya nesne silmeyi koydum, çünkü tüm siparişlerin kapanmasıyla satırın silinmesine ihtiyacım var. doğrumuyum ?
Tamam, sanırım ne yapmak istediğinizi anlıyorum, Bid'in hattınıza göre nerede olduğunu kontrol etmek istiyorsunuz, bunu yapmak için hattın pozisyonunu almanız gerekiyor. . . ObjectGet() 'i nesne adı ve nesne özellik indeksi OBJPROP_TIME1 ile kullanın, bu, satırın yerleştirildiği fiyatı döndürür.
ObjectDelete() çağrınız bana uygun görünüyor. Özellikle ObjectsDeleteAll() kullanımından hoşlanmıyorum, bunun tembel ve tehlikeli olduğunu düşünüyorum. . . ya da en azından diğerleri için rahatsız edici.
Tamam, sanırım ne yapmak istediğinizi anlıyorum, Bid'in hattınıza göre nerede olduğunu kontrol etmek istiyorsunuz, bunu yapmak için hattın pozisyonunu almanız gerekiyor. . . ObjectGet() 'i nesne adı ve nesne özellik indeksi OBJPROP_TIME1 ile kullanın, bu, satırın yerleştirildiği fiyatı döndürür.
ObjectDelete() çağrınız bana uygun görünüyor.
Merhaba RaptorUK,
Biri kârla kapanırsa tüm emirleri kapatmaya çalışıyorum, ancak bu gerçekleştiğinde bekleyen bir emir hala açıktır, yine de kapatma talimatı CloseAll() işlevine dahil edilmiştir. Bu konu hakkında herhangi bir ipucu var mı?
Sağladığınız herhangi bir yardım için şimdiden teşekkür ederiz
Luis
Merhaba RaptorUK,
Biri kârla kapanırsa tüm emirleri kapatmaya çalışıyorum, ancak bu gerçekleştiğinde bekleyen bir emir hala açıktır, yine de kapatma talimatı CloseAll() işlevine dahil edilmiştir. Bu konu hakkında herhangi bir ipucu var mı?
İfadelerin nasıl çalıştığını anlamanız gerekir. . . bunu yapamazsın. . .
if (Op == OP_SELLSTOP || OP_BUYSTOP || OP_SELLLIMIT || OP_BUYLIMIT)
buna benzer bir durum ama tam olarak aynı değil: https://www.mql5.com/en/forum/141790
sonucu nedir. . .
|| bir Bole işlecidir, bu nedenle yalnızca bools üzerinde çalışır. . .
bu, bir bool sonuç değeriyle sonuçlanır. . .
. . . Değerlerinizde bitsel bir operatör kullanmak istiyorsanız, bunu kullanabilirsiniz. . . .
. . . ama yapmaya çalıştığın şey bu değil.
İfadelerin nasıl çalıştığını anlamanız gerekir. . . bunu yapamazsın. . .
buna benzer bir durum ama tam olarak aynı değil: https://www.mql5.com/en/forum/141790
sonucu nedir. . .
|| bir Bole işlecidir, bu nedenle yalnızca bools üzerinde çalışır. . .
bu, bir bool sonuç değeriyle sonuçlanır. . .
. . . Değerlerinizde bitsel bir operatör kullanmak istiyorsanız, bunu kullanabilirsiniz. . . .
. . . ama yapmaya çalıştığın şey bu değil.
Merhaba RaptorUK,
Anlıyorum, ama şimdi bunu göz önünde bulundurarak kodu değiştirdim ve bekleyen sipariş hala orada ...
Merhaba RaptorUK,
Anlıyorum, ama şimdi bunu göz önünde bulundurarak kodu değiştirdim ve bekleyen sipariş hala orada ...
MagicNumber'dan farklı bir Sihirli Numaraya sahip olması veya EA'nın üzerinde çalıştığı sembol dışında bir sembol için olması veya bir OP_SELLLIMIT veya OP_BUYLIMIT olması olabilir. . . ayrıca, OrderDelete() ve OrderClose() çağrılarınızdaki dönüş değerlerini kontrol etmeniz gerekir. . .
Neden RefreshRates() öğesini çağırmanız gerekiyor? Onlardan kurtul demek istemiyorum ama neden RefreshRates()'i bulunduğunuz yere çağırdığınızı açıklayabilir misiniz?
İşlev dönüş değerleri nelerdir? Onları nasıl kullanırım?