엘리엇 파동 이론에 기반한 전문가 - 페이지 12

 
Yurixx :
정수 :
유리크스 :


정규화된 발진기에 구축된 간단한 TS를 상상해 보십시오. 최대 - 매도, 최소 - 구매. 따라서 성공적으로 거래하려면 시간에 극한값을 식별하는 것만으로도 충분합니다. 간단하지 않습니까? 그리고 확실히 충분합니다. 이 작업을 빨리(매우 빠르지 않음) 수행할 수 있습니까? 아니면 최소한 만들까요?


아주, 아주 빨리 할 수 있어요.


괜찮은 ! 그런 다음 EURUSD, M1에 RSI(14,Close) 표시기를 던지고 지체 없이 RSI 극값을 식별하는 문제를 해결하십시오.

인접 극단 사이의 RSI 변화의 진폭은 최소 25이어야 합니다.


문제를 정확하고 완전하게 진술하십시오. 이론적으로 풀 수 있다면 실제로도 풀 수 있습니다. 문제를 올바르게 설정하면 모든 문제가 해결됩니다. 이 문제에서 극한값을 식별하는 기준은 값을 25단위로 롤백(rollback)하는 것인데, 이러한 기준에 의한 식별은 지체 없이 이론상 풀리지 않는다. 기준을 결정하면 왼쪽에 25개 이상, 오른쪽에 5개 이상, 오른쪽에 10개 미만이면 지연이 줄어들지만 잘못된 신호가 더 많이 발생합니다.

 
//+------------------------------------------------------------------+
//|                                                     toYurixx.mq4 |
//|                                                                * |
//|                                                                * |
//+------------------------------------------------------------------+
#property copyright "*"
#property link      "*"
 
#property indicator_separate_window
#property indicator_maximum 100
#property indicator_minimum 0
#property indicator_buffers 3
#property indicator_color1 Yellow
#property indicator_color2 DeepSkyBlue
#property indicator_color3 Red
//---- input parameters
extern int       RightMore=5;
extern int       RightLess=10;
extern int       LeftMore=25;
 
 
//---- buffers
double rsi[];
double u[];
double l[];
 
 
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,rsi);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,159);
   SetIndexBuffer(1,u);
   SetIndexEmptyValue(1,0.0);
   SetIndexStyle(2,DRAW_ARROW);
   SetIndexArrow(2,159);
   SetIndexBuffer(2,l);
   SetIndexEmptyValue(2,0.0);
 
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    limit=Bars-IndicatorCounted();
      for(int i=0;i<limit;i++){
         rsi[i]=iRSI(NULL,0,14,0,i);
      }
      ArrayInitialize(u,EMPTY_VALUE);
      ArrayInitialize(l,EMPTY_VALUE);      
      for(i=Bars-1;i>=0;i--){
         double max=rsi[i];
         int maxb;
         for(int j=i;j<Bars;j++){
               if(rsi[j]>max){
                  max=rsi[j];
                  maxb=j;
               }
               if(max-rsi[i]>RightLess){
                  break;//не состоялся
               }
               if(max-rsi[j]>LeftMore){
                     if(max-rsi[i]>RightMore){//нашли
                        u[maxb]=rsi[maxb];
                     }
                  break;
               }
         }
         
         max=rsi[i];
         for(j=i;j<Bars;j++){
               if(rsi[j]<max){
                  max=rsi[j];
                  maxb=j;
               }
               if(rsi[i]-max>RightLess){
                  break;//не состоялся
               }
               if(rsi[j]-max>LeftMore){
                     if(rsi[i]-max>RightMore){//нашли
                        l[maxb]=rsi[maxb];
                     }
                  break;
               }
         }         
         
      }
      
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

Total 06/23/2007 01:45 - 06/23/2007 01:08 = 이 문제를 푸는데 37분이 걸렸지만 이 시간에 커피도 마셨습니다. 극값의 왼쪽과 오른쪽에 있는 막대의 수에 따라 기준을 도입하는 것도 필요합니다.

 
Integer :
유리크스 :


괜찮은 ! 그런 다음 EURUSD, M1에 RSI(14,Close) 표시기를 던지고 지체 없이 RSI 극값을 식별하는 문제를 해결하십시오.

