Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
kombat 17.07.2009 22:13
Özetle, 3 lot satın almanın toplamını alıyoruz ve bu 3 lot satış hacminin sayacını belirliyoruz.
................................
Bir seçenek olarak, evet. Halihazırda açık satış emirleri olsa da, EA ihtiyacınız olanları kapatmayabilir. Bu çözülebilir olmasına rağmen.
kombat 17.07.2009 22:13
Ancak şu soruya: TÜM pozisyonları kapatmak mümkün mü?
Evet, sırayla birbiri ardına yapabilirsiniz, bir komut dosyası ile hızlı, aap! ve herşey...
................................
Şimdi kullandığım şey bu. Bir dizi komut dosyası - bunu ya da bunu kullanırsınız... Ama stratejimi bir Uzman Danışman olarak kodlamaya çalıştım ve bir takım zorluklarla karşılaştım.
Burada bir şey bende çalışmıyor yani kapanmıyor, hata vermiyor.
b-Positions.mqh kitaplığının ClosePositions() işlevinde KimIV, test cihazında kullanımını yasaklayan diğer ClosePosBySelect() işlevine bir çağrı kullanır:
if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break;
Geriye dönük test için, b-ForTest.mqh kitaplığını kullanın
b-Positions.mqh kitaplığının ClosePositions() işlevinde KimIV, test cihazında kullanımını yasaklayan diğer ClosePosBySelect() işlevine bir çağrı kullanır:
if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break;
Geriye dönük test için, b-ForTest.mqh kitaplığını kullanın
Kodumu yanlış anladınız... Rusça'ya çeviriyorum... Test modu DEĞİLSE VE (EA'nın ticaret yapmasına İZİN YOKSA VEYA Uzman Danışmanlar durdurulmuşsa), döngüyü iptal edin. Basitçe söylemek gerekirse, araç çubuğundaki "Uzmanlar" düğmesi bırakıldığında bu satır döngüden çıkar.
İyi akşamlar,
Maalesef dizide de bir uyumsuzluk var... Emir sayma kodu ile lotların 0'dan büyük olması (Lts>0) şartıyla lotlar birer birer kapatılır (kar elde etme şartına göre) , toplam kârın dikkate alınması gerekli olmakla birlikte:
Ve sipariş sayımında 1'den fazla lot (Lts>1) varsa, lotlar kapatılmaz:
Hatayı kimin gördüğünü söyle.
Ya da belki Igor, işlevinin kullanımı hakkında yanlış bir anlayışa sahibim?
BuyOrdProf=GetProfitOpenBuyPosInCurrency(OP_BUY); // fonksiyon çağrısı
Igor, lütfen bana PriceOpenLastPos işlevinizi göstergeye nasıl ekleyeceğinizi söyleyin.
Derlerken, editör ilk parantez ve sonraki değişkenler için bir hata veriyor.
double PriceOpenLastPos ( string sy="", int op=-1, int mn=-1) {
tarihsaat t;
çift r=0;
int k=SiparişToplam();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SEL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==dk) {
if (t<SiparişAçmaZamanı()) {
t=SiparişAçıkZamanı();
r=SiparişAçıkFiyat();
}
}
}
}
}
}
}
dönüş(r);
}
}
'(' - işlev tanımı beklenmeyen D:\MT4\experts\indicators\Astrea.mq4 (627, 24)
'sy' - değişken tanımlanmadı D:\MT4\experts\indicators\Astrea.mq4 (632, 7)
vb.
Göstergede alım satım sinyalleri üretme mantığını uyguluyorum ve önceden oluşturulmuş sinyali açma/kapama emirleri için global bir değişken aracılığıyla EA'ya gönderiyorum.
Bazı kararlar vermek için emrin açılış fiyatına ihtiyacım var, bu yüzden bu sorunu çözmeye çalışıyorum. Göstergem dinamik, yalnızca demoda veya test cihazında görselleştirme modunda hata ayıklayabilirsiniz.
Resim, toplam kârın değil, bireysel siparişlerin kârının dikkate alındığı şekildedir.
BuyOrdProf=GetProfitOpenBuyPosInCurrency(OP_BUY); // fonksiyon çağrısı
Bir işleve yanlış parametre geçişi. Bunun gibi olmalı:
Bir işleve yanlış parametre geçişi. Bunun gibi olmalı:
Bir işlev çağrısında bir sembole bağlantı eklemek yardımcı olmaz. Neden her pozisyon için karı ayrı hesaplıyor (yukarıdaki resim)?