EA에 대한 제안(이익 손실) - 페이지 4

 

다음은 2년 테스트에서 1로트로 변경하고 프레임 240으로 변경하고 두 매개변수가 서로 동기화된 = 60에서 어떻게 보이는지 보여줍니다. (그리고 M60을 제외한 모든 논리는 제외되었습니다.)

테스트 13544의 바
5961890을 모델링한 진드기
모델링 품질 90.00%
불일치 차트 오류 0
초기 보증금 10000.00
총 순이익 30459.02
총 이익 99716.99
총 손실 -69257.97
이익 계수 1.44
예상 수익 152.30
절대 드로다운 1037.97
최대 드로다운 20707.98 (35.94%)
상대 하락률 35.94% (20707.98)
총 거래 200
숏포지션(승률 %) 97(30.93%)
롱포지션(원 %) 103(30.10%)
이익 거래(전체의 %) 61(30.50%)
손실 거래(전체의 %) 139(69.50%)
가장 큰
이익 거래 5833.00
손실 거래 -3156.00
평균
이익 거래 1634.70
손실 거래 -498.26
최고
연속 우승 (현금) 6 (14728.00)
연속 손실 (돈 손실) 12 (-1587.00)
최대
연속 이익(승수) 14728.00 (6)
연속 손실(손실 수) -9507.00 (5)
평균
연속 우승 1
연속 패배 3

 
diostar 2011.10.05 12:37

당신은 오해했다. MTF는 이유도 문제도 아닙니다. prb는 그냥 MA입니다. 아주 간략하게 설명을 드리겠습니다.

MA는 과거를 말합니다. 따라서 H1에서 MA 신호를 받을 때 기대값 E는 다음 프레임, 예를 들어 H4에서 H1의 과거와 "동의"할 것이라는 것입니다. 이익을 얻으려면 H1 과거가 H4 전류에 나타날 때입니다. E가 발생하면 거래를 종료하거나 전략이 원하는 대로 하는 것을 의미합니다.

그러나 이 경우 포스터는 반대 방향을 취했습니다. 모든 기대가 뒤죽박죽이기 때문에 그것의 아주 기본적인 무역 결함.


Tho Multi-TimeFrame은 내 강력한 슈트가 아닙니다. 그러니 제 생각이 틀렸다면 정정 부탁드립니다.

위의 논리에서 귀하가 게시한 내용은 다음과 같습니다.

 if ((Close[ 0 ]<=fastMA30 && Close[ 0 ]<=fastMA60 && Close[ 0 ]<=fastMA240 ))

내가 빨간색으로 강조한 &&는 fastMA240 도 동의해야 함을 알려줍니다.

fastMA240이 모든 MA 중에서 가장 느립니다. fastMA240이 시스템 변경을 느리게 만든다고 말하는 것이 합리적이지 않을까요? 그리고 fastMA240이 말해야 하는 것에 의해 전체 시스템이 도청당했다고요?

이제 귀하의 제안을 받아들인다면:

 if ((Close[ 0 ]<=fastMA30 && Close[ 0 ]<=fastMA60))

이제 fastMA240을 그대로 두면 시스템이 변화에 더 빨리 반응할 것 같습니다. 그러나 우리는 여전히 쇼를 실행하는 MA60의 문제가 있습니다.

결론적으로 중요한 것은 장기적으로 수익성 있는 접근 방식인지 여부입니다. IMO 어느 것이 더 낫다고 말할 수 있는 방법이 없습니다. 테스트하지 않은 귀하의 접근 방식 또는 원저자의 접근 방식 :)

마지막으로 위의 코드에서 마음에 들지 않는 점입니다. 1) Close[0]에서와 같이 해당 코드가 백 테스터에게 친숙하지 않은 현재 막대의 사용. 2) <=에서와 같이 = 기호를 사용하는 경우 첫째, double 유형이기 때문에 가격이 =가 되는 경우는 매우 드뭅니다. 두 번째로 모든 MA가 = Close[0]인 드문 경우에 시스템은 방향이 없습니다. 예: if(xMA>=Close[0]){Buy}_____if(xMA<=Close[0]){Sell }, =Close[0]일 때 올바른 조치는 무엇입니까?

 
diostar :

