Ubzen 시스템 개발 프로세스

 

목적: 시스템 개발 프로세스를 정의하려고 합니다. 내 머리 속에 몇 가지 아이디어가 있지만 포괄적이지 않습니다. 내 희망은 더 잘 알고 있는 다른 사람들이 그 과정을 비판할 수 있다는 것입니다. 저명한 회원이 개인 블로그와 같은 포럼을 사용하는 데 문제가 있거나 이 실험에서 좋은 점을 찾지 못한 경우 그렇게 말하면 즉시 중단하겠습니다.

좋습니다, 우리는 이미 sakis라는 회원이 제공한 시스템을 가지고 있습니다 . 3개월 테스트의 작은 샘플은 예상 가능한 결과를 보여주었습니다. 이제 이 기사 를 사용하여 이 기간에 대한 모든 통계적 측정값을 얻는 방법을 배우고 있습니다. 먼저 Mae/Mfe부터 시작하겠습니다.

 

ubzen 기본적으로 백테스팅 동안 각 거래의 MAE/MFE를 캡처하는 두 가지 접근 방식이 있습니다.

내가 추구한 첫 번째 방법은 백테스팅 동안 포지션의 최대 이익/손실을 틱별로 추적하여 "실시간" 방식으로 극단을 포착하는 것이었습니다. 이것은 CPU를 가장 많이 사용하는 접근 방식이며 최종 결과에서 시스템 오류가 가장 적게 발생합니다.

두 번째 방법, 그리고 현재 내가 사용하는 방법은 백테스트가 완료될 때까지 기다린 다음 deinit() 동안 orderhistory를 반복하여 각 거래에 대한 orderopen 및 orderclose 타임스탬프를 가져오고 극저 및 극저를 검색하는 것입니다. 두 타임스탬프 사이에 발생한 가격입니다. 그런 다음 그 극한 가격을 사용하여 그 당시 거래에 대해 발생했음에 틀림없는 MAE 및 MFE를 계산합니다.

이것은 매우 빠르고 리소스가 가벼워 백테스팅에 이상적이지만 MAE 또는 MFE가 시작 양초 또는 닫는 양초에서 발생하면 오류가 발생할 수 있습니다. orderopen 또는 orderclose 이후(그러나 동일한 촛불 내에서).

실제로 두 번째 접근 방식에 대한 이러한 단점을 실제로 크게 우려하지는 않았습니다. 하지만 알아야 할 사항입니다.

(deinit()에 대한 포함 루틴을 개발할 때의 또 다른 이점은 이를 스크립트로 사용하여 포워드/라이브 계정에서 실행할 수 있다는 것입니다... 드래그 앤 드롭으로 과거 거래를 분석할 수 있습니다. 계정)

 

안녕 ubzen 잘 지내?

1) 귀하의 종료 논리는 최소한 차트를 처음 볼 때 원래 시스템에 정의된 대로 작동하지 않는 것 같습니다.

2) 시스템은 1 대신 2의 위험 보상 비율로 더 잘 작동합니다. 아마도 동적 RRR이 더 향상될 수 있습니다.

3) 2010년 1월 1일 ~ 2010년 3월 1일 이 EA의 최적 지점이 될 것입니다. 손실이 거의 없습니다. 기간은 테스트하기에 약간 짧을 수 있고 좋은 선택이 아닐 수 있습니다.

4) 우리는 전략에 대한 다른 해석을 가지고 있습니다. 가격/ma 교차 후 MACD가 이미 0(그러나 5바 이상 떨어져서는 안 됨)을 교차했음을 이해하지만 macd 교차를 기다리고 주문을 엽니다.

-내 해석은 이미 많은 거래를 필터링합니다.

나는 추가했다:

) 매수와 매도를 동시에 지원합니다. (또한 주문이 손익분기점에 있는 경우 새 주문을 열 수 있습니다.)

b)피봇 포인트 진입 필터(위에서만 구매/아래에서만 판매)

c) 원래 종료 논리 대신 CCI를 사용합니다. (이 사건과 관련해 아직 할 일이 많다.)

여기에 몇 가지 사진:


 

Zzuegg님, 감사합니다.

당신은 위험을 감수하는 사람입니다 ;). 10%???. 나는 그것이 미래에 어느 정도 효과가 있는 것을 보게 되어 기쁩니다. 나는 이 일에 맞는 곡선이 두려워 미래를 내다보는 것이 두려웠다. 하나의 시각적인 보기만 있으면 됩니다.