인접 극단 사이의 RSI 변화의 진폭은 최소 25이어야 합니다.


문제를 정확하고 완전하게 진술하십시오. 이론적으로 해결할 수 있다면 실제로도 마찬가지입니다. 문제의 올바른 공식화 후에는 모두 해결됩니다(당신 자신도 할 수 있습니다). 이 문제에서 극한값을 식별하는 기준은 값을 25단위로 롤백(rollback)하는 것인데, 이러한 기준에 의한 식별은 지체 없이 이론상 풀리지 않는다. 기준을 결정하면 왼쪽에 25개 이상, 오른쪽에 5개 이상, 오른쪽에 10개 미만이면 지연이 줄어들지만 잘못된 신호가 더 많이 발생합니다.


물론 코드에 대해 감사합니다. 하지만 이것은 스스로 이해하는 것처럼 솔루션이 아니며 작업이 아닙니다.

제가 제 자신을 너무 간결하게 표현했을 수도 있지만, 사실 이것은 매우 정확한 표현입니다. 더 길 수 있습니다. 이력이 아닌 실시간으로 작동하는 국소 극값을 식별하는 절차가 필요합니다. 식별은 막대 완성 후 지표 차트의 해당 지점이 극단점인지 여부를 결정하는 것을 의미합니다. 국소 극값은 오른쪽과 왼쪽 모두에서 표시기 값이 25.0 이상 변경되는 극값입니다.

막대가 완성될 때 예상되는 극한점의 오른쪽에 대한 지표의 향후 변화를 알 수 없기 때문에 지표의 행동에 대한 최적의 예측에 대해 이야기하고 있습니다. 이 예측은 외삽이 아닙니다. 극점 오른쪽에 있는 지표 값 자체는 관심이 없기 때문입니다. 유일한 조건은 극한 조건입니다. 지표 값이 규정된 양만큼 변경됩니다. 예측의 최적성은 통계적 의미로 이해됩니다. 즉, 예측은 충분히 높은 신뢰도를 가져야 합니다.

형식적으로는 다 다르게 보이지만 나는 당신에게 새로운 것을 말하지 않았습니다. 이 모든 것이 이미 "지연 식별"이라는 세 단어에 나와 있습니다.

구성된 이력에서 특정 속성을 가진 극한값을 검색하는 기본 스크립트를 보다 간결하고 간단하게 작성할 수 있다는 점에 주의를 기울이고 싶습니다. 중첩 루프는 비용이 많이 드는 과잉 처리이며, 대규모 어레이에서는 속도가 많이 느려집니다. 이 모든 작업을 한 번에 수행할 수 있습니다. 각각의 새 막대 에서 사이클 없이 하나의 새 값만 계산합니다. 그리고 스크립트를 표시기로 설계했기 때문에 각각의 새 막대에서 전체 이전 기록에 대한 주기 내의 주기를 계산합니다. 예상 시간은 막대*막대/2배로 증가합니다. 그리고 이미 루프 내에서 루프를 사용하고 있다면 j=i 값에서 j에 대해 루프를 시작하는 것은 의미가 없습니다.

귀하의 코드를 자세히 다루지 않았으며 그래프에서 본 적이 없지만 한 가지 중요한 오류가 포함되어 있는 것 같습니다. 즉, 자체 결과가 변경됩니다. 예를 들어 어떤 i의 경우 이 점이 극점이라면 (i + 1) 이상으로 이동할 때 더 이상 존재하지 않을 수 있습니다. 그러나 이것은 당신이 부과한 조건의 결과입니다: 5보다 크고 10보다 작습니다.

대부분의 이야기에서 그것은 중요하지 않습니다. 그러나 오른쪽 가장자리에는 필수적인 것이 있습니다. 스크립트가 0 막대 왼쪽에서 식별하는 극한값은 다음 막대에서 사라질 수 있습니다. 그리고 이것은 좋지 않습니다. :-))

 
Yurixx :


1. 물론 코드에 감사드립니다. 하지만 스스로 이해하는 것처럼 이것은 솔루션이 아니며 작업이 아닙니다.

