[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 227

 
oyshen >> :

그리고 이미 마감된 마지막 2개의 거래를 어떻게 선택합니까(계정 내역 목록에서)

이런 식이어야합니다 -

선택 매개변수를 올바르게 작성하는 방법은 무엇입니까?

마지막 두 주문의 번호는 OrdersHistoryTotal()-1 및 OrdersHistoryTotal()-2입니다.


다음은 테스트할 스크립트입니다.

 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 ( ) ) ) ;   
   }
}

행운을 빕니다!

 
alsu >> :

코드는 매우 원시적입니다.

봐: 루프의 첫 번째 반복에서 i=Bars-Period1+1 k=i+Period1-1=Bars-Period1+1+Period1-1=Bars를 얻은 다음 - Close[k], 즉, 이미 배열에서 벗어났습니다.

정답: i=Bars-Period1 - 1

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

close[i]/close[i+1] 관계의 최대(최소)를 어떻게든 찾을 수 있지만 배열의 도움 없이는 ??? 고맙습니다!

 
Mr-Franklyn >> :

close[i]/close[i+1] 관계의 최대(최소)를 어떻게든 찾을 수 있지만 배열의 도움 없이는 ??? 고맙습니다!

문제는 최대값을 검색할 위치를 어디에 기록할 것인가 하는 것입니다. 일반적으로 배열이라고 합니다. ArrayMax(in)imum이 최상의 옵션입니다.

 
alsu >> :

문제는 최대값을 검색할 위치를 어디에 기록할 것인가 하는 것입니다. 일반적으로 배열이라고 합니다. ArrayMax(in)imum이 최상의 옵션입니다.

그리고 버퍼에 적는다면???

 
Mr-Franklyn >> :

close[i]/close[i+1] 관계의 최대(최소)를 어떻게든 찾을 수 있지만 배열의 도움 없이는 ??? 고맙습니다!

질문을 올바르게 이해했다면. 그런 다음 close[i]가 아닌 다음과 같이 실험할 수 있습니다.

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

여기서 Cbar는 고양이 중 마지막 막대의 수입니다. 극한을 찾고

 
rid >> :

질문을 올바르게 이해했다면. 그런 다음 닫기가 아니라 다음과 같이 실험할 수 있습니다.


여기서 Cbar는 고양이 중 마지막 막대의 수입니다. 극한을 찾고

내가 관심을 갖는 것은 Prace[i]/Price[i+1] 관계의 절대값입니다.

 
Mr-Franklyn >> :

그리고 버퍼에 적는다면???

버퍼는 배열이 아닙니까?

 
alsu >> :

버퍼는 배열이 아닙니까?

예, 하지만 Buffer[i]=close[i]/close[i+1] 라고 쓰고 iHighest 함수를 사용하면 아무 일도 일어나지 않습니다!!!

 
Mr-Franklyn >> :

예, 하지만 Buffer[i]=close[i]/close[i+1] 라고 쓰고 iHighest 함수를 사용하면 아무 일도 일어나지 않습니다!!!

iHighest 는 시계열에서만 작동하기 때문입니다. 다른 어레이의 경우 ArrayMaximum의 유사

 
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
}