1) 귀하의 종료 논리는 최소한 차트를 처음 볼 때 원래 시스템에 정의된 대로 작동하지 않는 것 같습니다. 코드가 공급자의 원래 의도를 수행하는지 확인하기 위해 코드를 다시 작성하겠습니다. b4 EA를 다시 게시합니다.

2) 시스템은 1 대신 2의 위험 보상 비율로 더 잘 작동합니다. 아마도 동적 RRR이 더 향상될 수 있습니다.
글쎄, 그것이 내가 무엇을 개선할 수 있는지 보기 위해 이 모든 일을 하는 이유입니다.

3) 2010년 1월 1일 ~ 2010년 3월 1일 이 EA의 최적 지점이 될 것입니다. 손실이 거의 없습니다. 기간은 테스트를 위해 약간 짧고 좋은 선택이 아닐 수 있습니다.
그래서 첫 번째 시도에서 스윗스팟에 맞았고, 나는 그것이 두려웠습니다. 이게 성배 라면 난 정말 상관없어. 나는 그것을 사례 연구로 사용하고 있으며 내 시스템이 아니므로 코드를 게시할 수 있습니다.

4) 우리는 전략에 대한 다른 해석을 가지고 있습니다. 가격/ma 교차 후 MACD가 이미 0(그러나 5바 이상 떨어져서는 안 됨)을 교차했음을 이해하지만 macd 교차를 기다리고 주문을 엽니다. 예, 그것에 대해 가르쳤습니다. 원래 공급자 만이 지금 그것을 지울 수 있습니다.

 
ubzen :

Zzuegg님, 감사합니다.


3) 2010년 1월 1일 ~ 2010년 3월 1일 이 EA의 최적 지점이 될 것입니다. 손실이 거의 없습니다. 기간은 테스트를 위해 약간 짧고 좋은 선택이 아닐 수 있습니다.
그래서 첫 번째 시도에서 스윗스팟에 맞았고, 나는 그것이 두려웠습니다. 이게 성배라면 난 정말 상관없어. 나는 그것을 사례 연구로 사용하고 있으며 내 시스템이 아니므로 코드를 게시할 수 있습니다.

잘 작동한다면 왜 시스템을 사용하지 않습니까? 아직 할 일이 많지만 원시 전략을 위해 이것은 잠재력을 보여줍니다. 출구 논리는 내 관점에서 크게 확장되어야 합니다.

10%에 관해서는 테스트 실행에서 위아래가 명확하게 표시되는 것을 보고 싶습니다. 물론 현실적인 시뮬레이션에는 아무 것도 없습니다.


추가하다:

가장 흥미로운 점은 위험 보상 비율이 2인 경우에도 이 시스템이 거래의 50% 이상을 획득하여 상당한 우위를 점한다는 것입니다.

 

@1005phillip: 경고가 표시되었습니다. 틱 데이터를 다운로드할 시간이 없습니다. 얼마나 큰 문제입니까?

거래자에게 최대 불리한 전환이 더 중요해야 하기 때문에 우리는 그것부터 시작할 것입니다. 동일한 결과를 사용하여 Excel 내에서 (LS 방법)이라고 생각되는 것을 플롯했습니다. 추세선을 그렸습니다. 내가 틀렸다면 누군가 저를 수정해 주세요. 스프레드 시트를 생성하는 데 사용된 도구는 Rosh의 여기 에서 찾았습니다. 다음으로 여기 에서 찾은 1005phillip의 도구를 사용하여 몇 가지 다른 시간 상수를 기반으로 평가하겠습니다.

음, 양의 기울기가 있습니다. 그렇다면 이것이 의미하는 바는 무엇이며 어떻게 개선할 수 있습니까? 젠장, 알았다면 여기서 실험하지 않았을 텐데. 그러나 기사에 따르면 긍정적입니다. 우리 돼지 저금통의 한 지점입니다. Stop_Level의 논리는 그대로 두겠습니다. 다른 time-2-close로 테스트할 때 이 숫자는 할당을 변경해야 합니다.

아래는 Plot and Slope의 이미지입니다.... 보고서에서 생성한 .csv도 첨부했습니다.

파일:
 

ubzen, MAE 데이터로 무엇을 하느냐는 개인 취향의 문제입니다.

나는 통계적으로 유효한 인과 관계가 아닌 MAE 대 P/L을 특성화하지 않습니다.