결과로 판단하면 최적화를 권장하지 않습니다. 이러한 전략 및 논리 문제를 살펴보기 전까지는.

첫째, H1에서 7년 간의 테스트를 실행한 후만큼 시간이 없었고 EA의 모든 코드 라인을 살펴보고 싶은 동기가 너무 많았습니다. "느린" 거래 및 "빠른" 거래. 이게 무슨 전략이구나, 하는 생각이 들었다.

그런 다음 코딩 패턴을 살펴보고 slowmagic 숫자를 주석으로 처리해 봅니다. 예상대로 ea가 작동하지 않았습니다.

그런 다음 다른 빠른 매직 번호를 주석 처리했습니다. 그리고 놀랍게도 ea는 오류 없이 컴파일됩니다.

그래서, 논리가 원하는 것에 대해 완전히 불완전한 것 같습니까? 확실히, 귀하의 EA는 일부 느린 MA 논리를 기반으로만 채워지고 있지만 빠른 MA 논리는 절대 사용하지 않습니까?

당신이 이 EA의 주인이기에, 내 간단한 방법보다 이 모든 것에 더 나은 대답을 해야 합니다.


구현되지 않은 아이디어가 있으므로 느리고 빠른 매직 넘버가 표시됩니다.


EA는 주문에 대해 느린 매직 넘버만 사용하고 있으며 항목이 스캔하는 느리고 빠른 MA와 완전히 별개입니다.

이것이 귀하의 질문에 대한 답변이 되기를 바랍니다.

감사해요

 
ubzen :
여러분은 이것을 이것에서 승리하는 시스템을 만드는 작은 프로젝트로 바꿔야 합니다. 모든 사람은 현재 버전의 EA로 시작한 다음 무언가를 추가합니다. 그런 다음 여러분은 yall 중에서 가장 강력한 코더를 선택하여 최고의 아이디어를 수집합니다. yall이 목표를 달성하면 코드 베이스에 배치합니다. 어떤 내용이 나올지 지켜보는 것도 꽤 흥미로울 것입니다.

게시 된 EA의 기본 버전에서 수익성있는 EA를 구축하기 위해 그러한 노력에 협력하고 싶습니다.

 
mbirrell :

다른 시장 진입 방법을 모색할 것입니다. 신호가 이러한 표시기에 의해 주어졌을 때 이미 너무 늦었습니다. 나는 항상 시장이 어떻게 될지 예상하면서 지정가 주문을 사용합니다. 어떤 사람들은 이 접근 방식을 취하는 것을 비웃을 수도 있지만 저에게는 효과가 있었습니다. 단거리 경주가 아니라 마라톤임을 기억하십시오.


나는 확실히 당신의 논리에 동의하지만 제한 주문 모델에 맞게 기존 논리를 어떻게 변환합니까?
 
danjp :

흥미로운 아이디어, 나는 에프 c0d3는 괜찮습니다. 시도해 보겠습니다. 내 규칙 기능을 그의 규칙으로 대체할 수 있어야 합니다. 그러면 규칙 거래 시간, 이메일 알림, 오류 검사, 스태킹, 한도 및 보류 주문 후행 중지, 중지 등을 제공할 수 있습니다. 내 EA 셸에서 해당 규칙이 작동하도록 하는 데는 아마도 하루 또는 이틀 밖에 걸리지 않을 것입니다. 그런 다음 규칙을 조정하여 수익성을 높일 수 있습니다.

저는 확실히 괜찮습니다. 하지만 이 스레드에서 코드를 공유해도 될까요?
 
diostar :

그의 "규칙"을 본 적이 있다면 다음과 같습니다(판매의 경우).

수학적으로 말해서 이것은 상당히 넌센스입니다. 그 이유는 예상대로 높은 프레임의 MA가 낮은 프레임보다 막대를 완성하는 데 더 긴 시간이 필요하기 때문에 느리기 때문입니다. 따라서 대체로 이 논리는 주로 다음과 같은 낮은 조건에 의해 결정됩니다.

따라서 그때까지 MA는 MA240, 그 다음 60, 30의 관점에서 과거를 보여주고 시장은 매도였습니다. 내 제안은 이 무의미한 규칙을 단순히 "반전"할 수 있으므로 짧은 항목 대신 길게 이동하거나 그 반대의 경우도 마찬가지 입니다. 결과가 더 예쁘다고 확신합니다.



