Kapatılan siparişler için kar hesaplaması "YARDIM" - sayfa 5

 
Natashe4ka :

Bu nedenle, "cnt"nin sıfırlanıp sıfırlanmadığını da doğru bir şekilde değerlendirir, ancak daha sonra 3 No'lu ekranda olduğu gibi değer net değildir (kar değeri 4,27 olmalıdır).

double LastProfitCL( int op=- 1 ){ //"op" позиция (-1 любая позиция)
   int cnt= 0 ;
   double LastProfit= 0 ;
   for (i= 0 ;i< OrdersHistoryTotal ();i++)
     if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY ) && ( OrderType ()== OP_BUY || OrderType ()== OP_SELL ) && OrderSymbol ()== Symbol () && OrderMagicNumber ()==magic) {
       if ( OrderSymbol ()!= Symbol () || OrderMagicNumber ()!=magic) continue ;
       if ((op< 0 || OrderType ()==op) && cnt== 0 ) {LastProfit+= OrderProfit ()+ OrderCommission ()+ OrderSwap (); cnt++;} else {cnt= 0 ;}
       }
   return (LastProfit);
   }

Mantıklı düşünme olmadığında elbette kötüdür (

Görüyorsunuz ki reel piyasada depozito böyle bir mantıkla 3 günde eriyor.

 
Vitaly Muzichenko :
Mantıklı düşünme olmadığında elbette kötüdür (

Bu doğru.

sil, silinmiş bekleyen bir emirdir

 
Natashe4ka :

Bu doğru.

sil, silinmiş bekleyen bir emirdir

Bu olmadan anlaşılabilir.
 

Tamam, o zaman OrderCloseTime()'a eşit olan kapalı emirlerin bileti nasıl iade edilir ve karları nasıl hesaplanır?
Bunun gibi:

if (t< OrderCloseTime ()) {t= OrderCloseTime ();r= OrderTicket ();profit+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();}
 
Natashe4ka :

Tamam, o zaman OrderCloseTime()'a eşit olan kapalı emirlerin bileti nasıl iade edilir ve karları nasıl hesaplanır?
Bunun gibi:

if (t< OrderCloseTime ()) {t= OrderCloseTime ();r= OrderTicket ();profit+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();}


Peki ya durakta kapanırsa?

ticket= OrderClose (......);

if(ticket>0){//увеличить размер массива на один и записать тикет закрытого ордера}

 
Kendim için birikmiş düşüşü veya karı muhasebeleştirmek için bir sistem yazdım - şuna benziyordu: her piyasa emri için, açılış sırasında, bu emrin biletinin adıyla bir çiftte küresel bir değişken oluşturulur ve ne zaman birikmiş kar/dezavantajı yeniden hesaplamamız gerekiyor, sadece mevcut emir listesini global değişkenler listesi ile kontrol ediyoruz ve gereksiz değişkenleri silerek hesaba katıyoruz, karı doğrudan isim üzerinden biletle kredilendiriyoruz, hepsi bu, yapmamak daha iyi sistem çok ağır olduğu için her tikte yeniden hesaplayın, yalnızca gerektiğinde yeniden hesaplayın
 
Renat Akhtyamov :

Peki ya durakta kapanırsa?

ticket= OrderClose (......);

if(ticket>0){//увеличить размер массива на один и записать тикет закрытого ордера}

Peki hangi diziler, hangi biletler, hangi siparişler???

Terminalin ilk yeniden başlatılmasından veya hafta sonu kapanmasından sonra, tüm verileri kaybedeceksiniz ve tüm yazma ve hesaplamalar burada bitecek.

 
Aleksey Semenov :
Kendim için birikmiş düşüşü veya karı muhasebeleştirmek için bir sistem yazdım - şuna benziyordu: her piyasa emri için, açılış sırasında, bu emrin biletinin adıyla bir çiftte küresel bir değişken oluşturulur ve ne zaman birikmiş kar/dezavantajı yeniden hesaplamamız gerekiyor, sadece mevcut emir listesini global değişkenlerin bir listesi ile kontrol ediyoruz ve gereksiz değişkenleri silerek, karı doğrudan isim üzerinden bilete kredilendirerek hesaba katıyoruz, hepsi bu, daha iyi değil sistem çok ağır olduğu için her tikte yeniden hesaplamak için, yalnızca gerektiğinde yeniden hesaplayın

Bu, sistemi ağır bir şekilde yükler, göstergede iyi çalışır, ancak Expert Advisor'da bir düzine global değişkenin numaralandırılması terminalin donmasına neden olabilir.

Bir açılış ve kapanış saati vardır ve ondan çalışmanız gerekir ve onu almak için herhangi bir zorluk yoktur, bir kerelik girişten hesabın durumu hakkında tüm bilgileri alabilirsiniz ve bir bisiklete ihtiyaç yoktur.

 
Vitaly Muzichenko :

Peki hangi diziler, hangi biletler, hangi siparişler???

Terminalin ilk yeniden başlatılmasından veya hafta sonu için kapanmasından sonra, tüm verileri kaybedeceksiniz ve tüm yazma ve hesaplamalar burada bitecek.

çözülebilir

bana açıklamak zorunda değilsin

 
Vitaly Muzichenko :

Bu, sistemi ağır bir şekilde yükler, göstergede iyi çalışır, ancak Expert Advisor'da bir düzine global değişkenin numaralandırılması terminalin donmasına neden olabilir.

Bir açılış ve kapanış saati var ve ondan çalışmanız gerekiyor ve onu almak için herhangi bir zorluk yok, bir kerelik girişten hesabın durumu hakkında tüm bilgileri alabilirsiniz ve bir bisiklete ihtiyaç yoktur.

örneğin, terminaliniz yüzlerce kullanılmayan global değişkenle doluysa, evet - sıralama ne yazık ki sona erecek, değilse, doğru yazılırsa oldukça hızlı çalışır