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
Hayır, zaten yazdıklarınızdan bahsetmiyorum.
Kelimelerle anlatın - ilgilendiğiniz kapalı siparişler için kar hesaplaması
- günlük
- kârsız
- Son sipariş
ya da başka nasıl?
Seriyi tanımlayın
Bir dizi son kapalı sipariş "şimdilik"
Bir dizi son kapalı sipariş "şimdilik"
Yani, doğru anladıysam, son kapatılan siparişler dizisi hakkında bilgiye mi ihtiyacınız var?
Bu yaklaşımı uygulamak için, önce her başarılı kapanışta sipariş biletleri dizisini doldurmanız ve ardından ihtiyacınız olan formdaki kapalı siparişlerle ilgili bilgileri çekmeniz gerekir.
Kendin yapabilir misin?
Denemek
return (LastProfit);Comment ( LastProfitCL(- 1 , 0 ) );
//+----------------------------------------------------------------------------+
//| Возвращает суммарный профит в валюте депозита серии закрытых ордеров |
//+----------------------------------------------------------------------------+
double LastProfitCL( int op=- 1 , datetime t= 0 ){ //"op" позиция (-1 любая позиция)
double LastProfit= 0 ;
for ( int i= OrdersHistoryTotal ()- 1 ;i>= 0 ;i--) {
if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )) {
if ((op< 0 || OrderType ()==op) && OrderSymbol ()== Symbol () && OrderMagicNumber ()==magic){
if (t<= OrderCloseTime ()) {
t= OrderCloseTime ();
LastProfit+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();
}}}}
}
Denemek
Comment ( LastProfitCL(- 1 , 0 ) );
//+----------------------------------------------------------------------------+
//| Возвращает суммарный профит в валюте депозита серии закрытых ордеров |
//+----------------------------------------------------------------------------+
double LastProfitCL( int op=- 1 , datetime t= 0 ){ //"op" позиция (-1 любая позиция)
double LastProfit= 0 ;
for ( int i= OrdersHistoryTotal ()- 1 ;i>= 0 ;i--) {
if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )) {
if ((op< 0 || OrderType ()==op) && OrderSymbol ()== Symbol () && OrderMagicNumber ()==Magic){
if (t<= OrderCloseTime ()) {
t= OrderCloseTime ();
LastProfit+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();
}
}
}
}
return (LastProfit);
}
Ya aynı anda kapanmazsa?
az değil
Ve kapanışta bir sipariş verirken, t'yi unutmayın, o zaman normal olacaktır.
ama bu çizgi
gerek yok
Tüm serideki toplam toplamı çıkaracak
Ama hanımefendi ilk mesajdan anladığım kadarıyla daha detaylı bilgi istiyor.
Ya aynı anda kapanmazsa?
Yani, doğru anladıysam, son kapatılan siparişler dizisi hakkında bilgiye mi ihtiyacınız var?
Bu yaklaşımı uygulamak için, başarılı bir kapanışın ardından önce bir dizi sipariş bileti oluşturmanız ve ardından kapatılan siparişler hakkında bilgi almanız gerekir.
Kendin yapabilir misin?
örnek versen iyi olur
Onlar.
ve daha fazla karşılaştırmak?
örnek versen iyi olur
Onlar.
ve daha fazla karşılaştırmak?
Sorun yok
Şimdi açıklığa kavuşturulması gerekiyor - serinin kapalı siparişleriyle ilgili bilgiler nasıl görünmelidir?
Transfer, tutarı + ve - ile çekecek mi yoksa bölecek mi?
bir gösterge var
i-Kar
Bugün, hafta, ay, yıl için bilgileri, mevcut karı görüntüler.
örnek versen iyi olur
İşte bir seçenek:
GlobalVariableSet (GetGlobalVariableName( "LastProfit" ), TimeCurrent ()); // запомним время закрытия
// здесь код закрытия всех и сразу, нужен цикл, чтоб не выходил с функции до полного закрытия всех
}
Bundan sonra, diğer her şey
//| Возвращает суммарный профит в валюте депозита серии закрытых позиций |
//+----------------------------------------------------------------------------+
double LastProfitCL( int op=- 1 , datetime t= 0 ){ //"op" позиция (-1 любая позиция)
double LastProfit= 0 ;
for ( int i= OrdersHistoryTotal ()- 1 ;i>= 0 ;i--) {
if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )) {
if ((op< 0 || OrderType ()==op) && OrderSymbol ()== Symbol () && OrderMagicNumber ()==Magic){
if (t<= OrderCloseTime ()) {
t= OrderCloseTime ();
LastProfit+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();
}}}}
return (LastProfit);
}
//===============================================================================================
//----------------------- Создает и возвращает имя глобальной переменной -----------------------+
//===============================================================================================
string GetGlobalVariableName( string name= "" , string symb= "0" ) {
if (symb== "0" ) { symb= Symbol ();}
if (! MQLInfoInteger ( MQL_TESTER )) {
return (prefix+symb+ "_" +( string ) AccountInfoInteger ( ACCOUNT_LOGIN )+ "_" + MQLInfoString ( MQL_PROGRAM_NAME )+ "_" +name);
} else {
return (prefix+symb+ "_" +( string ) AccountInfoInteger ( ACCOUNT_LOGIN )+ "_" + MQLInfoString ( MQL_PROGRAM_NAME )+ "_tester" + "_" +name);
}}
Peki, terminali yeniden başlattığımızda bile alacağız
{
Comment ( LastProfitCL(- 1 , ( datetime ) GlobalVariableGet (GetGlobalVariableName( "LastProfit" ))) );
}
bir gösterge var
i-Kar
Bugün, hafta, ay, yıl için bilgileri, mevcut karı görüntüler.