단기 거래를 설명하겠습니다. 장기 거래의 경우도 마찬가지입니다.

  • 진입조건 1: 현재 종가 가 MA30(100샘플), MA60(100샘플), MA240(100샘플) 이하이면 하락세
 if ((Close[ 0 ]<=fastMA30 && Close[ 0 ]<=fastMA60 && Close[ 0 ]<=fastMA240))
   {
       // we are in a downtrend
       //Comment("\n"+"short only");
      shortEntry();
   }
  • 진입 조건 2: 진입 TF(15M)의 종가가 MA30(50개 샘플) 및 MA60(50개 샘플) 위에 근접할 때까지 기다립니다.

 if ( iClose ( Symbol (),entryTF, 1 )>=slowMA30 && iClose ( Symbol (),entryTF, 1 )>=slowMA60)
  • 짧게 입력

아이디어: 기동특무부대 논리

  • 가격이 M30 기준 MA30 이하일 때
  • 가격이 H1을 기준으로 MA60 미만인 경우
  • 가격이 H4 기준 MA240 이하일 때
  • M15 종가가 M30을 기반으로 하는 MA30 이상일 때까지 기다립니다.
  • M15 종가가 M60을 기반으로 하는 MA60보다 높을 때까지 기다립니다.
  • 짧게 입력: 주문 매개변수 포함


나는 또한 항목을 뒤집고 어떤 일이 일어나는지 보려고 노력할 것입니다.


이것이 귀하의 질문에 대한 답변이 되기를 바랍니다.

 
ubzen :

@diostar, 흥미로운 아이디어와 MTF 논리에 도전하십시오. 이것은 내가 MTF Logics에 대해 알아차린 것입니다. 일반적으로 하나의 시간 프레임이 시스템을 지배합니다.

@danjp, 네, 이것이야말로 당신이 신뢰하는 작업 프로그램에 규칙을 적용하는 가장 빠른 방법일 것입니다. 우리 대부분은 이미 로직을 연결할 템플릿을 가지고 있기 때문입니다. 누군가 자신의 코드를 공개하는 것을 꺼린다면 코드를 조립한 사람이 우리 코드 기반의 신뢰할 수 있는 라이브러리를 사용하도록 하는 것이 좋습니다. (예: OrderReliable.mqh.).

알잖아! 이 아이디어가 마음에 듭니다. 여기에서 3명이 로그인할 수 있다면 새 스레드를 시작하겠습니다. 우리는 수익성 있는 EA를 만들기 위해 협력합니다. 여러 거래자가 실제로 동일한 시스템을 거래할 수 있는지 확인하는 좋은 테스트가 될 것입니다. :)


스레드를 여기에 게시하십시오. 시작하면 참여하고 싶습니다.
 
danjp :

(1*std) -> (5*std)가 있는 최적화 실행을 수행하고 동일한 실행에서 SL과 TP 모두에서 0.3 -> 1.5를 시도합니다. 나는 12개월 동안 달리기를 시작할 것이다. 이러한 실행 중 일부에서 적절한 결과를 얻으면 EA에 일상적인 거래 시간을 추가하고 이전 실행에서 얻은 값을 사용하여 연중무휴 거래하지 않고도 더 개선할 수 있는지 확인합니다.

행운을 빕니다. 결과를 계속 게시하십시오.

(1*std) -> (5*std) 및 (0.3 -> SL 및 TP 모두에서 1.5) 백테스트 를 실행하기 위한 문서를 추천할 수 있습니까?
 
diostar :

순방향 테스트 총 156개 거래가 39개 백테스트 거래보다 훨씬 더 안정적입니다. 백테스트의 전체 아이디어는 가능한 한 많은 거래를 하고 빠른 결과를 얻는 것입니다. 무엇을 위한 백테스팅인가?







백테스팅 은 단지 전략을 테스트하고 논리가 작동하는지 확인하는 것이지만 그것이 수익성이 있는지 판단하기 위해서는 순방향 테스트만이


백테스트에서 EA가 수익성이 있는 것을 보고 라이브로 실행하면 EA가 파산한 경우가 많았습니다.