지뢰밭에서의 시장예절 또는 예의범절 - 페이지 74

 
Neutron >> :

나는 당신이 상상할 수 있는 것보다 훨씬 더 자주 틀립니다(거의 항상).

구조적으로 Kagi와 Renko의 코드는 동일합니다. 알고리즘에는 두 개의 비교 연산자가 있습니다. 차이점은 그 중 하나에만 있습니다. Kagi의 경우 상단이 kotir의 이산성에 따라 결정되고 Renko의 경우 분할 단계 H까지 결정됩니다.

그리고 Renko 알고리즘을 세 줄로 지정할 수 있다면 Kagi는 자동으로 (내 진술의 정확성까지) 이 조건을 충족할 것입니다.

자세히 살펴보면 kotir와 Kagi 빌드에 대해 독립적인 인덱싱이 있습니다. 나는 Kagi-counts의 수직 좌표뿐만 아니라 인용 좌표의 인덱스도 서브루틴에서 파생합니다...

자, 여기 renko 알고리즘이 있는 작은 스크립트가 있습니다. 물론 3줄로 쓸 수도 있지만 여전히 15개 연산자입니다. 할당, 분기 등을 포함합니다. 파일에 대한 결과의 출력을 뺍니다.

 //+------------------------------------------------------------------+
//|                                              test_Renko_Kagi.mq4 |
//|                                Copyright © 2009, HideYourRichess |
//+------------------------------------------------------------------+
int        rand [ ] ;
int       Series = 65000 ;
int       H = 7 ;

int start ( )
   {
   int csvHandle = FileOpen ( "test_Renko_Kagi" + ".csv" , FILE_CSV | FILE_WRITE , ';' ) ;
   if ( csvHandle > 0 ) {
     ArrayResize ( rand , Series ) ;
    
     rand [ 0 ] = 0 ;
     MathSrand ( TimeLocal ( ) ) ;
     for ( int i = 1 ; i < Series ; i + + ) { rand [ i ] = rand [ i - 1 ] + ( MathRand ( ) - 16383 ) / 4000 ; }
    
     int renko = rand [ 0 ] ;
     FileWrite ( csvHandle , 0 , rand [ 0 ] , renko ) ;
    
     for ( i = 1 ; i < Series ; i + + ) {
     if ( MathAbs ( rand [ i ] - renko ) < H ) {
       FileWrite ( csvHandle , i , rand [ i ] ) ;
     } else {
       while ( rand [ i ] - renko > = H ) { renko = renko + H ; }
       while ( renko - rand [ i ] > = H ) { renko = renko - H ; }
       FileWrite ( csvHandle , i , rand [ i ] , renko ) ;
     }
     }
    
   }
   if ( csvHandle > 0 ) FileClose ( csvHandle ) ;
   return ( 0 ) ;
   }

알고리즘은 간격, 간격 등이 있는 데이터에서 올바르게 작동할 수 있습니다. 그리고 이것은 좋고 유용합니다.


여기 그림이 있습니다. 파란색은 데이터, 빨간색은 렌코입니다.


알고리즘의 단점은 단조로운 상승 또는 하락이 있는 영역에서 중간 지점을 노출한다는 것입니다. H-휘발성 값을 얻으려면 추가 처리(중간 지점 "삭제")를 수행해야 하기 때문에 사실이 아닙니다. 이는 실제로 보이는 것보다 더 많은 작업이 있음을 의미합니다.


kaga의 경우 알고리즘은 논리와 연산자 수 모두에서 더 복잡합니다.


이제 질문

1. 이 renko 알고리즘을 더 짧게 만들려면 어떻게 해야 합니까?

2. 이 renko를 더 어렵게 만들지 않고 kagi 알고리즘으로 만들려면 어떻게 해야 합니까?


나는 아직 합리적인 해결책을 보지 못했지만 모든 것이 간단하고 가능하다고 말합니다.

 

여기, 카기가 밝혀진 것 같습니다. 누군가 확인하면 기쁠 것입니다.



 
HideYourRichess писал(а) >>

kaga의 경우 알고리즘은 논리와 연산자 수 모두에서 더 복잡합니다.

Pastekhov의 작업에서 설명한 구성 알고리즘을 기본으로 사용하면 Renko와 Kagi의 차이점은 정확히 수직 축을 따라 상단을 이산화하는 단계에 있습니다. 위에서 이야기한 내용입니다.

따라서 알고리즘 수준에서 이해하는 데 동의하지 않습니다. 분명히, 우리는 이 문제를 먼저 처리해야 합니다.

