//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 13.08.2008 |//| Описание : Возвращает номер бара фрактала по его номеру. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" или NULL - текущий символ) |//| tf - таймфрейм ( 0 - текущий ТФ) |//| nf - номер фрактала ( 0 - последний) |//+----------------------------------------------------------------------------+int GetFractalBar( string sy= "0" , int tf= 0 , int nf= 0 ) {
if (sy== "" || sy== "0" ) sy= Symbol ();
double f= 0 ;
int i, k=iBars(sy, tf), kf;
for (i= 2 ; i<k; i++) {
f= iFractals (sy, tf, MODE_LOWER, i);
if (f!= 0 ) {
kf++;
if (kf>nf) return (i);
}
f= iFractals (sy, tf, MODE_UPPER, i);
if (f!= 0 ) {
kf++;
if (kf>nf) return (i);
}
}
Print ( "GetFractalBar(): Фрактал не найден" );
return (- 1 );
}
함수는 프랙탈 막대 번호를 반환합니다. 먼저 매개변수 nf = 0으로 호출 - 마지막 프랙탈을 찾은 다음 루프에서 이 함수를 호출합니다. 여기서 nf = 루프 카운터는 1에서 ...까지 필요에 따라입니다. 루프 본문에서 찾은 다음 프랙탈이 필요한 기준과 일치하는지 확인하고 일치하는 경우 루프를 종료합니다. 운동을 하고 나면 필요한 두 프랙탈의 막대 수를 갖게 되며 원하는 대로 작업을 수행할 수 있습니다.
함수는 프랙탈 막대 번호를 반환합니다. 먼저 매개변수 nf = 0으로 호출 - 마지막 프랙탈을 찾은 다음 루프에서 이 함수를 호출합니다. 여기서 nf = 루프 카운터는 1에서 ...까지 필요에 따라입니다. 루프 본문에서 찾은 다음 프랙탈이 필요한 기준과 일치하는지 확인하고 일치하는 경우 루프를 종료합니다. 운동을 하고 나면 필요한 두 프랙탈의 막대 수를 갖게 되며 원하는 대로 작업을 수행할 수 있습니다.
나는 당신 자신이 이미 결정에 접근하고 있습니다.
내 뇌가 녹기 시작하는 더위 때문인지도 몰라)
나는 결정에 접근하고 있습니다 ... 여기 개와 같은 현재가 있습니다. 이해합니다-이해하지만 말할 수 없습니다-즉, 코드로 묘사 할 수 없습니다))
내 뇌가 녹기 시작하는 더위 때문인지도 몰라)
어떻게 프랙탈을 찾고 있습니까?
이 기능과 함께 ZIGZAG- FRACTALS 표시기를 사용하여 도형을 찾습니다.
이제 다음 행이 추가되었습니다. if(ZZCur == High[i] && UpCount < 2) 및 if(ZZCur == Low[i] && DnCount < 2) 다음 프랙탈이 처음 발견된 것보다 높거나 낮은지 확인합니다.
우리는 다음과 같은 라인을 얻었습니다.
if(ZZCur == High[i] && ZZCur > ZZFirst && UpCount < 2) 및
if(ZZCur == 낮음[i] && ZZCur < ZZFirst && DnCount < 2)
그러나 결국 그것은 어떻게 든 부적절하게 보입니다 :(
그림에서 두꺼운 흰색 선은 어떻게 되어야 하는지를 보여주고 가는 녹색 선은 어떻게 나오는지를 보여줍니다 ...
이 기능과 함께 ZIGZAG-FRACTALS 표시기를 사용하여 도형을 찾고 있습니다.
이 기능을 찾아보십시오.
함수는 프랙탈 막대 번호를 반환합니다. 먼저 매개변수 nf = 0으로 호출 - 마지막 프랙탈을 찾은 다음 루프에서 이 함수를 호출합니다. 여기서 nf = 루프 카운터는 1에서 ...까지 필요에 따라입니다. 루프 본문에서 찾은 다음 프랙탈이 필요한 기준과 일치하는지 확인하고 일치하는 경우 루프를 종료합니다. 운동을 하고 나면 필요한 두 프랙탈의 막대 수를 갖게 되며 원하는 대로 작업을 수행할 수 있습니다.
이 기능을 찾아보십시오.
함수는 프랙탈 막대 번호를 반환합니다. 먼저 매개변수 nf = 0으로 호출 - 마지막 프랙탈을 찾은 다음 루프에서 이 함수를 호출합니다. 여기서 nf = 루프 카운터는 1에서 ...까지 필요에 따라입니다. 루프 본문에서 찾은 다음 프랙탈이 필요한 기준과 일치하는지 확인하고 일치하는 경우 루프를 종료합니다. 운동을 하고 나면 필요한 두 프랙탈의 막대 수를 갖게 되며 원하는 대로 작업을 수행할 수 있습니다.
테스터 또는 데모에서?
테스터에서 다른 기기의 포인트는 0과 같습니다.
일반적으로 조건이 명시적으로 설정되어 있지만 테스터를 혼동하지 않도록 한 쌍만 검사하는 것은 테스터에 있었습니다. 일반적으로 트롤 코드로 인해 많은 어려움을 겪었으므로 KimIV에서 쌍으로 트롤을 모니터링하는 기능을 맡았습니다. 이제 모든 것이 데모에서 작동합니다))
도움을 주신 모든 분들께 감사드립니다. 귀하의 설명은 매우 도움이 됩니다.
문제가 해결된 것 같지만 문제가 남아 있습니다...
재사용을 위해 변수를 어떻게 초기화 해제합니까?
아니요, 변수를 초기화할 때 RAM 조각만 할당되는데 왜 다시 할당합니까? 변수를 0으로 설정하고 원하는 만큼 여러 번 사용하십시오. 사실, 무엇이 문제입니까? 왜 변수를 초기화 해제합니까? 그렇게 하는 것은 의미가 없습니다.
왜 변수를 초기화 해제합니까?
조건
우리는 여기서 뭔가를 하고 있다
그렇지 않으면 다른 조건
다른 일을 하다
센스 - 변수를 생성하는 것이 아니라 많은 조건과 카운터입니다.