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

 
Burada,
 int X= 0 ;
double S = 0.0000 ;
extern double        lot= 0.1 ;
extern double        koef= 1.5 ;
extern int        SL= 10 ;
extern int        TP= 10 ;
double dl;
double a;

int init()
  {
  a=lot;
   return ( 0 );
  }

int deinit()
  {

   return ( 0 );
  }


int start()
 {   
               
              
              
                S=Open[ 0 ];
                 Sleep ( 1000 );
                
             
             if ( OrdersTotal () == 0 && X== 1 )
              { 
               if (Close[ 0 ]>dl){lot=a;}
              X= 0 ;
              }
              
               if ( OrdersTotal () == 0 && X== 2 )
              { 
               if (Close[ 0 ]<dl){lot=a;}
              X= 0 ;
              }
                
             
             
 
                   if ( OrdersTotal () == 0 && Close[ 0 ]>S && Close[ 1 ]>Open[ 1 ]) 
                           {
                            dl=Close[ 0 ];
                             OrderSend ( Symbol (),OP_BUY,lot,Ask, 3 ,Ask-SL* 0.0001 ,Ask+TP* 0.0001 , "" , 14774 , 0 , Blue ); 
                            lot=lot*koef;
                            X= 1 ;            
                           }
                   
                     if ( OrdersTotal () == 0 && Close[ 0 ]<S && Close[ 1 ]<Open[ 1 ]) 
                           {
                            dl=Close[ 0 ];
                             OrderSend ( Symbol (),OP_SELL,lot,Bid, 3 ,Bid+SL* 0.0001 ,Bid-TP* 0.0001 , "" , 14774 , 0 , Red ); 
                            lot=lot*koef;
                            X= 2 ;
                           }

   return ( 0 );
 }
her şeyi doğru yapmış gibi görünüyor.
 
Tünaydın! Lütfen, stratejileri test ederken yayınlanan raporun değerlerini komut dosyasında kullanmanın mümkün olup olmadığını söyleyin. Örneğin, rapor sekmesinde görüntülenen kar.
 
ALigarx :
Burada, her şeyi doğru yapmış gibi görünüyor.
satırları değiştirmen yeterli bence
 OrderSend ( Symbol (),OP_BUY,lot,Ask, 3 ,Ask-SL* 0.0001 ,Ask+TP* 0.0001 , "" , 14774 , 0 , Blue );

ve

 OrderSend ( Symbol (),OP_SELL,lot,Bid, 3 ,Bid+SL* 0.0001 ,Bid-TP* 0.0001 , "" , 14774 , 0 , Red ); 
 

profesyonel yardım.

örneğin 1 dakika önce, 3 dakika ve 5 dakika önce ortalama yayılımı hesaplamak için bir fonksiyona ihtiyacınız var. teşekkür etmek.

 
TG :

profesyonel yardım.

örneğin 1 dakika önce, 3 dakika ve 5 dakika önce ortalama yayılımı hesaplamak için bir fonksiyona ihtiyacınız var. teşekkür etmek.


Saymak için de saklanması gerekir.
 
Vinin :

Saymak için, aynı zamanda saklanmalıdır.
Eh, değişkenlerde 3-5 dakika içinde mümkündür. her dakika max-min'den ortalamayı hesaplıyoruz ve ardından bunu 1 dakika başına ölçülen ortalamada veya bir dizide saklıyoruz.
 
TG :
Eh, değişkenlerde 3-5 dakika içinde mümkündür. her dakika max-min'den ortalamayı hesaplıyoruz ve ardından bunu 1 dakika başına ölçülen ortalamada veya bir dizide saklıyoruz.

Bu uzun süredir var. Ve forumda yatıyordu
 
Vinin :
Bu uzun süredir var. Ve forumda yatıyordu
Bu temel alınabilir.
Dosyalar:
 

Tünaydın.

Lütfen bir acemi söyle.

şöyle bir komut dosyası var:

 #property indicator_chart_window     // Индик. рисуется в основном окне
#property indicator_buffers 1        // Количество буферов
#property indicator_color1 Blue     // Цвет первой линии

double Buf_0[];     // Открытие индикаторных массивов
//--------------------------------------------------------------------
int init()                           // Специальная функция init()
  {
//--------------------------------------------------------------------
   SetIndexBuffer ( 0 ,Buf_0);         // Назначение массива буферу
   SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 2 ); // Стиль линии
//--------------------------------------------------------------------
   return ;                           // Выход из спец. ф-ии init()
  }
//--------------------------------------------------------------------
int start()                         // Специальная функция start()
  {
   int i,                           // Индекс бара
       Counted_bars;                 // Количество просчитанных баров 
   double Arr_1[ 9999 ], temp_A;
//--------------------------------------------------------------------
   Counted_bars= IndicatorCounted (); // Количество просчитанных баров 
   i= Bars -Counted_bars- 1 ;           // Индекс первого непосчитанного
   while (i>= 0 )                       // Цикл по непосчитанным барам
     {
      Buf_0[i]=High[i];             // Значение 0 буфера на i-ом баре
      Arr_1[i]=Close[i]-Open[i];
       Alert (Arr_1[i]);
      i--;                           // Расчёт индекса следующего бара
     }
   ArraySort (Arr_1, WHOLE_ARRAY , 0 ,MODE_DESCEND);
   temp_A=Arr_1[ 0 ];
   Comment ( DoubleToStr ( "temp_A" , 8 ), " - " , Counted_bars);
//--------------------------------------------------------------------
   return ;                           // Выход из спец. ф-ии start()
  }
//--------------------------------------------------------------------

Döngüdeki Uyarı (Arr_1[i]) beklendiği gibi çıkarken, Comment() içindeki temp_A neden 0.000000000 olarak çıkıyor?

 

Bir grafiğin yüklenmesi/güncellenmesi için programlı olarak nasıl talep edilir?