MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1886

 
Владимир Казаков # :

표정을 행동으로 분해 ... 그리고 보라, 이제 결과는 똑같다!?

그것은 내가 원하는대로 작동하지 않는 유형 캐스팅과 동일하다는 것을 의미합니다.

전문가와 이해하는 사람들이 어쨌든 문제가 무엇인지 설명 할 수 있습니까?!
글쎄, 실수를 반복하지 않기 위해))

추신: 이 형식에서는 같은 표현이 같은 방식으로 작동하기 시작했습니다.

제거 방법은 int를 double로 캐스팅하는 말도 안되는 것으로 판명되었습니다.

내가 모든 것을 올바르게 이해했기를 바랍니다.

 double a = ( double ) ((d* pow ( 10 , _Digits - 2 ))*( 180 / M_PI )*( double ) coefAngle);
 double a = ( double ) ((d* pow ( 10 , _Digits - 2 ))*( 180.0 / M_PI )*( double ) coefAngle);
 

안녕, 말해줘, 로봇, mt5.

배열에서 인덱스는 표시기 버퍼 에서와 같이 현재 막대에 상대적인 이동 값과 일치해야 합니다.

이 작업을 "수락"하는 방법은 무엇입니까?

 
Andrey Sokolov # :

안녕, 말해줘, 로봇, mt5.

배열에서 인덱스는 표시기 버퍼 에서와 같이 현재 막대에 상대적인 이동 값과 일치해야 합니다.

이 작업을 "수락"하는 방법은 무엇입니까?

ArraySetAs 시리즈

 
Vitaly Muzichenko # :

ArraySetAs 시리즈

감사해요. 지표뿐만 아니라 로봇에서도 작동합니까?

 
Andrey Sokolov # :

감사해요. 지표뿐만 아니라 로봇에서도 작동합니까?

나는 당신의 일을 모르지만 배열이 뒤집힙니다.

 
Vitaly Muzichenko # :

나는 당신의 일을 모르지만 배열이 뒤집힙니다.

배열에서 인덱스는 다음과 같이 현재 막대에 상대적인 이동 값과 일치해야 합니다.   표시기 버퍼 .

지표에서와 같이 지수 값은 새 양초가 나타난 후 양초와 일치해야 합니다.

 
Andrey Sokolov # :

배열에서 인덱스는 다음과 같이 현재 막대에 상대적인 이동 값과 일치해야 합니다.   표시기 버퍼 .

지표에서와 같이 지수 값은 새 양초가 나타난 후 양초와 일치해야 합니다.

시도해보십시오.

 
Vitaly Muzichenko # :

시도해보십시오.

이것은 작동하는 방식이 아닙니다. ini 할 때 인덱스 0에 300을 쓰고 새 양초의 출현으로 인덱스 1에 300이 있어야하지만 그렇지 않습니다.

 #property strict

int bars;
double arr[];

int OnInit () //////////////***OnInit()****///*************OnInit()*******/////////***/////////////////////OnInit()
{
   Comment ( "" );
   
   bars = Bars ( NULL , 0 );
   bool series = ArraySetAsSeries (arr, true );
   int size = ArraySize (arr);
   int res = ArrayResize (arr, bars);
   arr[ 0 ] = 300 ;

   return ( INIT_SUCCEEDED );
} //+------------------------------------------------------------------+
void OnDeinit ( const int reason) //////////////**////////*OnDeinit()****////////////////////*************OnDeinit()
{       
         Comment ( "" );  
} //+------------------------------------------------------------------+
void OnTick () //////////////***OnTick()****///*************OnTick()**********/////////////////////////////OnTick()
{
   if (bars!= Bars ( NULL , 0 ))
   {
        bars= Bars ( NULL , 0 );
         int res = ArrayResize (arr, bars);
   }
   
   Comment ( TimeCurrent (), "  " , bars, "  " , arr[ 0 ], "  " , arr[ 1 ], "  " , arr[ 2 ], "  " , arr[ 3 ]);
} //+------------------------------------------------------------------+

나 자신은 새로운 양초로 주기에서 전체 배열의 "이동"을 쓸 수 있지만 차트 작업을 위한 언어에는 규칙적인 것이 있을 수 있습니다.

 
Andrey Sokolov # :

이것은 작동하는 방식이 아닙니다. ini 할 때 인덱스 0에 300을 쓰고 새 양초의 출현으로 인덱스 1에 300이 있어야하지만 그렇지 않습니다.

새 양초가 있는 주기에서 전체 배열의 "이동"을 직접 작성할 수 있지만 차트 작업을 위한 언어에서 규칙적인 것이 있을 수 있습니다.

뒤집었지만 의미가 없다.

 #property strict

int bars;
double arr[]={};

int OnInit () //////////////***OnInit()****///*************OnInit()*******/////////***/////////////////////OnInit()
{
   Comment ( "" );
   
   bars = Bars ( NULL , 0 );
   int size = ArraySize (arr);
   int res = ArrayResize (arr, bars);
   arr[ res- 1 ] = 300 ;
   ArraySetAsSeries (arr, true );
   return ( INIT_SUCCEEDED );
} //+------------------------------------------------------------------+
void OnDeinit ( const int reason) //////////////**////////*OnDeinit()****////////////////////*************OnDeinit()
{       
         Comment ( "" );  
} //+------------------------------------------------------------------+
void OnTick () //////////////***OnTick()****///*************OnTick()**********/////////////////////////////OnTick()
{
static int res;
   if (bars!= Bars ( NULL , 0 ))
   {
        bars= Bars ( NULL , 0 );
        res = ArrayResize (arr, bars);
   }
   
   Print (res, "  " , arr[ 0 ], "  " , arr[ 1 ], "  " , arr[ 2 ]);
} //+------------------------------------------------------------------+

다르게 작성

 
Andrey Sokolov # :

이것은 작동하는 방식이 아닙니다. ini 할 때 인덱스 0에 300을 쓰고 새 양초의 출현으로 인덱스 1에 300이 있어야하지만 그렇지 않습니다.

새 양초가 있는 주기에서 전체 배열의 "이동"을 직접 작성할 수 있지만 차트 작업을 위한 언어에서 규칙적인 것이 있을 수 있습니다 .

예, 일반 것이 있습니다 ... 어레이에 추가하고 어레이에서 제거하십시오. 배열은 동적이어야 합니다. 더 정확하게는 문서를 보면 어떻게 쓰여졌는지 기억나지 않습니다...