제가 제 자신을 너무 간결하게 표현했을 수도 있지만, 사실 이것은 매우 정확한 표현입니다. 더 길 수 있습니다. 이력이 아닌 실시간으로 작동하는 국소 극값을 식별하는 절차가 필요합니다. 식별은 막대 완성 후 지표 차트의 해당 지점이 극단점인지 여부를 결정하는 것을 의미합니다 . 국소 극값은 오른쪽과 왼쪽 모두에서 표시기 값이 25.0 이상 변경되는 극값입니다.

막대가 완성될 때 예상되는 극한점의 오른쪽에 대한 지표의 향후 변화를 알 수 없기 때문에 지표의 행동에 대한 최적의 예측에 대해 이야기하고 있습니다. 이 예측은 외삽이 아닙니다. 극점 오른쪽에 있는 지표 값 자체는 관심이 없기 때문입니다. 유일한 조건은 극한 조건입니다. 지표 값이 규정된 양만큼 변경됩니다. 예측의 최적성은 통계적 의미로 이해됩니다. 즉, 예측은 충분히 높은 신뢰도를 가져야 합니다.

형식적으로는 다 달라 보이지만 나는 당신에게 새로운 것을 말하지 않았습니다. 이 모든 것이 이미 "지연된 식별"이라는 세 단어입니다.

2. 수정된 이력에서 특정 속성을 가진 극한값을 검색하는 기본 스크립트를 보다 간결하고 간단하게 작성할 수 있다는 점에 주의를 기울이고 싶습니다. 중첩 루프는 비용이 많이 드는 과잉 처리이며, 대규모 어레이에서는 속도가 많이 느려집니다. 이 모든 작업을 한 번에 수행할 수 있습니다. 각각의 새 막대에서 주기 없이 하나의 새 값만 계산합니다. 그리고 스크립트를 표시기로 설계했기 때문에 각각의 새 막대에서 전체 이전 기록에 대한 주기 내의 주기를 계산합니다. 예상 시간은 막대*막대/2배로 증가합니다. 그리고 루프 내에서 이미 루프를 사용하고 있다면 j=i 값에서 j에 대해 루프를 시작하는 것은 의미가 없습니다.

3. 귀하의 코드를 자세히 다루지 않았으며 차트에서 본 적이 없지만 한 가지 중요한 오류가 포함되어 있는 것 같습니다. 자체 결과가 변경됩니다. 예를 들어, 어떤 i의 경우 이 점이 극점이라면 (i + 1) 이상으로 이동할 때 그러한 점이 중지될 수 있습니다. 그러나 이것은 당신이 부과한 조건의 결과입니다: 5보다 크고 10보다 작습니다.

대부분의 이야기에서 그것은 중요하지 않습니다. 그러나 오른쪽 가장자리에는 필수적인 것이 있습니다. 스크립트가 0 막대 왼쪽에서 식별하는 극한값은 다음 막대에서 사라질 수 있습니다. 그리고 이것은 좋지 않습니다. :-))

1. 작업은 극한값을 식별하는 것이지 외관을 예측하는 것이 아닙니다. 한마디로 싸구려 과시....그들은 예측할 수 없었다. ... 이건 똑같은 말인데, 무스가 전혀 없고 1000%가 되도록 성배를 주세요. 이것이 바로 제가 쓴 것입니다. 작업에는 먼저 단일 이론적 솔루션이 있어야 하며, 그런 다음 코드로 구현됩니다. 그러나 예측에는 명확한 해결책이 없습니다.

식별은 막대 완성 후 지표 차트의 해당 지점이 극단점인지 여부를 결정하는 것입니다. - 신의 선물을 스크램블 에그와 혼동하지 마십시오 - 식별 및 예측.

"지연 식별"- 역시. 지체 없는 식별은 상황이 유일하게 식별되는 최초의 순간에 식별을 의미한다.

2. 시연하고 보자.

Bars*Bars/2 times - 분명히 당신은 그것이 어떻게 작동하는지 이해하지 못하거나 break 문의 의미를 모릅니다.

