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
Piyasa kapalı!
#1 - OnTick(), Start() ile Button Object'i asla çağırmam , bu normal mi?
#2 - 'ANCHOR_RIGHT_UPPER' Düğme Nesnesine başvurabilir miyim?
#3 - Yani, bu endişem için hala yardıma ihtiyacım var #145 , lütfen.
Teşekkürler!
#1 - I never call Button Object by OnTick(), Start(), so is it normal?
Evet
#2 - 'ANCHOR_RIGHT_UPPER' Düğme Nesnesine başvurabilir miyim?
Hayır, bağlantı noktası ANCHOR_LEFT_UPPER olarak sabitlendi
#3 - Yani, bu endişem için hala yardıma ihtiyacım var #145 , lütfen.
Evet, haklısın - EventSetMillisecondTimer(250)
Evet
Hayır, bağlantı noktası ANCHOR_LEFT_UPPER olarak sabitlendi
Evet, haklısın - EventSetMillisecondTimer(250)
#Kar Emirleri Sayma - Açık
Sadece hepsini tek bir değerde hesaplamak için tüm karlı pozisyonları almaya çalışıyorum.
Bana ayrı ayrı değerler veriyor.
Gerçekten aklımı kaybettim. Birkaç yol denedim ve bu konuda çok araştırma yaptım ama iyi sonuç alamadım.
Lütfen bana yardım edin, eğer mümkünse, kar hesaplaması hakkında biraz daha açıklayın, çok teşekkürler.
Umarım yakında iyi bir cevap alırım.
{
double trueprofit = 0 ;
for ( int i = OrdersTotal () - 1 ; i >= 0 ; i-- )
{
if ( ! OrderSelect ( i, SELECT_BY_POS , MODE_TRADES ) ) continue ;
if ( closeothers == false && OrderSymbol () != Symbol () ) continue ;
trueprofit = OrderProfit () + OrderSwap () + OrderCommission ();
if ( trueprofit >= 0 )
{
Print ( "Profit: " , trueprofit );
ObjectSetString ( 0 , "all profit counting object" , OBJPROP_TEXT , DoubleToString ( trueprofit, 2 ) );
}
}
//---
return ;
}
Şimdiden teşekkürler.
Değere eklemek yerine, döngünün her yinelemesinde trueprofit değerinin üzerine yazıyorsunuz.
Hatırla bunu:
şu şekilde değiştirildi:
Döngünün her yinelemesinde (her sipariş) olmasını istediğiniz şey ile döngüden sonra (tüm siparişleri kontrol ettikten sonra) olmasını istediğiniz şey arasında net olmanız gerekir.
Hızlı cevabınız için teşekkürler.
Belki çok yorgunum, çok üzgünüm. (Sadece ne yapabileceğimi anlayamıyorum .)
Endişemi biraz daha açıklamam gerekiyor (ne kadar yapabilirim).
Yani, 2 işlevim var:
Son olarak, şunu istiyorum ( en son yorum kodum) kar hesaplama fonksiyonu, "OP_SELL ve OP_BUY" emirlerinin her iki türünü de sadece karlı olarak hesaplayabilir.
Şimdiden teşekkürler.
tüm karlı değerleri tek bir Etikette nasıl göstermeye çalışıyorsunuz?
Eklenen tüm AcountProfit() veya her bir ayrı OrderProfit() için mi demek istiyorsunuz?
Böyle bir şeye ihtiyacınız varsa:
Lütfen bu makaleye bakın:
https://www.mql5.com/en/articles/2723
Yorumun için teşekkürler.
Karışıklık için özür dilerim.
Hayır, sanırım bundan biraz farklı olmam gerekiyor.
sorunuma açıklık getirmeye çalışacağım.
EURUSD için 3 pozisyonum var. İkisi karlı pozisyon, biri kayıp pozisyonu. Bu yüzden sadece iki tanesini hesaplamam gerekiyor ki bunlar karlı.
örneğin: eğer her biri +1.00 (2 karlı pozisyon = +2.00 ) ise sadece tüm karlı pozisyonların değerini almam gerekiyor.
Söylemeye çalıştığım şeye yardımcı olması için aşağıdaki sekmeyi hızlıca hazırladım. (bu yorum resim dosyasının altında)
(İngilizce benim ana dilim değil - bazen onunla mücadele ediyorum)
Herşey gönlünce olsun.
// in your orderselect loop put
if(OrderProfit()>0)
{
totalprofit=totalprofit+OrderProfit();
}
#Kar Emirleri Sayma - Kapalı
{
totalprofit=totalprofit+ OrderProfit ();
}
Sorunumu harika örnek kodunuzdan sonra çözüyorum.
Harika bir adam, çok teşekkürler!
Değere eklemek yerine, döngünün her yinelemesinde trueprofit değerinin üzerine yazıyorsunuz.
Hatırla bunu:
Döngünün her yinelemesinde (her sipariş) olmasını istediğiniz şey ile döngüden sonra (tüm siparişleri kontrol ettikten sonra) olmasını istediğiniz şey arasında net olmanız gerekir.
Aşağıdaki kod betiğini bitirdikten hemen sonra.
Yorumunuzu bir kez daha kontrol ediyorum, sonra bana açıkladığınızı biliyorum. Ama İngilizcem anlamamı engelliyor.
Her biriniz için en iyisi erkekler.
{
double trueprofit = 0 ;
double totalprofit = 0 ;
for ( int i = OrdersTotal () - 1 ; i >= 0 ; i-- )
{
if ( ! OrderSelect ( i, SELECT_BY_POS , MODE_TRADES ) ) continue ;
if ( closeothers != true && OrderSymbol () != Symbol () ) continue ;
trueprofit = OrderProfit () + OrderSwap () + OrderCommission ();
if ( trueprofit >= 0 )
{
totalprofit += OrderProfit () + OrderSwap () + OrderCommission ();
Print ( "Profit: " , DoubleToString ( totalprofit, 2 ) );
ObjectSetString ( 0 , _Checkthisout_name_Label, OBJPROP_TEXT , "Total Profit: " + DoubleToString ( totalprofit, 2 ) );
}
}
//---
return ;
}
Umarım bu kod betiği iyi çalışır. Yukarıdaki kodda yanlış bir şey varsa, lütfen bana bildirin.
Her şey için teşekkürler.