[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 509

 
여기,
 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 );
 }
모든 것을 올바르게 한 것 같습니다.
 
안녕하세요! 스크립트에서 전략을 테스트할 때 발행된 보고서의 값을 사용할 수 있는지 알려주세요. 예를 들어 보고서 탭에 표시되는 이익입니다.
 
ALigarx :
여기에서는 모든 것을 올바르게 수행한 것 같습니다.
라인만 바꿔도 충분할 것 같아요
 OrderSend ( Symbol (),OP_BUY,lot,Ask, 3 ,Ask-SL* 0.0001 ,Ask+TP* 0.0001 , "" , 14774 , 0 , Blue );

그리고

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

프로 도움.

평균 스프레드를 계산하는 함수가 필요합니다(예: 1분 전, 3분 및 5분 전). 감사하다.

 
TG :

프로 도움.

평균 스프레드를 계산하는 함수가 필요합니다(예: 1분 전, 3분 및 5분 전). 감사하다.


계산하려면 저장도 해야 합니다.
 
Vinin :

계산하려면 저장도 해야 합니다.
글쎄, 3-5 분 안에 변수에서 가능합니다. 1분마다 max-min에서 평균을 계산한 다음 1분당 측정된 평균 또는 배열에 저장합니다.
 
TG :
글쎄, 3-5 분 안에 변수에서 가능합니다. 1분마다 max-min에서 평균을 계산한 다음 1분당 측정된 평균 또는 배열에 저장합니다.

이것은 오랫동안 주변에 있었습니다. 그리고 포럼에 누워
 
Vinin :
이것은 오랫동안 주변에 있었습니다. 그리고 포럼에 누워
이를 근거로 삼을 수 있다.
파일:
 

안녕하세요.

Plz는 초보자에게 알려주세요.

다음과 같은 스크립트가 있습니다.

 #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()
  }
//--------------------------------------------------------------------

Comment() 의 temp_A는 0.00000000으로 출력되고 루프의 Alert (Arr_1[i])는 예상대로 출력되는 이유는 무엇입니까?

 

차트 로드/업데이트를 프로그래밍 방식으로 요청하는 방법은 무엇입니까?

사유: