Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 417

 
evillive :



Yani bir tamsayıya ihtiyacım var ...
 

İnsanların yardıma ihtiyacı var. Fonksiyon, en eskisinden başlayarak emirlerin yarısını kapatmalıdır. İlk durumda, emirler nedense birer birer kapanır ve ikincisinde yanlış sırayla kapanmaya başlarlar.

 void CloseHalfOrders ( int otype) // ф-ция закрытия половины ордеров сетки
{
   int count = 0 ; double CTbuy = CountTrades( OP_BUY ); double CTsell = CountTrades( OP_SELL ); 
   for ( int i = 0 ; i<= OrdersTotal ;i++)
  {
     if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))
    {
       if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()==Magic && OrderType () == otype)
       {
         if (otype == OP_BUY )
         { 
           if (count<CTbuy/ 2 && CTbuy> 3 )
           
             OrderClose ( OrderTicket (), OrderLots (), Bid , 0 ,Black);
             count++;
             Sleep ( 1000 );
           
         }
       
       
         else if (otype == OP_SELL )
         {
           if (count<CTsell/ 2 && CTsell> 3 )
           
           OrderClose ( OrderTicket (), OrderLots (), Ask , 0 ,Black);
           count++;
           Sleep ( 1000 );
           
         }
       }
     }
   }
   
 }
 for ( int i = OrdersTotal ()- 1 ; i>= 0 ; i--)
 
vadynik :

Yani bir tamsayıya ihtiyacım var ...
MatematikYuvarlak
 
evillive :
MatematikYuvarlak


yani bu yuvarlamadır, sayı int olmaz, çift kalır
 
vadynik :

yani bu yuvarlamadır, sayı int olmaz, çift kalır

Ne olmuş? Hesaplamalar için 1 ile 1.0 arasında temel bir fark var mı? Biçim elbette iki katıdır, ancak değer tamsayıdır.


O zaman özellikle sapkın bir değişken: DoubleToStr ve ardından StringToInteger

 
vadynik :

Yeni derleyicideki uyarıyı nasıl kaldıracağımı söyle

tür dönüştürme nedeniyle olası veri kaybı

 int     SizeB      = MathAbs ( Open [ 1 ]- Close [ 1 ])/ Point ;

Так помогает 

int     SizeB      =( int ) ( MathAbs ( Open [ 1 ]- Close [ 1 ])/ Point ) ;

 
Zhunko :



Teşekkür ederim, bu yüzden uyarı yok, zaten gözümü patlattı)
 

Merhaba! Kim'i aradım ama öğrenebileceğim bir şey bulamadım: Pozisyon hangi sırayla (ertelenmiş) açıldı ? Limitten mi yoksa stop emrinden mi?

Son açık siparişin fiyatlarını karşılaştırmaya çalıştım

 if ( MathAbs (GetOrderOpenPrice()-LastPrice) <= slip)

üzerinde açık bir pozisyon var ve bir şekilde tüm mantık ihlal ediliyor. Belki daha uygun bir şey vardır? Teşekkür ederim!

 
Trader7777 :

İnsanların yardıma ihtiyacı var. Fonksiyon, en eskisinden başlayarak emirlerin yarısını kapatmalıdır. İlk durumda, emirler nedense birer birer kapanır ve ikincisinde yanlış sırayla kapanmaya başlarlar.


Böyle bir soru vardı, en eskisinden başlayarak siparişler nasıl kapatılır, birkaç sayfa sonra bir cevap ve doğru kod var.


https://www.mql5.com/ru/forum/145455/page406

 
borilunad :

Merhaba! Kim'i aradım ama öğrenebileceğim bir şey bulamadım: Pozisyon hangi sırayla (ertelenmiş) açıldı? Limitten mi yoksa stop emrinden mi?

Son açık siparişin fiyatlarını karşılaştırmaya çalıştım

üzerinde açık bir pozisyon var ve bir şekilde tüm mantık ihlal ediliyor. Belki daha uygun bir şey vardır? Teşekkür ederim!

Boris. Gecikmelerin yorumlarını - limit sınırlarına, duraklara - duraklara yazmaya çalışın. Ardından, açık pozisyonların bu yorumlarından, orada hangi bacakların büyüdüğünü öğreneceksiniz. Yalnızca kısmi bir kapanış bu yorumları silecektir. Belki başka bir şey yorumları vurabilir. Yalnızca geçmişte silinen gecikmeler kaydedilir. Orada işçi yok. Geçmek zorundasın ... neyi saptırmak zorunda olduğunu kendin bul ...