SOM: 요리 방법 - 페이지 3

 

alexeymosc !

> 1989년부터 2011년까지 일봉에서 GBPUSD 쌍을 분석했습니다.

[...]

> OOS 기간(2010년 초부터 현재까지).


이것은 오타입니까 아니면 대부분의 OSS가 분석 기간 동안 우발적으로 늘어났습니까?

 
하, 좋은 질문입니다.
 
모든 것이 간단합니다. 네트워크는 1989년부터 2009년 말까지의 데이터에 따라 구축되었습니다. 그리고 2010년 초부터 결과 전략을 확인했습니다... 왜 그렇게 긴장해, 이해가 안 돼요? 분석을 직접 반복하고 직접 확인하십시오.
 
그들이 사건에 대해 무언가를 말하면 스스로 데이터를 요청하고 침묵하는 것이 좋습니다.
 
alexeymosc :
그들이 사건에 대해 무언가를 말하면 스스로 데이터를 요청하고 침묵하는 것이 좋습니다.


안녕하세요 알렉세이입니다!

나는 당신의 결과가 여기 많은 사람들에게 관심이 있다고 생각합니다. "내 종탑에서"라고 설명하려고 하므로 발을 세게 구르지 말고 뿔로 찌르지 마시기 바랍니다 !

Cycle = Close[]-ma(Close[], 25) 변환을 수행하면 정상 신호를 얻습니다(mean = Const, sigma = Const). 그리고 우리는 SOM과 길이가 40인 동일한 패턴을 사용하여 이 Cycle 시리즈에 거래 시스템을 구축하려고 노력할 것입니다. 훌륭하고 강력한 시스템이 얻어질 것입니다... 그리고 일반적인 가격 시리즈에는 다음과 같은 확률론적 추세가 있습니다. 인플레이션, 디플레이션 및 기타 외부 펀더멘털 요인. 그리고 이러한 확률적 경향은 많은 사람들이 안정적인 시스템을 얻는 것을 허용하지 않습니다. 하나의 악기 가격 범위만 사용하여 문제를 처리하는 방법이 명확하지 않습니다. 그리고 일반적인 가격대에 대한 결과는 매우 즐거운 놀라움이었습니다!

 

고맙습니다! 이해의 전환에 대해. 제 경우에는 "그냥 가격"에서 결과를 짜내고 싶었습니다. 솔직히 말해서, 나는 순전히 가격으로 거래하고 게다가 성공적으로 거래하는 몇몇 동지들에게서 영감을 받았습니다(이 포럼에 그러한 메시지가 있었습니다).

저도 그 결과에 약간 놀랐지만 여전히 그러한 전략의 약점, 즉 드로다운(SOM 교육 기간 동안에도)과 낮은 거래 빈도를 봅니다. 한 달에 약 250 포인트가 나옵니다. 여러 악기에서 실행하면 월 1000포인트를 얻을 수 있지만 1) 비정기적으로 2) 손실이 증가합니다.

추상적으로 생각하면 Forex에서 이익을 내는 작업(서류상이지만)을 거의 무한 차원 공간에서의 작업으로 인식합니다. 그래서 저는 말하자면 이 공간의 다른 장소를 "찌르려고" 합니다. 글쎄 - 때때로 문제에 대한 지역적이고 불완전한 솔루션이 나타납니다.

 

alexeymosc, 어렵지 않다면 조금 더 자세히 설명하겠습니다. 주제는 저에게 꽤 흥미로운 주제입니다. 우선, 데이터를 준비한 스크립트나 데이터 준비 방법을 제공하고 mql로의 전환에 문제가 있는 경우 일반적으로 최종 결과를 mql이 아니라 mql로 보고 싶습니다. 쓰기, 우리가 도울 것이라고 생각하고 동시에 국회 프로그래밍 방법을 배울 것입니다.

 

)) 모든 것이 이미 Excel에 있습니다(2개의 아카이브를 게시했습니다). 아마도 나는 그와 매우 친하고 모든 것이 그렇게 생각합니다 ...

하지만, 비즈니스에!

스크립트가 없습니다. 그러나 MQL에서 입력의 형성을 구현하는 것은 어렵지 않습니다. 시작 가격 을 사용하여 마지막으로 완료된 막대를 포함하여 마지막 40개 막대의 최대값과 최소값을 계산합니다. 그런 다음 (Open-Min) / (Max - Min)이라는 잘 알려진 공식에 따라 개시 가격을 변환하여 40개 값의 벡터를 형성하고 값은 [0;1] 범위에 있습니다. .

또한 저는 개인적으로 뉴로패키지에서 UPC를 훈련시키고 어드바이저와 통신할 dll 파일을 만드는 것을 선호합니다. 그것은 나에게 편리하고 모든 분석을 동일한 Excel에서 수행하는 것이 편리합니다. 당신은 혼란스러워하고 MQL에서 SOM 학습을 프로그래밍할 수 있습니다. 이것도 옵션이지만 저는 프로그래머가 아닙니다. 도울 수 없습니다... 마음의 뉘앙스.

그건 그렇고, 당신은 당일 거래뿐만 아니라 거래를 할 수 있습니다. 15분에도 OOS 기간에 플러스를 얻었지만, 단점은 건강했습니다...

 
alexeymosc :

시가를 사용하여 마지막으로 완성된 바를 포함하여 마지막 40개 바의 최대값과 최소값을 계산합니다. 그런 다음 (Open-Min) / (Max - Min)이라는 잘 알려진 공식에 따라 개시 가격을 변환하여 40개 값의 벡터를 형성하고 값은 [0;1] 범위에 있습니다. .

아마도 이 스크립트:

 //+------------------------------------------------------------------+
//|                                                     SOM_data.mq4 |
//|                               https://www.mql5.com/ru/users/igorm |
//|                               https://www.mql5.com/ru/users/igorm |
//+------------------------------------------------------------------+
#property copyright "https://www.mql5.com/ru/users/igorm"
#property link       "https://www.mql5.com/ru/users/igorm"

extern int      NumBars = 40 ;
extern string   FileName = "som_data.csv" ;

int start(){
   int i,Max,Min,file_handle;
   double _open[];
   double out,max_min;
   ArrayResize (_open,NumBars);
   file_handle = FileOpen (FileName, FILE_CSV | FILE_WRITE );
   if (file_handle< 1 ){
         Print ( "Файл " ,FileName, "не открыт для записи, ошибка №" , GetLastError ());
         return ( 0 );
    }
     for (i= 1 ;i<=NumBars;i++) _open[i- 1 ] = Open[i];
    Max = ArrayMaximum (_open);
    Min = ArrayMinimum (_open);
    max_min = _open[Max] - _open[Min];
     if (max_min == 0 ){
         Print ( "Деление на ноль, невозможно выполнить код" );
         return ( 0 );
    }
     for (i= 1 ;i<=NumBars;i++){
        out = (Open[i]-_open[Min]) / max_min;
         FileWrite (file_handle,out);
    }
return ( 0 );
}
//+------------------------------------------------------------------+

코드가 좀 길긴 한데 주석이 없어도 명료해 보여요

추신: Excel을 사용하면 친구지만 아주 드물게 계산기 수준에서)))

 

감사해요!

스크립트가 작동하고 값이 정확합니다.

지금은 SOM 파일에 대해 생각하고 있는데 이를 어드바이저에 연결하려고 합니다.