paralocus 작성 >>

여기, 카기가 밝혀진 것 같습니다. 누군가 확인하면 기쁠 것입니다.

paralocus, 인용문과 프로그램이 있는 파일을 던진 다음 비교할 수 있습니다. 또는 Pm이 있는 매개변수를 설명하십시오.
 
목록과 견적을 첨부합니다. P 매개변수는 Open 시리즈입니다(이 경우 GBPUSD 분은 아카이브에 있음) m 매개변수는 한 kagi 단계 기본 기본 분할 수입니다.
파일:
kagi.rar  163 kb
 
Neutron >> :

Pastekhov의 작업에서 설명한 구성 알고리즘을 기본으로 사용하면 Renko와 Kagi의 차이점은 정확히 수직 축을 따라 상단을 이산화하는 단계에 있습니다. 위에서 이야기한 내용입니다.

따라서 알고리즘 수준에서 이해하는 데 동의하지 않습니다. 분명히, 우리는 이 문제를 먼저 처리해야 합니다.


나는 당신에게 그러한 알고리즘이 없다는 인상을 받았습니다. 즉 kagi 알고리즘은 renko 알고리즘보다 더 복잡하지 않습니다.


먼저 이 문제를 처리한 다음 내 이해를 바탕으로 처리해 보겠습니다.


또 다른 요점은 시리즈의 시작 부분을 처리하는 것입니다. 여기 당신의 그림이 있습니다.




내 생각에 시작이 처리되었는지는 완전히 명확하지 않습니다. 왜 이런 식으로 해야 한다고 결정했습니까? 트레이딩 알고리즘과 파티셔닝 알고리즘의 대응성의 관점에서 볼 때, 첫 번째 포인트는 첫 번째 피크와 일치하는 것이 바람직하다.


또한 데이터의 "갭"을 올바르게 처리하는 문제는 여전히 열려 있습니다.

 
paralocus >> :

여기, 카기가 밝혀진 것 같습니다. 누군가 확인하면 기쁠 것입니다.

카기가 아닙니다. 로컬 정점은 건너뜁니다.

 
HideYourRichess >> :

카기가 아닙니다. 로컬 정점은 건너뜁니다.

좀 더 구체적으로 말씀해주실 수 있나요? kagi 파티셔닝 알고리즘에 따르면 로컬 정점은 때때로 건너뜁니다.

 
paralocus >> :

좀 더 구체적으로 말씀해주실 수 있나요? kagi 파티셔닝 알고리즘에 따르면 로컬 정점은 때때로 건너뜁니다.

아니요, renko로 건너뛸 수 있습니다. Kagi에서는 절대 건너뛸 수 없습니다. 중성자 플롯에서 이들은 빨간색과 파란색 점입니다. 당신의 Kagi aglorhythm이 정확하지 않다는 것입니다. 나는 이미 Candid로부터 올바른 알고리즘을 제공했습니다. 파스투호프의 논문에 명시된 알고리즘은 불행히도 시리즈의 시작 부분을 처리하는 데 있어 완전히 정확하지 않습니다.


이것과 같은 것이 필요합니다.


빨간 것은 카기의 꼭대기 또는 지그재그의 꼭대기입니다. 녹색, "돌아오지 않는" 지점 - 카가의 다음 봉우리가 완전히 형성되었다고 판단되는 지점. 진한 파란색 점은 데이터입니다.

 
HideYourRichess >> :

파스투호프의 논문에 명시된 알고리즘은 불행히도 시리즈의 시작 부분을 처리하는 데 있어 완전히 정확하지 않습니다.



유감스럽게도 파스투호프의 논문은 수학을 이해하는 나의 능력 수준을 크게 넘어선다.

 
paralocus >> :

유감스럽게도 파스투호프의 논문은 수학을 이해하는 나의 능력 수준을 크게 넘어선다.

그럼, 죽여. 수학적으로 입증된 몇 가지 사항이 있으며 이는 수학자에게 흥미로울 것입니다. 그리고 결론은 매우 간단하며 대부분 말로 설명되어 있습니다. 기본적으로 H-변동성은 비모수 통계입니다. 주요 결론은 H-변동성이 2H와 같으면 그러한 계열에 대한 차익 거래가 불가능하다는 것입니다(수학적으로 증명됨). 그렇지 않으면 차익 거래가 가능합니다. 이 경우 H-변동성이 2H보다 크거나 작은지에 따라 두 가지 전략이 있습니다. 이것은 기본입니다. 또한 패치 등에 대한 몇 가지 참고 사항이 있습니다.