[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 227

 
oyshen >> :

Ve zaten kapatılmış olan son 2 anlaşmayı nasıl seçebilirim (hesap geçmişi listesinden)

Bunun gibi bir şey olmalı -

seçim parametresi nasıl doğru yazılır?

Son iki sipariş OrdersHistoryTotal()-1 ve OrdersHistoryTotal()-2 olarak numaralandırılacaktır.


İşte test edilecek komut dosyası

 int start ( )
{
   int i , accTotal = OrdersHistoryTotal ( ) ;
   for ( i = 0 ; i < accTotal ; i + + )
   {
     if ( OrderSelect ( i , SELECT_BY_POS , MODE_HISTORY ) = = false )
       {
         Alert ( "Ошибка при доступе к исторической базе (" , GetLastError ( ) , ")" ) ;
         break ;
       }
     Alert ( i , ":" , TimeToStr ( OrderCloseTime ( ) ) ) ;   
   }
}

İyi şanlar!

[Deleted]  
alsu >> :

kod oldukça ham.

bak: i=Bars-Period1+1 döngünün ilk yinelemesinde k=i+Period1-1=Bars-Period1+1+Period1-1=Bars ve sonra - Kapat[k], yani zaten dizinin dışında.

Doğru: i=Bars-Period1 - 1

.................

Bir şekilde close[i]/close[i+1] ilişkisinin maksimumunu (min.) dizilerin yardımı olmadan bulmak mümkün mü? Teşekkür ederim!

 
Mr-Franklyn >> :

Bir şekilde close[i]/close[i+1] ilişkisinin maksimumunu (min.) dizilerin yardımı olmadan bulmak mümkün mü? Teşekkür ederim!

soru, maksimumun ne için aranacağını nereye yazacağımızdır. genellikle dizi olarak adlandırılır :) ArrayMax(in)imum en iyi seçenektir

[Deleted]  
alsu >> :

soru, maksimumun ne için aranacağını nereye yazacağımızdır. genellikle dizi olarak adlandırılır :) ArrayMax(in)imum en iyi seçenektir

Ve arabelleğe yazmak için ???

 
Mr-Franklyn >> :

Bir şekilde close[i]/close[i+1] ilişkisinin maksimumunu (min.) dizilerin yardımı olmadan bulmak mümkün mü? Teşekkür ederim!

Soruyu doğru anladıysam. O zaman close[i] ile değil, bunun gibi bir şeyle deney yapabilirsiniz:

макс = iHigh ( NULL , 0 , iHighest ( NULL , 0 , MODE_HIGH , Cbar , 0 ) ) ;
мин = iLow ( NULL , 0 , iLowest ( NULL , 0 , MODE_LOW , Cbar , 0 ) ) ;  

burada Cbar, kedi arasındaki son çubukların sayısıdır. bir ekstremum aramak

[Deleted]  
rid >> :

Soruyu doğru anladıysam. O zaman close ile değil, bunun gibi bir şey deneyebilirsin:


burada Cbar, kediler arasında son çubukların sayısıdır. bir ekstremum aramak

Beni ilgilendiren, Prace[i]/Fiyat[i+1] ilişkisinin mutlak değeridir.

 
Mr-Franklyn >> :

Ve arabelleğe yazmak için ???

Tampon bir dizi değil mi?

[Deleted]  
alsu >> :

Tampon bir dizi değil mi?

Evet, ancak Buffer[i]=close[i]/close[i+1] yazıp ardından iHighest işlevini kullanırsam hiçbir şey olmuyor!!!

 
Mr-Franklyn >> :

Evet, ancak Buffer[i]=close[i]/close[i+1] yazıp ardından iHighest işlevini kullanırsam hiçbir şey olmuyor!!!

çünkü iHighest yalnızca zaman serileriyle çalışır. Diğer diziler için, ArrayMaximum'un analogu

 
double Buffer[];

int init()
{
   SetIndexBuffer(0,Buffer);
}

int start()
{
for(i=start;i>=0;i--)
{
   Buffer[i]=Close[i]/Close[i+1];
   double max=Buffer[ArrayMaximum(Buffer,period,i)];
   double min=Buffer[ArrayMinimum(Buffer,period,i)];
   double stddev=iStdDevOnArray(Buffer,period,8,0,MODE_EMA,i);
//TODO
}
///TODO
}