그러면 j=i 값에서 j에 대한 주기를 시작하는 것은 의미가 없습니다. 하지만 그 다음은 무엇입니까? 이것은 당신에게 가장 흥미로운 질문입니다!

귀하의 코드를 자세히 다루지 않았으며 그래프에서 본 적이 없지만 한 가지 중요한 오류가 포함되어 있는 것 같습니다. 즉, 자체 결과가 변경됩니다.

3. 아직 형성되지 않은 막대가 아닌 0에 따라 판독 값이 변경된다는 점에 유의하십시오. 또한 모든 표시기는 영점 막대의 값에 따라 마지막 값을 변경합니다. 프랙탈 표시기(MT에 내장됨(주 메뉴 - 표시기 - Bill Williams - Fractals ))를 본 적이 있습니까? 이 표시는 매우 흥미롭고 흥미롭고 언젠가는 유용할 수도 있습니다. 표시기를 프로그래밍할 때 0 막대에서 변경 사항을 설명하는 것은 표시기를 프로그래밍하는 데 있어서 흔들리지 않는 규칙은 아니더라도 표시기를 작성하는 프로그래머에게 최소한 좋은 매너의 규칙입니다. 첫 번째 막대는 일반적으로 경험이 부족하고 지표의 작업 지표 작성자의 본질에 대해 깊이 파고 들지 않는 것으로 제한됩니다.

그리고 일반적으로 알고리즘이 이상적이라고 말하지 않았습니다. 가속을위한 큰 예비가 있습니다. 새 막대에 대해서만 표시기를 계산하는 데 제한을 둘 수 있습니다. 그러나 처음에는 지표 값을 주어진 값으로 변경하는 기준으로 극한값을 식별하는 작업 만 수행했으며 개념을 대체하여 값싼 과시를 고려하지 않으면 해결되었습니다. 식별예측 .

 
Integer :

... 싼 과시 ....


당신이 원하는대로. :-)

정수 :

사람이 자신에게 필요한 것이 무엇인지 알게 되면 매우 빠르게 완료됩니다.

분명히 "사람이 필요한 것을 알고 있다"와 "단일 이론적인 해결책"이라는 개념이 대체되었습니다. 그건 그렇고, 당신의 개념.

 
좋은 주제, 소진되어 죄송합니다.
전문 프로그래머의 경우 Elliottician 제품에서 DLL을 선택하는 것이 좋습니다. 그들은 VisualWasik으로 창작물을 작성하지만 라이브러리에는 일반적으로 high, close 등의 개념을 사용하여 웨이브 및 패턴에 대한 설명이 포함되어 있습니다. 특히 최신 버전의 RET에는 Forex용 플러그인이 포함되어 있기 때문입니다. 그리고 지난 15년 동안 웨이브 기반으로 DLL을 분해하는 것은 매우 유혹적입니다!
 
Bookkeeper :

질문: 실제 생활이 아닌 위험하고 공격적인 핍소트에 전략을 적용할 수 있습니까?

하지만 데모 에만? 질문은 그 뿐만이 아닙니다. 뻔뻔한 방식으로 또는 모든 마약으로 입구로 가능합니다.

가능하다고 생각하니 앱에서 확인해보세요.

일주일 만에 창고를 900% 늘렸습니다.

감사합니다,

알렉스 니로바

파일:
statement.zip  9 kb
 
NYROBA >> :

가능하다고 생각하니 앱에서 확인해보세요.

일주일 만에 창고를 900% 늘렸습니다.

감사합니다,

알렉스 니로바

흠 ... 긴 이야기지만.

;)

 
divenetz >> :
Хорошая тема, жаль выдохлась.
Для профпрограммистов я бы порекомендовал поковырять DLL от продуктов Elliottician. Они пишут свои творения на ВижуалВасике, но в библиотеках есть описание волн и патернов обычными понятиями high, close и пр. Тем более что последние версии RET содержат плагин для Forex. А разобрать DLL с базой волн за последние 15 лет - очень заманчиво!

RET는 똥입니다. ElWave에서 modern75.nls를 분해하는 것이 좋습니다(특히 파일이 열려 있기 때문에). RET는 진부한 winwaves32와 거의 동일합니다.