[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 503

 

Sergeyev'e :

Evet, orada biraz kör oldum, teşekkürler. Ancak yine de, kar al olan bir emir seçilmez.


Roger'a , iptal :

Oh, fark etmediğim sorunları unuttum. Teşekkür ederim!

 
Solree :

Evet, orada biraz kör oldum, teşekkürler. Ancak yine de, kar al olan bir emir seçilmez.

düzeltilmiş döngü kodu nerede?
 

Sergeyev'e :

Yazmak için gerekli olmayan tek bir düzeltme olduğunu düşündüm. Ama ihtiyacınız varsa, işte burada:

 for ( int a = 0 ; a < OrdersTotal (); a++)
     if ( OrderSelect (a, SELECT_BY_POS, MODE_TRADES))
         if ( OrderComment () == "Aelit" && OrderType () == OP_SELL)
             OrderClose ( OrderTicket (), OrderLots (), NormalizeDouble (Ask, Digits ), 0 );
 
Solree :

Yazmak için gerekli olmayan tek bir düzeltme olduğunu düşündüm. Ama ihtiyacınız varsa, işte burada:

hiç anlamadın. Parmaklarımla açıklayacağım.

döngünün başında a=0 ve OrdersTotal ()=2 var

ilk kaldırma işleminden sonra a= 1 ve OrdersTotal ()= 1'e sahip olursunuz.

Tümü. ikinci bir yineleme olmayacak. ve sadece bir sipariş kaldı . çok daha net?

hangi sonuçlara varabilirsin? Peki, sorunun olası iki çözümü nedir?
 

Merhaba! Lütfen yardım et. Göstergenin hacimlerin toplamını hesaplaması gerekir. Bir şey benim için çalışmıyor.

 #property indicator_separate_window    
#property indicator_buffers 1        
#property indicator_color1 Blue  
 
double Buf_0[];           
//--------------------------------------------------------------------
int init()                        
  {
//--------------------------------------------------------------------
   SetIndexBuffer ( 0 ,Buf_0);       
   SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 2 );
//--------------------------------------------------------------------
   return ;                     
  }
//--------------------------------------------------------------------
int start()                        
  {
   int i,                         
       n,                         
       Counted_bars;              
       double
       Sum;                      

//--------------------------------------------------------------------
   Counted_bars= IndicatorCounted (); 
   i= Bars -Counted_bars- 1 ;           
   while (i>= 0 )                     
     {
      Sum= 0 ;                 
       for (n=i;n<=i+ 1 ;n++) 
        {
         Sum=Sum + Volume[n];    
        }
      Buf_0[i]=Sum;   
      i--;                         
     }
//--------------------------------------------------------------------
   return ;                         
  }
//--------------------------------------------------------------------
 

Sergeyev'e :

OrderSelect'te 0 da bir pozisyondur, yani 2 emir varsa, pozisyonları 0 ve 1'dir.

 
Solree :

OrderSelect'te 0 da bir pozisyondur, yani 2 emir varsa, pozisyonları 0 ve 1'dir.

Evet. iki sipariş. Ve OrdersTotal 2 döndürür.

tekrar tekrar okuyun.

bana inanmıyorsanız, o zaman Günlüğe Yazdır'ı kullanın

 
prom18 :

Merhaba! Lütfen yardım et. Göstergenin hacimlerin toplamını hesaplaması gerekir. Bir şey benim için çalışmıyor.


Evet işe yarıyor gibi görünüyor

 
prom18 :

Merhaba! Lütfen yardım et. Göstergenin hacimlerin toplamını hesaplaması gerekir. Bir şey benim için çalışmıyor.


Evet işe yarıyor gibi görünüyor

 
Vinin :


Evet işe yarıyor gibi görünüyor

Hacim[100]+Hacim[99]+...+Hacim[1] demek istedim. Grafik yükselen bir eğri gibi görünmelidir.
Neden: