Günaydın,
Çok iyi, sadece bir şeyi anlamıyorum. WIN ve WDO'da emir verdiğimde EA, "kaldıraç" a girdiğim sözleşme sayısı kadar 6 emir açıyor. Yani 1 sözleşme ile işlem yapmak istesem bile yapamıyorum, 6 tane açıyor.
Bu gözden kaçırdığım bir kavram mı? Yeni başlayan biriyim, o yüzden bu önermeden yola çıkıyorum.
Paylaşım için çok teşekkür ederim.
Bu gözden kaçırdığım bir kavram mı? Ben acemiyim, o yüzden bu önermeden yola çıkıyorum.
Paylaşımınız için çok teşekkür ederim.
Fareye tıkladığınızda sistem birden fazla sipariş gönderiyor olabilir, nedenleri çeşitli olabilir, ancak bildirdiğiniz için teşekkürler 😁👍, bu sorunu çözmek için, fareye tıkladığınızda ekstra bir test eklemeniz gerekecek, değiştirilecek veya eklenecek noktalar YEŞİL renkle işaretlenmiştir ... doğru şekilde yazdığınızdan emin olun, aksi takdirde sipariş gönderilmeyebilir veya sunucu tarafından kabul edilmeyebilir ... ancak bu ekstra testi eklemek sorununuzu çözecektir. Mantık şu şekildedir: Fare tıklandığında, STATIC değişkeni ayarlanacak ve yalnızca fare artık basılı olmadığında yeni bir siparişin gönderilmesine izin vermek için sıfırlanacaktır.
inline void MoveTo(int X, int Y, uint Key) { static double d_block = 0; int w = 0; datetime dt; bool bEClick, bKeyBuy, bKeySell; double take = 0, stop = 0, price; bEClick = (Key & 0x01) == 0x01; //Sol tıklama bKeyBuy = (Key & 0x04) == 0x04; //SHIFT Basıldı bKeySell = (Key & 0x08) == 0x08; //CTRL Basıldı ChartXYToTimePrice(Infos.Id, X, Y, w, dt, price); ObjectMove(Infos.Id, Infos.szHLinePrice, 0, 0, price = (bKeyBuy != bKeySell ? AdjustPrice(price) : 0)); ObjectMove(Infos.Id, Infos.szHLineTake, 0, 0, take = price + (Infos.TakeProfit * (bKeyBuy ? 1 : -1))); ObjectMove(Infos.Id, Infos.szHLineStop, 0, 0, stop = price + (Infos.StopLoss * (bKeyBuy ? -1 : 1))); if ((bEClick) && (bKeyBuy != bKeySell) && (d_block == 0)) CreateOrderPendent(bKeyBuy, Infos.Volume, (d_block = price), take, stop, Infos.IsDayTrade); else d_block = 0; ObjectSetInteger(Infos.Id, Infos.szHLinePrice, OBJPROP_COLOR, (bKeyBuy != bKeySell ? Infos.cPrice : clrNONE)); ObjectSetInteger(Infos.Id, Infos.szHLineTake, OBJPROP_COLOR, (take > 0 ? Infos.cTake : clrNONE)); ObjectSetInteger(Infos.Id, Infos.szHLineStop, OBJPROP_COLOR, (stop > 0 ? Infos.cStop : clrNONE)); };
İyi günler, mini endeks için nokta sayısını ve lot sayısını nereden ayarlayabilirim?
Aslında, bu kodda ayarlama otomatiktir. Ona finansör ve işlem yapılacak sözleşme sayısını söylüyorsunuz ve kod puan cinsinden ayarlamayı yapıyor... Bu bilgi, Uzman Danışmanı grafiğe yerleştirdiğinizde verilir. 😁👍

- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Yeni makale Sıfırdan bir ticaret Uzman Danışmanı geliştirme yayınlandı:
Bu makalede minimum derecede programlamayla bir ticaret robotunun nasıl geliştirileceğini ele alacağız. MetaTrader 5 elbette ticaret işlemleri üzerinde yüksek düzeyde kontrol sağlamaktadır. Ancak, yalnızca manuel olarak emir verme yeteneğinin kullanılması, daha az deneyimli kullanıcılar için oldukça zor ve riskli olabilir.
Bu makalede sunulan Uzman Danışman, parametre kümeleriyle çalışmak için birçok yönden geliştirilebilir, ancak bu, onu MetaTrader 5'ten daha bağımsız hale getirecek daha fazla kod gerektirecektir.
Bu Uzman Danışmanın büyük başarısı, kodunda olmayan eylemleri gerçekleştirmek için MetaTrader 5'in kendisini kullanması ve böylece son derece kararlı ve güvenilir olmasıdır.
Yazar: Daniel Jose