계량경제학 EURUSD 1단계 예측
소개
이 글은 EViews 소프트웨어를 사용하여 EURUSD에 대한 한 단계 앞선 예측과 EViews의 프로그램을 통한 예측 결과의 추가 평가 및 MQL4에서 개발된 Expert Advisor에 중점을 둡니다. 이는 추가 설명 없이 사용되는 제안의 "지표 통계 매개변수 분석" 문서를 기반으로 합니다.
1. 모델 구축
이전 글은 다음 회귀 방정식의 분석으로 마무리되었습니다.
EURUSD = C(1)*EURUSD_HP(1) + C(2)*D(EURUSD_HP(1)) + C(3)*D(EURUSD_HP(2))
이 방정식은 초기 종가 호가를 점진적으로 분해한 결과입니다. 그 배후의 아이디어는 초기 따옴표에서 결정적 구성 요소를 분리하고 결과 잔차에 대한 추가 분석을 기반으로 합니다.
2011년 9월 12일부터 2011년 9월 17일까지 일주일 동안 바에서 EURUSD H1에 대한 모델 구축을 시작하겠습니다.
1.1. 초기 EURUSD 시세 분석
다음 단계를 계획하기 위해 초기 EURUSD 시리즈의 분석을 시작합니다.
먼저 EViews에서 추가 분석을 위해 따옴표가 포함된 파일을 생성하겠습니다. 이를 위해 관련 차트에 겹쳐진 지표를 사용하여 따옴표가 있는 필수 파일을 생성합니다.
지표의 스크립트는 아래에 나와 있으며 내 의견으로는 설명이 필요하지 않습니다.
//+------------------------------------------------------------------+ //| Kotir_Out.mq4 | //| Quotes output indicator for EViews | //| Version of 29.08.2011 | //+------------------------------------------------------------------+ //--- indicator in the main window #property indicator_chart_window //--- number of visible indicator buffers #property indicator_buffers 1 //--- setting the indicator color #property indicator_color1 Red // Forecast //--- setting the line width #property indicator_width1 2 //--- external parameters extern int Number_Bars=100; // Number of bars extern string DateTime_begin = "2011.01.01 00:00"; extern string DateTime_end = "2011.01.01 00:00"; //--- global variables //--- declaring buffers double Quotes[]; // Quotes not visible int Quotes_handle; // Pointer to Quotes file int i; // Counter in cycle //--- names of files for exchange with EViews string fileQuotes; // Quotes file name //+------------------------------------------------------------------+ //|Indicator initialization function | //+------------------------------------------------------------------+ int init() { //--- number of indicator buffers IndicatorBuffers(1); //--- setting the drawing parameters SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,0); SetIndexDrawBegin(0,Number_Bars); //--- binding the indicator number to the name SetIndexBuffer(0,Quotes); // Index buffer //--- initial buffer values SetIndexEmptyValue(0,0.0); //--- indicator name IndicatorShortName("Forecast"); //--- generating names of files for exchange with EViews fileQuotes="kotir.txt"; // Quotes file name int N_bars_begin = 0; int N_bars_end = 0; datetime var_DT_begin = 0; datetime var_DT_end = 0; bool exact = false; //--- //--- creating quotes file for EViews operation Quotes_handle=FileOpen(fileQuotes,FILE_CSV|FILE_WRITE,','); //--- abend exit if(Quotes_handle<1) { Print("Failed to create the file ",fileQuotes," Error #",GetLastError()); return(0); } FileWrite(Quotes_handle,"DATE","kotir"); // Header //--- //--- calculating the number of bars for export var_DT_begin = StrToTime(DateTime_begin); var_DT_end = StrToTime(DateTime_end); if(var_DT_begin!=var_DT_end) { N_bars_begin=iBarShift(NULL,Period(),var_DT_begin,exact); N_bars_end=iBarShift(NULL,Period(),var_DT_end,exact); Number_Bars=N_bars_begin-N_bars_end; Print("Number_Bars = ",Number_Bars, ", N_bars_end = ",N_bars_end, ", N_bars_begin = ",N_bars_begin); for(i=N_bars_begin; i>=N_bars_end; i--) { FileWrite(Quotes_handle, TimeToStr(iTime(Symbol(),Period(),i)), iOpen(Symbol(),Period(),i)); } } else { for(i=Number_Bars-1; i>=0; i--) { FileWrite(Quotes_handle, TimeToStr(iTime(Symbol(),Period(),i)), iOpen(Symbol(),Period(),i)); } } // --- writing quotes FileWrite(Quotes_handle, "Forecast ", 0); // Forecast area FileClose(Quotes_handle); // Close quotes file Comment("Created quotes file with the number of bars =",Number_Bars+1); //--- end of Init() section return(0); } //+------------------------------------------------------------------+ //| Indicator start function | //+------------------------------------------------------------------+ int start() { return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //--- remove the message from the display Comment(" "); //---- return(0); } //+------------------------------------------------------------------+
위에서 지정한 날짜를 설정한 후 119줄로 구성된 따옴표 파일을 얻었습니다. 마지막 줄은 "Forecast, 0" - 이것이 미래 예측이 있는 곳입니다. 저는 공개 가격을 사용하고 있음을 명심하세요. 또한 파일의 따옴표는 프로그래밍 언어에서와 같이 MQL4와 반대 순서로 정렬됩니다.
지표는 분명히 터미널 폴더 \expert\files\에 quote.txt 파일을 생성합니다. 아래에서 검토할 Expert Advisor는 DEMO 또는 REAL 모드에서 작동할 때 지정된 폴더에서 따옴표 파일을 가져옵니다. 그러나 테스트 모드에서 사용할 때 이 파일은 \tester\files\ 폴더에 있어야 하므로 수동으로 quote.txt를 터미널의 \tester\files\ 폴더에 넣습니다.
차트는 다음과 같습니다.
그림 1. EURUSD H1 시세 차트
우리는 하나 또는 수많은 추세를 관찰할 수 있지만 우리의 목표는 거래 시스템의 미래 안정성을 예측하는 것입니다. 따라서 우리는 초기 EURUSD H1 호가의 고정성에 대한 분석을 수행할 것입니다.
기술 통계량을 계산해 보겠습니다.
그림 2. 기술 통계
기술 통계는 다음을 시사합니다.
- 오른쪽으로 치우쳐 있습니다(0이어야 하지만 0.244950이 있어야 함).
- 초기 호가가 정규 분포가 될 확률은 9.64%입니다.
시각적으로 히스토그램은 정규 분포와 확실히 관련이 없지만 9.64%의 확률은 특정 환상을 불러일으킵니다.
이론과 비교하여 보여드리겠습니다.
그림 3. 이론적 정규 분포 곡선과 비교한 EURUSD 히스토그램
EURUSD_Рќ1 따옴표가 정규 분포와 거리가 멀다는 것을 시각적으로 확인할 수 있습니다.
그러나 호가에 결정적 요소가 존재함을 시사하는 경향을 볼 수 있는 반면, 그러한 요소의 존재는 랜덤 변수(따옴표)의 통계적 특성을 완전히 왜곡할 수 있다는 경향을 볼 수 있으므로 결론을 내리기는 아직 이릅니다.
따옴표의 자기상관 함수를 계산해 봅시다.
다음과 같이 나타납니다.
그림 4. EURUSD_H1 호가의 자기상관 함수
차트를 그릴 때 시차 간의 상관 관계가 부족할 확률을 얻었습니다. 처음 16개 시차는 0이 아닙니다. 차트와 확률은 EURUSD_H1의 시차 사이에 상관 관계가 있음을 분명히 나타냅니다. 즉, 고려 중인 호가에 결정적 구성 요소가 포함되어 있습니다.
초기 호가에서 결정적 구성 요소를 빼면 잔차에는 어떤 통계적 특성이 있습니까?
이를 위해 단위 루트 테스트를 적용하여 초기 호가의 첫 번째 차이(잔차)로 작업하는 것이 더 유망한지 여부를 확인합니다.
표 1. 단위 루트 테스트
위의 테스트는 다음을 보여줍니다.
- 초기 따옴표가 단위 루트를 가질 확률(첫 번째 차이는 정규 분포)은 41%입니다.
- DW(Durbin-Watson) 통계는 2.2를 약간 넘는데, 이는 첫 번째 차이가 정규 분포를 따른다는 것을 의미하기도 합니다.
1.2. 스무딩
Hodrick-Prescott 필터는 이전 글과 유추하여 EURUSD 호가에서 결정적 구성 요소를 분리하는 데 사용됩니다.
시리즈 이름의 숫자 "10"은 Hodrick-Prescott 필터의 람다 매개변수를 나타냅니다. 이 도구 뒤에 있는 이론에 따르면 람다 값은 다음과 같이 나타나는 결과에 매우 중요합니다.
그림 5. Hodrick-Prescott 필터를 사용한 평활화 결과
EViews 표기법에서 다음과 같이 나타나는 이전 글의 방정식을 사용할 것입니다.
따옴표 = C(1) * HP(-1) + C(2) * D(HP(-1)) + C(3)*D(HP(-2))
즉, 이 방정식에서 초기 따옴표와 결정적 구성 요소 간의 차이를 의미하는 결정적 구성 요소와 노이즈를 고려합니다.
초기 호가의 현재 모델을 분석한 후 다음 회귀 방정식 매개변수를 얻습니다.
표 2. 회귀 방정식 추정
РќР 1_D(-1)이 확실히 매우 불쾌한 경우 계수가 0일 확률이 39%입니다. 우리가 제공할 예제는 데모용이므로 모든 것을 그대로 두겠습니다.
회귀 방정식 추정값(방정식 계수 추정값)을 얻은 후 한 단계 앞서 예측을 진행할 수 있습니다.
결과는 다음과 같습니다.
그림 6. EURUSD 한 단계 앞서 예측(월요일 오전 12시 기준)
1.3. 회귀 방정식에서 잔차 추정
회귀 방정식의 잔차에 대한 제한된 분석을 수행해 보겠습니다. 이 잔차는 초기 EURUSD 호가에서 회귀 방정식을 사용하여 계산된 값을 빼서 얻었습니다.
이 잔차의 특성이 거래 시스템의 미래 안정성을 추정하는 데 도움이 될 것임을 상기시켜 드리겠습니다.
먼저, 잔차 시차 간의 상관 관계 분석을 위한 테스트를 실행할 것입니다.
그림 7. 잔차의 자기상관 함수
불행히도, 시차 사이의 상관관계는 여전히 존재하며 이들의 존재는 통계 분석에 의문을 제기합니다.
다음으로 수행할 테스트는 잔차의 정규성 테스트입니다.
결과는 다음과 같이 나타납니다.
그림 8. 회귀 방정식의 잔차 히스토그램
잔차가 정규분포될 확률은 25.57%로 상당히 큰 수치입니다.
잔차의 이분산성에 대한 테스트를 수행해 보겠습니다.
결과는 다음과 같습니다.
- GARCH형 이분산성이 없을 확률은 16.08%입니다.
- White의 일반 이분산성이 없을 확률은 0.0066%입니다.
내 목표는 예측에 기반한 거래 시스템 개발을 시연하는 것이므로 거래자가 관심을 갖는 특성인 이익 또는 손실을 얻기 위해 계산을 계속할 것입니다.
2. 예측 결과 추정
우리는 거래를 할 때 예측오차보다 이익에 관심을 두는데, 이는 서로 다른 모델을 비교하기 위한 보조분석 도구로 삼아야 하지만 그 이상은 아닙니다.
예측 결과를 추정하기 위해 EViews 언어로 프로그램이 작성되었습니다. EURUSD 시세의 실제 증분 변동을 예상 변동과 비교합니다. 이러한 증가가 일치하면 이익이 발생합니다. 그렇지 않으면 손실이 있습니다. 또한 예측된 증분과 일치하는 모든 증분의 합계를 나타내는 이익과 각각의 손실을 계산합니다.
이익 대 손실 비율은 이익 요소로 지정됩니다. 그런 다음 수익 대 비수익 증분의 비율(손익 거래 비율)을 계산합니다. 연속 손실 거래 횟수와 이익 대비 연속 손실 거래의 손실 비율(회수 계수)도 계산됩니다.
거래 시스템 측면에서 모델링 결과를 추정하기 위한 EViews 언어 프로그램은 메인 프로그램과 2개의 서브루틴으로 구성됩니다.
주요(헤드) 프로그램은 다음과 같습니다.
' ' One-step-ahead forecasting program ' Version of 26.09.2011 '----------------------------------------------- include sub_profit_factor include sub_model_2 ' ' 1. Create an EViews work file under the name МТ4 ' %path = "C:\Program Files\BCS Trade Station\tester\files" cd %path if @fileexist("work.wf1") = 0 then wfcreate(wf = work) u 510 else wfopen work endif ' ' Reads quotes from files read(t = txt) kotir.txt date $ kotir ' ' Number of observations in the series without NA !number = @obs(kotir) smpl 1 !number - 1 genr trend = NA ' Trend = kotir_f(i) - kotir(i-1) genr kotir_d = d(kotir) ' One-step increment in the price movement - d(kotir) ' ' Calculate the model call sub_model_2 ' ' Calculate the profit table call sub_profit_factor ' Generate a file of results genr result = 0 ' ' Fill in the results result(1) = kotir_f(!number) ' One-step-ahead forecast result(2) = kotir_f_se(!number) ' One-step-ahead forecast error result(3) = trend(!number - 1) ' Direction of the forecast '----------------------------------------------- ' Return the result to МТ4 ' smpl 1 10 write(t=txt,na=0,d=c,dates) EViewsForecast.txt result '-----------------End of program -------------- smpl 1 !number save work close @all exit ' '-----------------------------------------------
메인 프로그램의 수가 모델을 포함하는 서브루틴의 수와 같다고 가정합니다(아래 참조). 이것은 작업을 단순화하기 위해 수행됩니다.
모델을 변경하려면 해당 모델의 서브루틴 이름 변경과 관련된 메인 프로그램의 두 줄을 변경해야 합니다.
모델을 포함하는 서브루틴(회귀 방정식):
subroutine sub_model_2 cd wfselect work smpl 1 !number - 1 ' Smoothing the 1st level using НР filter quote with the first lambda ' and generating two files: ' hp1 - smoothed file ' p1_d - file of the residual hpf(lambda = 10) kotir hp1 @hp1_d ' ' 4. Estimating regression eq02 that uses the following series: ' hp1 ' hp1_d equation eq1.ls kotir hp1(-1) hp1_d(-1) hp1_d(-2) ' ' Extending the sample to include the forecast area smpl 1 !number ' ' Performing a one-step-ahead forecast and generating output series: ' kotir_f - forecast ' kotir_f_se - forecast error fit(p) kotir_f kotir_f_se save work endsub
서브루틴의 수는 모델의 수와 같아야 합니다.
다른 모델의 경우 서브루틴의 이름과 당연히 메인 프로그램의 이름이 변경됩니다.
모델의 손익 매개변수를 계산하는 서브루틴:
' Subroutine for estimation of the forecast results ' Version of 27.09.2011 ' ---------------------------------------------------------------------------- ' Comparing the forecast increment with the quote increment, ' the program calculates: ' profit factor with regard to increments; ' profitability of the equation in the number of observations ' recovery factor as a ratio of profit in pips to maximal drawdown ' ---------------------------------------------------------------------------- subroutine sub_profit_factor ' Local variables !profit = 0 ' Accumulated profit !lost = 0 ' Accumulated loss !profit_factor = 0 ' Profit factor !i = 1 ' Work index !n_profit = 0 ' Number of profit trades !n_lost = 0 ' Number of loss trades !n_p_l = 0 ' !pr = 0 ' Absence of consecutive losses !prosadka = 0 ' Drawdown - accumulation of consecutive losses !tek_prosadka = 0 ' Current drawdown !tek_pr = 0 ' Current number of loss trades cd wfselect work smpl 1 !number ' Calculate the trend on each bar for !i = 1 to !number - 1 trend(!i) = kotir_f(!i + 1) - kotir(!i) next ' Calculate profit if the forecast has been reached for !i = 1 to !number - 1 if trend(!i) * kotir_d(!i) > 0 then ' Does the trend coincide with increment? - Yes !profit = !profit + @abs(kotir_d(!i)) ' Profit accumulation !n_profit = !n_profit +1 ' Profit trades accumulation !tek_pr = 0 ' Resetting the current consecutive losses at zero !tek_prosadka = 0 ' Resetting the current drawdown at zero endif if trend(!i) * kotir_d(!i) < 0 then ' Does the trend coincide with increment? - No !lost = !lost + @abs(kotir_d(!i)) ' Loss accumulation !n_lost = !n_lost + 1 ' Loss trades accumulation !tek_pr = !tek_pr + 1 ' Increase the number of current loss trades !tek_prosadka = !tek_prosadka + @abs(kotir_d(!i)) ' Increase the current drawdown endif ' Select the maximum loss trades if !tek_pr > !pr then !pr = !tek_pr endif ' Select the maximal drawdown if !tek_prosadka > !prosadka then !prosadka = !tek_prosadka endif next ' Blocking division by zero if !lost = 0 then ' No loss trades !profit_factor = 1000 else !profit_factor = !profit / !lost ' Profit factor endif if !n_lost = 0 then !n_p_l = !number ' if loss trades are zero, ' profit trades are equal to the number of observations else !n_p_l = !n_profit / !n_lost endif if !prosadka = 0 then !factor_reset = 1000 else !factor_reset = !profit / !prosadka endif ' Create a table of results if it does not exist if @isobject("tab_profit") = 0 then table(3,12) tab_profit tab_profit.title One-step-ahead forecast after the end of sample with profitability beyond the sample ' Make the table heading tab_profit.setfillcolor(1) yellow tab_profit.setfillcolor(2) yellow ' Set the column characteristics ' 1st column setcolwidth(tab_profit,1,15) tab_profit(1,1) = "Sample" tab_profit(2,1) = "beginning" ' 2nd column setcolwidth(tab_profit,2,15) tab_profit(1,2) = "Sample" tab_profit(2,2) = "end" ' 3rd column setcolwidth(tab_profit,3,7) tab_profit(1,3) = "Fact as of" tab_profit(2,3) = "end " ' 4th column setcolwidth(tab_profit,4,7) tab_profit(1,4) = "One-step" tab_profit(2,4) = "forecast" ' 5th column setcolwidth(tab_profit,5,10) tab_profit(1,5) = "Forecast" tab_profit(2,5) = "error" ' 6th column setcolwidth(tab_profit,6,8) tab_profit(1,6) = "Profit of the" tab_profit(2,6) = "sample" ' 7th column setcolwidth(tab_profit,7,8) tab_profit(1,7) = "Loss of the" tab_profit(2,7) = "sample" ' 8th column setcolwidth(tab_profit,8,10) tab_profit(1,8) = "Maximal" tab_profit(2,8) = "drawdown" ' 9th column setcolwidth(tab_profit,9,8) tab_profit(1,9) = "Amount of" tab_profit(2,9) = "loss" ' 10th column setcolwidth(tab_profit,10,7) tab_profit(1,10) = "P / F in" tab_profit(2,10) = "pips" ' 11th column setcolwidth(tab_profit,11,8) tab_profit(1,11) = "P / F in" tab_profit(2,11) = "observations" ' 12th column setcolwidth(tab_profit,12,8) tab_profit(1,12) = "Recovery" tab_profit(2,12) = "factor" tab_profit.setlines(R1C1:R2C12) +o +v endif tab_profit.insertrow(3) 1 tab_profit.setlines(R3C1:R3C12) +a +v +i ' Set the table output format tab_profit.setformat(R3C1:R3C1) c.16 tab_profit.setformat(R3C2:R3C2) c.16 tab_profit.setformat(R3C3:R3C3) f.4 tab_profit.setformat(R3C4:R3C4) f.4 tab_profit.setformat(R3C5:R3C5) f.4 tab_profit.setformat(R3C6:R3C6) f.4 tab_profit.setformat(R3C7:R3C7) f.4 tab_profit.setformat(R3C8:R3C8) f.4 tab_profit.setformat(R3C9:R3C9) f.0 tab_profit.setformat(R3C10:R3C10) f.2 tab_profit.setformat(R3C11:R3C11) f.2 tab_profit.setformat(R3C12:R3C12) f.2 ' Fill the table with the results tab_profit(3 ,1) = date(1) tab_profit(3 ,2) = date(!number - 1) tab_profit(3 ,3) = kotir(!number - 1) tab_profit(3 ,4) = kotir_f(!number - 1) tab_profit(3 ,5) = kotir_f_se(!number - 1) tab_profit(3 ,6) = !profit tab_profit(3 ,7) = !lost tab_profit(3 ,8) = !prosadka tab_profit(3 ,9) = !pr tab_profit(3,10) = !profit_factor tab_profit(3,11) = !n_p_l tab_profit(3,12) = !factor_reset ' Save the table in the work file save work show tab_profit endsub
우리 방정식에 대한 EViews의 위의 간단한 프로그램 결과는 다음과 같습니다.
표 3. EViews의 수익성 추정 결과
지금까지 EURUSD_H1 호가는 EViews 도구를 사용하여 분석되었습니다.
그러나 MetaTrader 4 터미널의 Expert Advisor에서 예측 결과를 적용하는 것은 매우 유혹적인 것으로 보입니다.
이제 EViews와 MetaTrader 4 간의 데이터 교환을 고려하고 MetaTrader 4의 Expert Advisor를 사용하여 결과를 다시 한 번 분석해 보겠습니다.
3. EViews와 MetaTrader 4 간의 데이터 교환
이 글에서 EViews와 MetaTrader 4 간의 데이터 교환은 .txt 파일을 사용하여 구현됩니다.
교환 알고리즘은 다음과 같습니다.
MetaTrader 4 Expert Advisor:
- 따옴표 파일을 생성합니다.
- EView를 시작합니다.
EViews:
- Expert Advisor의 주문에 따라 작동을 시작합니다.
- Expert Advisor에서 얻은 호가 파일 quote.txt에 대한 예측 계산 프로그램을 실행합니다.
- 예측 결과를 EViewsForecast.txt 파일에 저장합니다.
MetaTrader 4 Expert Advisor:
- EViews에서 결과 생성이 완료되면 예측 파일을 읽습니다.
- 포지션 진입 또는 퇴장을 결정합니다.
파일 위치에 대한 몇 마디.
MetaTrader 4 터미널의 파일은 표준 폴더에 있습니다. \expert 폴더의 Expert Advisor와 \expert\indicators 폴더의 지표(테스트에 필요하지 않음). 이들 모두는 터미널 디렉토리에 있습니다. Expert Advisor는 다른 Expert Advisor와 함께 설치됩니다.
Expert Advisor와 EViews 간의 교환을 위한 파일은 Expert Advisor가 작동하는 동안 Expert Advisor를 테스트할 때 \expert\파일과 \tester\files에 있습니다.
Expert Advisor가 EViews로 보낸 파일의 이름은 선택한 기호 및 기간에 관계없이 quotes.txt입니다. 따라서 Expert Advisor는 시작 시 Expert Advisor의 매개변수에 예측 단계가 지정되어야 하는 동안 모든 기호에 첨부될 수 있습니다.
EViews는 EVIEWSFORECAST.txt라는 파일을 반환합니다. EViews 작업 파일 worf.wf1은 터미널 디렉토리에 있습니다.
글에 첨부된 EViews 프로그램에 지정된 디렉토리는 컴퓨터에서 사용할 수 있는 디렉토리와 일치하지 않을 가능성이 높습니다. 이 프로그램을 디스크 루트 폴더에 설치했습니다. EViews에서는 기본 디렉토리에 대한 핸들을 얻거나 고유한 디렉토리를 지정해야 합니다(EViews 자체에서 사용하는 기본 디렉토리는 사용하지 않았습니다).
4. MQL4 Expert Advisor
Expert Advisor 작업 알고리즘은 최대로 단순화됩니다.
- Expert Advisor는 모든 기호의 M1 시간 프레임에 첨부됩니다.
- 분 단위의 예측 단계는 Expert Advisor의 매개변수에 지정됩니다. 기본 예측 단계는 60분(Рќ1)입니다. Expert Advisor를 M1에 연결하면 더 긴 시간 프레임으로 전환할 때 테스트 차트를 압축할 수 있으므로 테스트 결과를 더 잘 시각화할 수 있습니다.
- EViews에서 예측하기 위해 Expert Advisor는 Expert Advisor의 매개변수에 지정된 바(관찰) 수로 quotes.txt 파일을 생성합니다.
- 예측이 현재 가격보다 크면 롱 포지션이 열립니다.
- 예측이 현재 가격보다 낮으면 숏 포지션이 열립니다.
- Expert Advisor는 하나 이상의 직위를 열지 않습니다(직위를 추가하지 않고).
- 예측에 관계없이 이전 포지션을 닫고 새 포지션을 엽니다. 포지션 개설 알고리즘은 EViews 프로그램의 손익 계산 알고리즘과 일치합니다.
- 오픈할 포지션의 볼륨은 0.1랏입니다.
- 손절매 및 이익실현 주문은 사용되지 않습니다(Expert Advisor에 예측 오류 간격으로 중지하는 코드가 있지만 100핍으로 설정됨).
- 하나의 표준 예측 오차 간격에서 예측 값과 두 개의 선을 보여주는 차트가 그려집니다. Expert Advisor가 첨부된 것보다 짧은 시간 프레임에서 테스터의 차트를 볼 때 예측 라인이 뒤로 이동한다는 점을 명심하세요. 즉, 그려진 예측은 현재 가격이 기간의 끝에 도달해야 하는 예측입니다.
Expert Advisor는 M1 시간대에 첨부되어 있고 테스터에서는 M5에서 차트를 더 잘 볼 수 있습니다.
EURUSD 거래를 위한 MQL4 Expert Advisor의 소스 코드는 볼륨(약 600줄)으로 인해 이 글에서는 제공되지 않습니다. 이 글에 첨부된 EViews_MetaTrader_4.zip 아카이브의 EvewsMT4.mq4에서 찾을 수 있습니다.
5. Expert Advisor 테스트 결과
M1 시간 프레임에 테스터에서 Expert Advisor를 실행합니다.
입력 매개변수는 다음과 같습니다.
그림 9. Expert Advisor의 입력 매개변수
테스트 차트의 일부가 아래에 나와 있습니다.
그림 10. 시각화 모드에서 Expert Advisor 테스트
1시간(단계) 앞당겨 예측하는 Expert Advisor를 테스트한 결과는 아래와 같습니다.
전략 테스터 보고서
이브스MT4
실제(빌드 406)
상징 | EURUSD(유로 vs 미국 달러) | ||||
시간 프레임 | 1분 (M1) 2011.09.12 00:00 - 2011.09.16 21:59 (2011.09.12 - 2011.09.17) | ||||
모델 | 모든 틱(가용 가능한 가장 짧은 시간 프레임을 기반으로 한 가장 정확한 모드) | ||||
매개변수 | StepForecast=60; NumberBars = 101; MultSE=2; | ||||
내역 상의 바 | 7948 | 모델링된 틱 | 79777 | 모델링 품질 | 25.00% |
불일치 차트 오류 | 0 | ||||
초기 보증금 | 10000.00 | ||||
순이익 | -202.10 | 총 이익 | 940.72 | 총 손실 | -1142.82 |
이익률 | 0.82 | 예상 수익 | -1.73 | ||
절대 하락 | 326.15 | 최대 하락 | 456.15 (4.50%) | 상대적인 하락 | 4.50% (456.15) |
총 거래 | 117 | 숏 포지션(원 %) | 58 (51.72%) | 롱 포지션(원 %) | 59 (45.76%) |
이익 거래(총 %) | 57 (48.72%) | 손실 거래(전체의 %) | 60 (51.28%) | ||
최대 | 이익 거래 | 100.00 | 손실 거래 | -79.00 | |
평균 | 이익 거래 | 16.50 | 손실 거래 | -19.05 | |
최고 | 연속 우승(금전적 이익) | 6 (105.00) | 연속 손실(돈 손실) | 8 (-162.00) | |
최대 | 연속 이익(개수) | 166.00 (5) | 연속 패배(횟수) | -162.00 (8) | |
평균 | 연속 우승 | 2 | 연속 손실 | 2
|
No. | 시간 | 유형 | 주문 | 용량 | 가격 | S / L | T / P | 이익 | 균형 |
1 | 2011.09.12 01:00 | 매도 | 1 | 0.10 | 1.3609 | 1.3711 | 1.3509 | ||
2 | 2011.09.12 02:00 | 종료 | 1 | 0.10 | 1.3584 | 1.3711 | 1.3509 | 25.00 | 10025.00 |
그림 11. Expert Advisor 테스트 결과
결과는 EViews에서 얻은 것보다 낫습니다.
EView와 테스터의 결과 계산은 입력 데이터 측면에서 다릅니다. EViews는 118개의 바를 사용하고 회귀식 추정에 사용되는 바의 수를 증가시키면서 한 단계 앞선 예측이 기간의 끝으로 점차 이동함에 따라 왼쪽의 3개의 바에서 시작하여 예측을 계산합니다.
Expert Advisor는 118개 바의 창을 이동하고 바 119개의 예측을 계산합니다. 즉, EViews가 샘플 내의 창을 확장하고 Expert Advisor가 고정 너비의 창을 이동하기 때문에 회귀 방정식은 항상 118개 바에서 추정됩니다.
Expert Advisor는 확장된 모델 추정 테이블을 생성하는 데 도움이 됩니다. 위의 표는 단일 행으로 구성되어 있었지만 이제 예측이 생성된 모든 날짜에 대해 117개의 행을 포함합니다.
표는 다음과 같습니다.
시작 샘플 | 종료 샘플 | 현재 끝 | 원스텝 예측 | 예측 오류 | 이익 샘플 | 손실 샘플 | 최대 감소 | 금액 손실 | P/F 안 핍 | 관측치의 P/F | 회복 계수 |
---|---|---|---|---|---|---|---|---|---|---|---|
12.09.2011 0:00 | 16.09.2011 21:00 | 1,3791 | 1,3788 | 0,0019 | 0,0581 | 0,1531 | 0,0245 | 7 | 0,38 | 0,67 | 2,37 |
12.09.2011 0:00 | 16.09.2011 21:00 | 1,3791 | 1,3788 | 0,0019 | 0,0581 | 0,1531 | 0,0245 | 7 | 0,38 | 0,67 | 2,37 |
09.09.2011 21:00 | 16.09.2011 20:00 | 1,3784 | 1,3793 | 0,0019 | 0,0569 | 0,1619 | 0,0245 | 7 | 0,35 | 0,64 | 2,32 |
09.09.2011 20:00 | 16.09.2011 19:00 | 1,3794 | 1,3796 | 0,002 | 0,0596 | 0,1609 | 0,0245 | 7 | 0,37 | 0,67 | 2,43 |
09.09.2011 19:00 | 16.09.2011 18:00 | 1,3783 | 1,3782 | 0,0021 | 0,0642 | 0,1554 | 0,0245 | 7 | 0,41 | 0,69 | 2,62 |
09.09.2011 18:00 | 16.09.2011 17:00 | 1,3783 | 1,3806 | 0,002 | 0,0616 | 0,1606 | 0,0245 | 7 | 0,38 | 0,68 | 2,51 |
09.09.2011 17:00 | 16.09.2011 16:00 | 1,3829 | 1,3806 | 0,002 | 0,0642 | 0,1586 | 0,0245 | 7 | 0,4 | 0,71 | 2,62 |
09.09.2011 16:00 | 16.09.2011 15:00 | 1,3788 | 1,3793 | 0,002 | 0,0626 | 0,1565 | 0,0245 | 7 | 0,4 | 0,71 | 2,56 |
09.09.2011 15:00 | 16.09.2011 14:00 | 1,3798 | 1,38 | 0,0021 | 0,063 | 0,1633 | 0,0245 | 7 | 0,39 | 0,73 | 2,57 |
09.09.2011 14:00 | 16.09.2011 13:00 | 1,3808 | 1,381 | 0,0022 | 0,062 | 0,1656 | 0,0318 | 9 | 0,37 | 0,71 | 1,95 |
09.09.2011 13:00 | 16.09.2011 12:00 | 1,3809 | 1,3813 | 0,0021 | 0,0602 | 0,1679 | 0,0318 | 9 | 0,36 | 0,66 | 1,89 |
09.09.2011 12:00 | 16.09.2011 11:00 | 1,3792 | 1,3808 | 0,0021 | 0,0666 | 0,1613 | 0,0245 | 7 | 0,41 | 0,73 | 2,72 |
09.09.2011 11:00 | 16.09.2011 10:00 | 1,3795 | 1,3826 | 0,0021 | 0,0666 | 0,167 | 0,0245 | 7 | 0,4 | 0,73 | 2,72 |
09.09.2011 10:00 | 16.09.2011 9:00 | 1,3838 | 1,3847 | 0,0022 | 0,0652 | 0,1668 | 0,0318 | 9 | 0,39 | 0,71 | 2,05 |
09.09.2011 9:00 | 16.09.2011 8:00 | 1,3856 | 1,3854 | 0,0022 | 0,0675 | 0,165 | 0,0318 | 9 | 0,41 | 0,73 | 2,12 |
09.09.2011 8:00 | 16.09.2011 7:00 | 1,386 | 1,3856 | 0,0022 | 0,0671 | 0,1652 | 0,0318 | 9 | 0,41 | 0,71 | 2,11 |
09.09.2011 7:00 | 16.09.2011 6:00 | 1,3861 | 1,3857 | 0,0022 | 0,067 | 0,1663 | 0,0318 | 9 | 0,4 | 0,68 | 2,11 |
09.09.2011 6:00 | 16.09.2011 5:00 | 1,3852 | 1,3855 | 0,0022 | 0,0655 | 0,1681 | 0,0318 | 9 | 0,39 | 0,63 | 2,06 |
09.09.2011 5:00 | 16.09.2011 4:00 | 1,3844 | 1,3851 | 0,0022 | 0,0662 | 0,1674 | 0,0318 | 9 | 0,4 | 0,66 | 2,08 |
09.09.2011 4:00 | 16.09.2011 3:00 | 1,3848 | 1,3869 | 0,0022 | 0,0654 | 0,1683 | 0,0318 | 9 | 0,39 | 0,68 | 2,06 |
09.09.2011 3:00 | 16.09.2011 2:00 | 1,3879 | 1,3875 | 0,0022 | 0,0694 | 0,1624 | 0,0318 | 9 | 0,43 | 0,73 | 2,18 |
09.09.2011 2:00 | 16.09.2011 1:00 | 1,3865 | 1,3879 | 0,0022 | 0,0698 | 0,1634 | 0,0318 | 9 | 0,43 | 0,71 | 2,19 |
09.09.2011 1:00 | 16.09.2011 0:00 | 1,3881 | 1,3883 | 0,0022 | 0,0726 | 0,1604 | 0,0245 | 7 | 0,45 | 0,76 | 2,96 |
09.09.2011 0:00 | 15.09.2011 23:00 | 1,3876 | 1,3882 | 0,0022 | 0,0721 | 0,162 | 0,0245 | 7 | 0,45 | 0,73 | 2,94 |
08.09.2011 23:00 | 15.09.2011 22:00 | 1,3885 | 1,3884 | 0,0022 | 0,0718 | 0,1614 | 0,0245 | 7 | 0,44 | 0,72 | 2,93 |
08.09.2011 22:00 | 15.09.2011 21:00 | 1,3888 | 1,3883 | 0,0022 | 0,0737 | 0,1597 | 0,0245 | 7 | 0,46 | 0,77 | 3,01 |
08.09.2011 21:00 | 15.09.2011 20:00 | 1,3885 | 1,3874 | 0,0022 | 0,0729 | 0,1604 | 0,0318 | 9 | 0,45 | 0,74 | 2,29 |
08.09.2011 20:00 | 15.09.2011 19:00 | 1,3867 | 1,386 | 0,0022 | 0,0721 | 0,1604 | 0,0318 | 9 | 0,45 | 0,74 | 2,27 |
08.09.2011 19:00 | 15.09.2011 18:00 | 1,3856 | 1,3834 | 0,0022 | 0,0721 | 0,1628 | 0,0318 | 9 | 0,44 | 0,72 | 2,27 |
08.09.2011 18:00 | 15.09.2011 17:00 | 1,385 | 1,3861 | 0,0023 | 0,0702 | 0,1651 | 0,0318 | 9 | 0,43 | 0,72 | 2,21 |
08.09.2011 17:00 | 15.09.2011 16:00 | 1,3885 | 1,3824 | 0,0023 | 0,0739 | 0,1638 | 0,0245 | 7 | 0,45 | 0,72 | 3,02 |
08.09.2011 16:00 | 15.09.2011 15:00 | 1,3773 | 1,3784 | 0,0021 | 0,0719 | 0,1556 | 0,0318 | 9 | 0,46 | 0,72 | 2,26 |
08.09.2011 15:00 | 15.09.2011 14:00 | 1,3795 | 1,3794 | 0,0021 | 0,0726 | 0,1537 | 0,0318 | 9 | 0,47 | 0,72 | 2,28 |
08.09.2011 14:00 | 15.09.2011 13:00 | 1,3814 | 1,3792 | 0,0021 | 0,0736 | 0,1564 | 0,0318 | 9 | 0,47 | 0,74 | 2,31 |
08.09.2011 13:00 | 15.09.2011 12:00 | 1,3802 | 1,3764 | 0,0021 | 0,0712 | 0,159 | 0,0318 | 9 | 0,45 | 0,74 | 2,24 |
08.09.2011 12:00 | 15.09.2011 11:00 | 1,3769 | 1,3753 | 0,0021 | 0,0719 | 0,1568 | 0,0318 | 9 | 0,46 | 0,72 | 2,26 |
08.09.2011 11:00 | 15.09.2011 10:00 | 1,3765 | 1,3732 | 0,0021 | 0,0721 | 0,1564 | 0,0318 | 9 | 0,46 | 0,74 | 2,27 |
08.09.2011 10:00 | 15.09.2011 9:00 | 1,3722 | 1,3718 | 0,0021 | 0,0716 | 0,1538 | 0,0318 | 9 | 0,47 | 0,72 | 2,25 |
08.09.2011 8:00 | 15.09.2011 7:00 | 1,371 | 1,3716 | 0,0021 | 0,0729 | 0,1542 | 0,0318 | 9 | 0,47 | 0,74 | 2,29 |
08.09.2011 8:00 | 15.09.2011 7:00 | 1,371 | 1,3716 | 0,0021 | 0,0729 | 0,1542 | 0,0318 | 9 | 0,47 | 0,74 | 2,29 |
08.09.2011 7:00 | 15.09.2011 6:00 | 1,3723 | 1,3727 | 0,0021 | 0,0716 | 0,1547 | 0,0318 | 9 | 0,46 | 0,72 | 2,25 |
08.09.2011 6:00 | 15.09.2011 5:00 | 1,3726 | 1,3725 | 0,0021 | 0,0711 | 0,1564 | 0,0318 | 9 | 0,45 | 0,69 | 2,24 |
08.09.2011 5:00 | 15.09.2011 4:00 | 1,3719 | 1,3731 | 0,0021 | 0,0711 | 0,1563 | 0,0318 | 9 | 0,45 | 0,69 | 2,24 |
08.09.2011 4:00 | 15.09.2011 3:00 | 1,374 | 1,3744 | 0,0021 | 0,0713 | 0,1547 | 0,0318 | 9 | 0,46 | 0,69 | 2,24 |
08.09.2011 3:00 | 15.09.2011 2:00 | 1,3748 | 1,3747 | 0,0021 | 0,0705 | 0,1547 | 0,0318 | 9 | 0,46 | 0,68 | 2,22 |
08.09.2011 2:00 | 15.09.2011 1:00 | 1,3743 | 1,3742 | 0,0021 | 0,0715 | 0,1544 | 0,0318 | 9 | 0,46 | 0,7 | 2,25 |
08.09.2011 1:00 | 15.09.2011 0:00 | 1,3738 | 1,3743 | 0,0021 | 0,0714 | 0,1544 | 0,0318 | 9 | 0,46 | 0,7 | 2,25 |
08.09.2011 0:00 | 14.09.2011 23:00 | 1,375 | 1,3743 | 0,0021 | 0,0724 | 0,1532 | 0,0318 | 9 | 0,47 | 0,73 | 2,28 |
07.09.2011 23:00 | 14.09.2011 22:00 | 1,375 | 1,3736 | 0,0021 | 0,0727 | 0,1532 | 0,0318 | 9 | 0,47 | 0,74 | 2,29 |
07.09.2011 22:00 | 14.09.2011 21:00 | 1,3751 | 1,3735 | 0,0021 | 0,0734 | 0,1532 | 0,0318 | 9 | 0,48 | 0,74 | 2,31 |
07.09.2011 21:00 | 14.09.2011 20:00 | 1,3748 | 1,3716 | 0,0021 | 0,0722 | 0,1555 | 0,0318 | 9 | 0,46 | 0,72 | 2,27 |
07.09.2011 20:00 | 14.09.2011 19:00 | 1,3714 | 1,3712 | 0,0021 | 0,0812 | 0,145 | 0,0189 | 6 | 0,56 | 0,74 | 4,3 |
07.09.2011 19:00 | 14.09.2011 18:00 | 1,371 | 1,3697 | 0,0021 | 0,0692 | 0,1577 | 0,0318 | 9 | 0,44 | 0,69 | 2,18 |
07.09.2011 18:00 | 14.09.2011 17:00 | 1,3673 | 1,369 | 0,0021 | 0,0695 | 0,154 | 0,0318 | 9 | 0,45 | 0,72 | 2,19 |
07.09.2011 17:00 | 14.09.2011 16:00 | 1,3687 | 1,3693 | 0,0021 | 0,0695 | 0,1548 | 0,0318 | 9 | 0,45 | 0,72 | 2,19 |
07.09.2011 16:00 | 14.09.2011 15:00 | 1,3704 | 1,3704 | 0,0021 | 0,066 | 0,1591 | 0,0318 | 11 | 0,41 | 0,69 | 2,08 |
07.09.2011 15:00 | 14.09.2011 14:00 | 1,373 | 1,37 | 0,002 | 0,066 | 0,1577 | 0,0318 | 10 | 0,42 | 0,69 | 2,08 |
07.09.2011 14:00 | 14.09.2011 13:00 | 1,3712 | 1,3681 | 0,002 | 0,066 | 0,1562 | 0,0318 | 9 | 0,42 | 0,69 | 2,08 |
07.09.2011 13:00 | 14.09.2011 12:00 | 1,3685 | 1,3653 | 0,002 | 0,0665 | 0,1534 | 0,0318 | 9 | 0,43 | 0,74 | 2,09 |
07.09.2011 12:00 | 14.09.2011 11:00 | 1,3655 | 1,3646 | 0,002 | 0,0673 | 0,1504 | 0,0318 | 9 | 0,45 | 0,77 | 2,12 |
07.09.2011 11:00 | 14.09.2011 10:00 | 1,3656 | 1,3634 | 0,002 | 0,0709 | 0,15 | 0,0318 | 9 | 0,47 | 0,77 | 2,23 |
07.09.2011 10:00 | 14.09.2011 9:00 | 1,3625 | 1,3625 | 0,002 | 0,0725 | 0,1461 | 0,0318 | 9 | 0,5 | 0,83 | 2,28 |
07.09.2011 9:00 | 14.09.2011 8:00 | 1,3631 | 1,3638 | 0,002 | 0,0719 | 0,1465 | 0,0318 | 9 | 0,49 | 0,8 | 2,26 |
07.09.2011 8:00 | 14.09.2011 7:00 | 1,3641 | 1,3643 | 0,002 | 0,0707 | 0,1481 | 0,0318 | 9 | 0,48 | 0,77 | 2,22 |
07.09.2011 7:00 | 14.09.2011 6:00 | 1,3635 | 1,3648 | 0,002 | 0,0724 | 0,1481 | 0,0318 | 9 | 0,49 | 0,8 | 2,28 |
07.09.2011 6:00 | 14.09.2011 5:00 | 1,3647 | 1,3656 | 0,002 | 0,0724 | 0,1476 | 0,0318 | 9 | 0,49 | 0,8 | 2,28 |
07.09.2011 5:00 | 14.09.2011 4:00 | 1,3665 | 1,3676 | 0,002 | 0,0667 | 0,1536 | 0,0318 | 9 | 0,43 | 0,72 | 2,1 |
07.09.2011 4:00 | 14.09.2011 3:00 | 1,3694 | 1,3683 | 0,002 | 0,0675 | 0,1504 | 0,0318 | 9 | 0,45 | 0,74 | 2,12 |
07.09.2011 3:00 | 14.09.2011 2:00 | 1,3682 | 1,3682 | 0,002 | 0,0672 | 0,1498 | 0,0318 | 9 | 0,45 | 0,74 | 2,11 |
07.09.2011 2:00 | 14.09.2011 1:00 | 1,3684 | 1,3686 | 0,002 | 0,067 | 0,1512 | 0,0318 | 9 | 0,44 | 0,72 | 2,11 |
07.09.2011 1:00 | 14.09.2011 0:00 | 1,3679 | 1,3686 | 0,002 | 0,067 | 0,1514 | 0,0318 | 9 | 0,44 | 0,72 | 2,11 |
07.09.2011 0:00 | 13.09.2011 23:00 | 1,3678 | 1,3691 | 0,002 | 0,0679 | 0,1507 | 0,0318 | 9 | 0,45 | 0,74 | 2,14 |
06.09.2011 23:00 | 13.09.2011 22:00 | 1,3692 | 1,3698 | 0,002 | 0,066 | 0,1517 | 0,0318 | 9 | 0,44 | 0,69 | 2,08 |
06.09.2011 22:00 | 13.09.2011 21:00 | 1,3708 | 1,3705 | 0,002 | 0,0652 | 0,1512 | 0,0318 | 9 | 0,43 | 0,69 | 2,05 |
06.09.2011 21:00 | 13.09.2011 20:00 | 1,3719 | 1,3709 | 0,002 | 0,0652 | 0,1512 | 0,0318 | 9 | 0,43 | 0,69 | 2,05 |
06.09.2011 20:00 | 13.09.2011 19:00 | 1,371 | 1,3691 | 0,002 | 0,0652 | 0,1517 | 0,0318 | 9 | 0,43 | 0,69 | 2,05 |
06.09.2011 19:00 | 13.09.2011 18:00 | 1,3677 | 1,3669 | 0,002 | 0,0666 | 0,1485 | 0,0318 | 9 | 0,45 | 0,72 | 2,09 |
06.09.2011 18:00 | 13.09.2011 17:00 | 1,3678 | 1,3677 | 0,002 | 0,0666 | 0,149 | 0,0318 | 9 | 0,45 | 0,72 | 2,09 |
06.09.2011 17:00 | 13.09.2011 16:00 | 1,3698 | 1,3659 | 0,002 | 0,0625 | 0,1555 | 0,0318 | 9 | 0,4 | 0,64 | 1,97 |
06.09.2011 16:00 | 13.09.2011 15:00 | 1,3658 | 1,3643 | 0,002 | 0,065 | 0,1513 | 0,0318 | 9 | 0,43 | 0,72 | 2,04 |
06.09.2011 15:00 | 13.09.2011 14:00 | 1,3665 | 1,3636 | 0,002 | 0,0643 | 0,1527 | 0,0318 | 9 | 0,42 | 0,69 | 2,02 |
06.09.2011 14:00 | 13.09.2011 13:00 | 1,3639 | 1,3619 | 0,002 | 0,0659 | 0,1552 | 0,0318 | 9 | 0,42 | 0,74 | 2,07 |
06.09.2011 13:00 | 13.09.2011 12:00 | 1,3617 | 1,3628 | 0,0021 | 0,0824 | 0,1432 | 0,0189 | 6 | 0,58 | 0,8 | 4,36 |
06.09.2011 12:00 | 13.09.2011 11:00 | 1,3616 | 1,361 | 0,0021 | 0,0824 | 0,1435 | 0,0189 | 6 | 0,57 | 0,8 | 4,36 |
06.09.2011 11:00 | 13.09.2011 10:00 | 1,3582 | 1,3631 | 0,002 | 0,0795 | 0,1435 | 0,0189 | 6 | 0,55 | 0,8 | 4,21 |
06.09.2011 10:00 | 13.09.2011 9:00 | 1,3654 | 1,3656 | 0,002 | 0,077 | 0,146 | 0,0189 | 6 | 0,53 | 0,74 | 4,07 |
06.09.2011 9:00 | 13.09.2011 8:00 | 1,3655 | 1,3664 | 0,0021 | 0,0813 | 0,1442 | 0,0189 | 6 | 0,56 | 0,77 | 4,3 |
06.09.2011 8:00 | 13.09.2011 7:00 | 1,3679 | 1,3673 | 0,0022 | 0,0834 | 0,1435 | 0,0189 | 6 | 0,58 | 0,77 | 4,41 |
06.09.2011 7:00 | 13.09.2011 6:00 | 1,3685 | 1,3668 | 0,0022 | 0,0828 | 0,1448 | 0,0189 | 6 | 0,57 | 0,74 | 4,38 |
06.09.2011 6:00 | 13.09.2011 5:00 | 1,3676 | 1,3669 | 0,0022 | 0,0879 | 0,1406 | 0,0189 | 6 | 0,63 | 0,85 | 4,65 |
06.09.2011 5:00 | 13.09.2011 4:00 | 1,3669 | 1,3653 | 0,0022 | 0,0821 | 0,1458 | 0,0189 | 6 | 0,56 | 0,8 | 4,34 |
06.09.2011 4:00 | 13.09.2011 3:00 | 1,3635 | 1,3639 | 0,0022 | 0,0821 | 0,1428 | 0,0189 | 6 | 0,57 | 0,8 | 4,34 |
06.09.2011 3:00 | 13.09.2011 2:00 | 1,3637 | 1,3646 | 0,0022 | 0,0821 | 0,1428 | 0,0189 | 6 | 0,57 | 0,8 | 4,34 |
06.09.2011 2:00 | 13.09.2011 1:00 | 1,3657 | 1,364 | 0,0022 | 0,0825 | 0,1407 | 0,0189 | 6 | 0,59 | 0,8 | 4,37 |
06.09.2011 1:00 | 13.09.2011 0:00 | 1,366 | 1,3639 | 0,0022 | 0,085 | 0,1384 | 0,0141 | 6 | 0,61 | 0,83 | 6,03 |
06.09.2011 0:00 | 12.09.2011 23:00 | 1,3678 | 1,3655 | 0,0022 | 0,083 | 0,1416 | 0,0141 | 6 | 0,59 | 0,8 | 5,89 |
05.09.2011 23:00 | 12.09.2011 22:00 | 1,366 | 1,3613 | 0,0022 | 0,0806 | 0,1424 | 0,0123 | 6 | 0,57 | 0,8 | 6,55 |
05.09.2011 22:00 | 12.09.2011 21:00 | 1,3572 | 1,3585 | 0,002 | 0,0731 | 0,1414 | 0,0152 | 6 | 0,52 | 0,77 | 4,81 |
05.09.2011 21:00 | 12.09.2011 20:00 | 1,3576 | 1,3601 | 0,002 | 0,0714 | 0,1432 | 0,0152 | 6 | 0,5 | 0,74 | 4,7 |
05.09.2011 20:00 | 12.09.2011 19:00 | 1,3607 | 1,3637 | 0,0021 | 0,0712 | 0,1406 | 0,0129 | 6 | 0,51 | 0,74 | 5,52 |
05.09.2011 19:00 | 12.09.2011 18:00 | 1,3632 | 1,3619 | 0,0021 | 0,0712 | 0,1405 | 0,0129 | 6 | 0,51 | 0,74 | 5,52 |
05.09.2011 18:00 | 12.09.2011 17:00 | 1,3609 | 1,3641 | 0,0021 | 0,073 | 0,1378 | 0,0129 | 6 | 0,53 | 0,77 | 5,66 |
05.09.2011 17:00 | 12.09.2011 16:00 | 1,3684 | 1,3659 | 0,002 | 0,0713 | 0,1334 | 0,0083 | 6 | 0,53 | 0,74 | 8,59 |
05.09.2011 16:00 | 12.09.2011 15:00 | 1,3665 | 1,3636 | 0,002 | 0,0727 | 0,1343 | 0,0083 | 6 | 0,54 | 0,77 | 8,76 |
05.09.2011 15:00 | 12.09.2011 14:00 | 1,363 | 1,3601 | 0,002 | 0,072 | 0,1348 | 0,0083 | 6 | 0,53 | 0,77 | 8,67 |
05.09.2011 14:00 | 12.09.2011 13:00 | 1,3603 | 1,3594 | 0,002 | 0,0752 | 0,1304 | 0,0083 | 6 | 0,58 | 0,83 | 9,06 |
05.09.2011 13:00 | 12.09.2011 12:00 | 1,3623 | 1,3589 | 0,002 | 0,0742 | 0,1304 | 0,0083 | 6 | 0,57 | 0,83 | 8,94 |
05.09.2011 12:00 | 12.09.2011 11:00 | 1,3597 | 1,3561 | 0,0019 | 0,0737 | 0,1291 | 0,0083 | 6 | 0,57 | 0,8 | 8,88 |
05.09.2011 11:00 | 12.09.2011 10:00 | 1,3561 | 1,3551 | 0,0019 | 0,0729 | 0,1275 | 0,0083 | 6 | 0,57 | 0,8 | 8,78 |
05.09.2011 10:00 | 12.09.2011 9:00 | 1,3556 | 1,3552 | 0,002 | 0,072 | 0,1283 | 0,0083 | 6 | 0,56 | 0,77 | 8,67 |
05.09.2011 9:00 | 12.09.2011 8:00 | 1,3536 | 1,3532 | 0,002 | 0,072 | 0,1271 | 0,0083 | 6 | 0,57 | 0,77 | 8,67 |
05.09.2011 8:00 | 12.09.2011 7:00 | 1,3519 | 1,3554 | 0,0019 | 0,0703 | 0,1288 | 0,0083 | 6 | 0,55 | 0,74 | 8,47 |
05.09.2011 7:00 | 12.09.2011 6:00 | 1,3583 | 1,3579 | 0,0019 | 0,072 | 0,1224 | 0,0083 | 6 | 0,59 | 0,77 | 8,67 |
05.09.2011 6:00 | 12.09.2011 5:00 | 1,3591 | 1,3582 | 0,0019 | 0,0715 | 0,1224 | 0,0083 | 6 | 0,58 | 0,77 | 8,61 |
05.09.2011 5:00 | 12.09.2011 4:00 | 1,3593 | 1,3589 | 0,0019 | 0,0713 | 0,1224 | 0,0083 | 6 | 0,58 | 0,75 | 8,59 |
05.09.2011 3:00 | 12.09.2011 2:00 | 1,3583 | 1,361 | 0,0019 | 0,0746 | 0,1192 | 0,0083 | 6 | 0,63 | 0,78 | 8,99 |
표 4. EViews의 테스트 결과
이 표는 우리 모델(너무 원시적이고 미완성)이 사실상 희망이 없음을 시사합니다. 개선이 필요합니다.
P/F(핍) 및 P/F(관측)의 두 열 차트를 플로팅하겠습니다.
그림 12. 118개 바의 샘플에 대한 모델 이익 계수 차트
이 차트는 분석의 바 수에 대한 이익 요인의 의존성을 나타냅니다. 분명한 상승세가 있습니다.
238개의 바 샘플에 대한 결과를 확인해 보겠습니다. 그린 차트는 다음과 같습니다.
그림 13. 236개의 바 샘플에 대한 모델 이익 계수 차트
이익 요인 차트가 다르다는 사실은 모형이 불안정하다는 것을 나타냅니다.
결론
이 글에서는 MetaTrader 4의 Expert Advisor 개발을 위해 EViews에서 생성한 한 단계 앞서가는 예측을 사용하는 방법을 다뤘습니다.
우리가 얻은 부정적인 결과는 EViews에서 모델을 구축하는 것이 Expert Advisors의 직관적인 개발보다 잠재적으로 더 생산적인 것으로 보이는 상당히 복잡한 작업임을 나타냅니다.
MetaQuotes 소프트웨어 사를 통해 러시아어가 번역됨.
원본 기고글: https://www.mql5.com/ru/articles/1345