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

 
Programcılar, robot için bir kod parçası yazmaya yardım etmek için çok büyük bir istek! Robot iki hareketli ortalamada işlem görüyor. Geçiş bir pozisyon açar ve geri geçişte kapatır. Ancak bunun ters kavşakta olması gerekir. kapatma, bir başkasını açma. Yani, alımı kapattıktan sonra, satışı hemen açmak gerekir ve bunun tersi de geçerlidir !!!
Dosyalar:
 
lufer :
Teşekkürler, ancak Mas[N] ile; OnInit() çalışmıyor, zaten denendi
Üzgünüm, dün çok ayık değildim. Ya da çok ayık değil.
 
AlexeyVik :
Üzgünüm, dün çok ayık değildim. Ya da çok ayık değil.
)), olur
 

Başka bir sorum var, diyelim ki dizinin ilk oluşturulandan (No. 1) başlayarak her çubuktan göstergeden (örneğin ATR) alınan verilerle doldurulmasını istiyorum? Diğer bir deyişle, dizi bildirilir ve başlatma işlevinde başlatma zaten gerçekleştirilir. Nasıl doğru yapılır?

bunun gibi bir şey mi?:

for(int i=0; i<N; i=i++)

{

Mas[i]=iATR(NULL,0,1,i+1);

}

veya şununla yapın:

for(int i=0; i<N; i=i++)

{

ArrayFill (Mas,i,1,iATR(NULL,0,1,i+1));

}

ya da tamamen farklı bir şekilde ?, hiçbir şekilde başaramayana kadar (bir şekilde berbat ettim, söyle bana, şimdiden teşekkürler.

 
lufer :

Başka bir sorum var, diyelim ki dizinin ilk oluşturulandan (No. 1) başlayarak her çubuktan göstergeden (örneğin ATR) alınan verilerle doldurulmasını istiyorum? Diğer bir deyişle, dizi bildirilir ve başlatma işlevinde başlatma zaten gerçekleştirilir. Nasıl doğru yapılır?

bunun gibi bir şey mi?:

for(int i= 0 ; i<N; i=i++)

{

Mas[i]=iATR(NULL,0,1, i+1 );

}


İlk seçenek yeterlidir. Ancak ilk çubuktan başlayan değerlere ihtiyacınız varsa, döngüyü 1'den saymak daha mantıklı olacaktır.
 
evillive :
İlk seçenek yeterlidir. Ancak ilk çubuktan başlayan değerlere ihtiyacınız varsa, döngüyü 1'den saymak daha mantıklı olacaktır.
Evet, hem 1 hem de 0 ile denedim, hala yanlış bir şey var, bazılarını görüntülemek istediğimde değerler yazılmıyor - sadece sıfır veriyor
 
lufer :
Evet, hem 1 hem de 0 ile denedim, hala yanlış bir şey var, bazılarını görüntülemek istediğimde değerler yazılmıyor - sadece sıfır veriyor
Para çekme talebi kodunu göster.
 
evillive :
Para çekme talebi kodunu göster.

Her ihtimale karşı, tüm kodu göstereceğim:

 //+------------------------------------------------------------------+

extern int     N        = 100 ;                       // Количество баров

       int     Mas[];                             // Объявление массива

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+

int OnInit ()
  { 
     ArrayResize (Mas,N, 0 );                 // Установка размера массива      
  }

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+

void OnDeinit ( const int reason)
  {

  }

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+

void OnTick ()
  {                                       
   for ( int i= 0 ; i<N; i=i++)                     // Цикл записи данных
     {                      

          Mas[i]= iATR ( NULL , 0 , 1 ,i+ 1 );           // Вычисление значений          
     }
       Alert (Mas[ 0 ], "," ,Mas[ 50 ], "," ,Mas[ 99 ]);       // Вывод на экран
   return ;                                           // Выход из start
  }
//+------------------------------------------------------------------+

 

Kodu yapıştırmak için SRC'yi kullanın

 
lufer :

Her ihtimale karşı, tüm kodu göstereceğim:


double türünde bir dizi yap
 
evillive :
double türünde bir dizi yap
Bu sorunu çözmüyor, şimdi bir şekilde garip, OnTick'te () bir şeylerin yanlış olduğunu görmek - danışmanı terminal penceresine yüklediğimde hiçbir şey olmuyor ve onu silmeye çalıştığımda terminal çok uzun bir süre ölüyor zaman ve ancak o zaman bir süre sonra silinir. Birkaç öğeye manuel olarak değer atamaya çalıştım, her şey yolunda. Görünüşe göre dizi başlatma döngüsüyle ilgili bir şey.