나는 MAE가 당신의 "진입 전략"이 당신을 MAE와 같은 금액만큼 너무 일찍 포지션에 넣었다고 말하고 있기 때문에 MAE를 특징짓습니다. 따라서 거래에 대한 귀하의 "잠재적 이익"은 MAE와 동일한 금액으로 훼손되었습니다.

MAE는 진입 전략을 조정하기 위한 것입니다. MFE는 출구 전략을 조정하기 위한 것입니다.

MFE와 OrderProfit의 차이점은 제가 "초과 MFE" 또는 단순히 "EMFE"라고 부르는 것이며, 이는 포지션을 너무 오랫동안 열어두는 출구 전략 덕분에 테이블에 남겨둔 돈입니다.

셋째, 시간은 돈입니다. 거래의 마진 포지션을 지원하기 위해 묶인 자본은 다른 거래를 지원하는 데 사용할 수 없는 자본입니다. 따라서 "MAE까지의 시간" 및 "EMFE까지의 시간"은 자본을 현명하고 효율적으로 사용하지 않고 있는 시간을 알려주므로 분석해야 할 매개변수 입니다.

그리고 마지막으로 MAE 및 MFE 발생의 연대기를 조사하는 것이 중요합니다. MAE가 MFE보다 먼저 발생한 경우 거래는 양호했지만 최소 MAE 및 최소 EMFE에 대한 진입 및 퇴출 전략을 조정하기 위해 최적화가 필요합니다.

그러나 MFE 이후에 MAE가 발생하면 전략이 여러 방식으로 중단됩니다. 아마도 가장 중요한 것은 취해야 할 것과 반대되는 입장을 여는 것입니다. 귀하의 전략이 롱 포지션을 오픈하고 시장이 귀하의 거래에 대한 MAE 이전에 발생하는 MFE를 초래하는 가격 조치를 진행한다면 귀하의 거래는 실제로 롱 포지션이 아닌 숏 포지션이어야 함을 의미합니다(여기서 롱 포지션에 대한 MFE가 숏 포지션에 대한 MAE가 되는 경우, MFE에 대한 반대의 경우도 마찬가지입니다.

예전에 올렸던 것 같은데 기억이 잘 안나네요.

 
차트 감사합니다, 1005phillip. 그것은 나를 위해 그것을 아주 잘 설명합니다.
 
안녕하세요 Phillip, 저는 막혀서 당신의 도움이 필요합니다. 귀하의 도구를 사용하여 어떻게든 예상하지 못한 값을 얻습니다. 예를 들어 Pips Data의 Profit/Loss를 합하면 음수를 반환하지만 시뮬레이션은 양수입니다. 나는 이것이 주파수와 관련이 있다고 생각하지만 설명 할 수 있습니까? 당신에게 오후를 보내려고했지만 다른 사람들은 그것을 가질 수 있습니까? 당신의 도구에 대해. 감사합니다.... 아래에 테스트 파일을 첨부합니다.
파일:
help.zip  20 kb
 
@1005phillip 차트 감사합니다! 나는 잠시 동안 이 통계를 내 EA에 코딩했습니다. 이것은 내뱉는 숫자에 대한 내 해석을 확실히 향상시킵니다!!
 

안녕 필립. 내 쪽에서 몇 가지 작은 질문:

도구를 사용한 후 이 히스토그램 파일을 얻었습니다. 지금까지 나는 "Profitloss 대 MAE & MFE"를 핍 단위로 자세히 살펴보았습니다.

내가 이해하는 한 이 값은 거래 중에 놓친 핍을 보여줍니다. 기본적으로 최상의 결과는 Profit==MFE 및 MAE==0일 때입니다. 옳은?

아래 그림을 보면 다음과 같은 사실을 알 수 있습니다.

  • EA가 이익을 내면 MFE에 가깝습니다(물론 내가 이익을 취하기 때문에)
  • EA도 수익을 낸다면 MAE가 거의 0에 가깝다는 것은 진입도 꽤 좋다는 것을 의미합니다. (최소한 주문 오픈 시간 동안 최고)
  • EA가 손실을 입으면 대부분 MAE와 일치합니다(물론 손절매가 사용되기 때문에).
  • 이 경우 MFE가 0에 가까우면 수익을 낼 기회가 없습니다.
  • 그러나 MFE가 높으면 출구를 놓쳤다는 의미입니다.

이러한 결론이 유효합니까?


사유: