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

 
1Rakso >> :

신호가 작동하지 않는 이유는 무엇입니까?

필터 영역을 최고점과 최저점의 포인트로 설정하고 싶었습니다. 신호가 작동하지 않습니다. 제가 뭘 잘못하고 있는 건가요?

당신이 여기에서 무엇을 찾고 있는지 확실하지 않습니다 ...

double hi_100 = iHigh(Symbol(),tf_100,iHighest(NULL,tf_100,MODE_HIGH,hibar,n_bar)); //поиск хая наибольшего значения
double lo_100 = iLow (Symbol(),tf_100,iLowest (NULL,tf_100,MODE_LOW,lobar,n_bar)); //поиск лоу наименьшего значения

최대값과 최소값이 N 막대에 대한 것이라면 다음과 같이 검색됩니다.

double hi_100 = High[iHighest(Symbol(), tf_100, MODE_HIGH, hibar, 1)];
double lo_100 = Low [iLowest (Symbol(), tf_100, MODE_LOW, lobar, 1)];

여기서 hibar와 lobar는 높고 낮음이 검색되는 막대의 수입니다.

tf_100 - 최대값과 최소값이 검색되는 시간대입니다.

1 - 1번 바부터 검색이 시작되며, 0번 바에서 검색하려면 0을 설정해야 합니다.

 
Swan >> :


oooh, 나는 debiiel, 불명예를 부끄러워
 
Dimi >> :

이제 질문 자체입니다. 이 배열의 값 20을 어떻게 변수로 빼낼 수 있습니까?

이중 Max_array[20] 선언; 필요한 경우 함수 외부(전역 수준에서) - 정적

 
alsu >> :

먼저 코드를 논리적인 순서로 배치합니다.

ArraySetAsSeries(Max_array,true) - 왜???

for(c=1; c <= total_c; c++) - 배열은 0에서 total_c-1까지 인덱싱됩니다 .

솔직히 말하면 왜 로직이 마음에 들지 않는지 이해가 되지 않았습니다... 여기 ArraySetAsSeries(Max_array,true) 배열의 인덱싱 방향을 설정합니다. 아니면 뭔가 잘못된건가요???

 
Dimi >> :

솔직히 말하면 왜 로직이 마음에 들지 않는지 이해가 되지 않았습니다... 여기 ArraySetAsSeries(Max_array,true) 배열의 인덱싱 방향을 설정합니다. 아니면 뭔가 잘못된건가요???


이것은 확실히 오류가 아니며 논리의 관점에서 볼 때 불필요한 줄입니다. ArraySetAsSeries는 배열 차원이 더 증가할 때(예: 각각의 새 막대에서) 의미가 있으며 새 요소의 인덱스는 0입니다. 정적 경우에는 요소가 메모리에 있는 순서에 차이가 없습니다. 두 번째 설명과 관련하여 - 차원 N의 배열에서 마지막 요소의 인덱스는 N-1입니다. (c=0; c < total_c; c++)에 대한 올바른 코드

 
alsu >> :

이것은 확실히 오류가 아니며 논리의 관점에서 볼 때 불필요한 줄입니다. ArraySetAsSeries는 배열 차원이 더 증가할 때(예: 각각의 새 막대에서) 의미가 있으며 새 요소의 인덱스는 0입니다. 정적 경우에는 요소가 메모리에 있는 순서에 차이가 없습니다. 두 번째 설명과 관련하여 - 차원 N의 배열에서 마지막 요소의 인덱스는 N-1입니다. (c=0; c < total_c; c++)에 대한 올바른 코드

감사합니다. 이제 오류를 이해했습니다. 그러나 이 이중 Max_array[20]; 그것이 나에게 올 때까지 ... 나는별로 다르게 설명하지 않을 것입니다. 이 함수는 마지막 20개 막대에서 RSI의 최대값을 찾습니다. 다른 함수에서 계산할 막대 수에서 이 최대값을 검색해야 합니다. 즉, 각각의 새 막대에서 이 계산된 막대 수가 변경됩니다. 아마도 10, 아마도 20 또는 30 .... 코드에서 구현하는 방법은 다음과 같습니다. 막대 계산을 위한 함수가 준비되었습니다. 이제 이 배열에 이 숫자 20 대신 삽입하는 방법 double Max_array[20]; ????

 
Dimi >> :

감사합니다. 이제 오류를 이해했습니다. 그러나 이 이중 Max_array[20]; 그것이 나에게 올 때까지 ... 나는별로 다르게 설명하지 않을 것입니다. 이 함수는 마지막 20개 막대에서 RSI의 최대값을 찾습니다. 다른 함수에서 계산할 막대 수에서 이 최대값을 검색해야 합니다. 즉, 각각의 새 막대에서 이 계산된 막대 수가 변경됩니다. 아마도 10, 아마도 20 또는 30 .... 코드에서 구현하는 방법은 다음과 같습니다. 막대 계산을 위한 함수가 준비되었습니다. 이제 이 배열에 이 숫자 20 대신 삽입하는 방법 double Max_array[20]; ????


매우 간단:

 double IsMaxRSI ( int total_c ) {
   . . .
   double Max_array [ ] ;  
   ArrayResize ( Max_array , total_c ) ;
   . . .
}
 виноват, код куда-то выпал
 
Dimi >> :

당신이 여기에서 무엇을 찾고 있는지 확실하지 않습니다 ...

double hi_100 = iHigh(Symbol(),tf_100,iHighest(NULL,tf_100,MODE_HIGH,hibar,n_bar)); //поиск хая наибольшего значения
double lo_100 = iLow (Symbol(),tf_100,iLowest (NULL,tf_100,MODE_LOW,lobar,n_bar)); //поиск лоу наименьшего значения

최대값과 최소값이 N 막대에 대한 것이라면 다음과 같이 검색됩니다.

double hi_100 = High[iHighest(Symbol(), tf_100, MODE_HIGH, hibar, 1)];
double lo_100 = Low [iLowest (Symbol(), tf_100, MODE_LOW, lobar, 1)];

여기서 hibar와 lobar는 높고 낮음이 검색되는 막대의 수입니다.

tf_100 - 최대값과 최소값이 검색되는 TimeFrame입니다.

1 - 1번 바부터 검색이 시작되며, 0번 바에서 검색하려면 0을 설정해야 합니다.

감사합니다. 귀하의 버전을 사용해 보겠습니다. 막대의 경우 50에서 100 막대 사이의 레벨을 찾고 있었기 때문에 최적화를 위해 외부 막대로 가져왔습니다.

감사합니다 오류가 있는 곳을 찾았습니다 전역 변수에 tf 배열을 삽입하지 않았고 외부 변수의 tf 계산에서 tf)))))

 extern int tf_100   =    3 ; //)))

int tf [ 10 ] = { 0 , 1 , 5 , 15 , 30 , 60 , 240 , 1440 , 10080 , 43200 } ; //массив таймфрейма забыл его вставить)))

double hi_100 = High [ iHighest ( Symbol ( ) , tf [ tf_100 ] , MODE_HIGH , hibar , 1 ) ] ;
double lo_100 = Low [ iLowest ( Symbol ( ) , tf [ tf_100 ] , MODE_LOW , lobar , 1 ) ] ;

그래, 난 유치하지 않고 바보야, 이런 기본적인 것들......

 
alsu >> :

매우 간단:

정말 감사합니다!!! 효과가 있었던 것 같습니다!!!

시계가 작동하는 것처럼 다시 감사합니다!!! 정말 간단했습니다.
 

친구, 좋은 오후입니다.


당신에게 어렵지 않다면 그러한 어려움을 해결하는 방법을 알려주십시오.


나는 첫 번째 조언자 중 한 명을 작성하고 있으며 다음과 같은 어려움에 직면했습니다.


1) 동일한 통화에 대해 "주문 구별"이 가능하지만 다른 TF에서 이루어집니까?

(예를 들어, 나는 H4와 M30에서 같은 통화 쌍에서 EA와 거래합니다... 나는 H4에서 거래를 했고 지표는 이 TF에서 움직임의 지속을 보여주지만 이 거래는 신호로 인해 마감되었습니다 M30에서 종료됩니다. 또한 "여러 TF의 데이터 사용"은 Expert Advisor에서 제공되지 않습니다...)

즉, H4와 M30에서 이러한 트랜잭션을 프로그래밍 방식으로 어떻게든 구별할 수 있었습니까?


2) 어드바이저 를 쓰다보니 뻔한 생각이 들더군요 :) "포지션을 청산하라는 신호와 반대의 포지션을 리버스로 열라는 신호"가 항상 좋은 것은 아닙니다....

종종 반대 신호가 형성되기 전에 이익의 상당 부분이 손실됩니다...

따라서 나는 후행 정지를 사용하고 피보나치에 따라 목표를 설정하기로 결정했습니다.


거래 주문 시 특정 피보나치 수준에 대한 기준점인 목표를 프로그래밍 방식으로(전문가 고문에서) 어떻게 설정할 수 있습니까?


3) BrainTrend1StopN과 같은 표시기가 있습니다. 이 표시기에 의해 생성된 "포인트" 수준으로 스톱을 "끌어올리는" 방법을 알려주십시오.


미리 감사드립니다.
파일:
사유: