귀하의 EA가 구매/판매를 결정하는 방법에 대한 정보가 없으면 답변하기 어렵습니다.
우리는 시장에서 하나의 막대가 매우 큰 경우를 많이 봅니다(예: 중요한 뉴스).
따라서 테스터는 이러한 막대에 대해 최대 11개의 틱을 생성합니다. 논리에 따라 매우 다르게 작동합니다(테스트 단독).
실제 돈으로 EA를 사용한다면 그러한 큰 막대가 1분에 최대 200틱을 가질 수 있기 때문에 훨씬 더 나쁠 것이라고 확신합니다.
귀하의 논리가 현재 막대에서 작동한다고 가정하고 이전 막대의 값으로 논리를 시도해야 합니다.
최고의 소원
우에
나는 이제 하나의 막대에서 "똑딱"에 대한 트릭을 보냅니다. 이 논리를 틱의 시작 부분에 넣으면 됩니다. 막대가 새롭지 않으면 종료됩니다...
어떤 상황에서 이 트릭이 잘 작동할 수 있다고 생각합니까?
//--- Let's first check if a new bar has come! if ( CopyTime ( _Symbol , _Period , 0 , 1 , m_currentBarTime) > 0 ) { if (m_previousBarTime != m_currentBarTime[ 0 ]) { m_isNewBar = true ; m_previousBarTime = m_currentBarTime[ 0 ]; } } else { Alert ( "Error copying historical data, error: " , GetLastError ()); return ; } if (!m_isNewBar) return ;
이러한 추가 틱을 해결하기 위해 무엇을 추천하시겠습니까? 이것을 설명하는 기사 정도가 있습니까? 고맙습니다.
나는 이제 하나의 막대에서 "똑딱"에 대한 트릭을 보냅니다. 이 논리를 틱의 시작 부분에 넣으면 됩니다. 막대가 새롭지 않으면 종료됩니다...
어떤 상황에서 이 트릭이 잘 작동할 수 있다고 생각합니까?
추가 틱을 해결하기 위해 무엇을 추천하시겠습니까? 이것을 설명하는 기사 정도가 있습니까? 고맙습니다.
귀하의 EA가 구매/판매를 결정하는 방법에 대한 정보가 없으면 답변하기 어렵습니다.
우리는 시장에서 하나의 막대가 매우 큰 경우를 많이 봅니다(예: 중요한 뉴스).
따라서 테스터는 이러한 막대에 대해 최대 11개의 틱을 생성합니다. 논리에 따라 매우 다르게 작동합니다(테스트 단독).
실제 돈으로 EA를 사용한다면 그러한 큰 막대가 1분에 최대 200틱을 가질 수 있기 때문에 훨씬 더 나쁠 것이라고 확신합니다.
귀하의 논리가 현재 막대에서 작동한다고 가정하고 이전 막대의 값으로 논리를 시도해야 합니다.
최고의 소원
우에
안녕,
이전 막대의 값을 사용한다는 것은 무엇을 의미합니까? maVal[0] 대신 maVal[1](여기서 maVal은 이동 평균 값을 포함하고 배열은 시리즈로 설정됨)을 사용하시겠습니까?
또는 마지막 막대에서 조건이 확인되었는지 확인하여 이 막대를 열 때 입력하시겠습니까?
내 아주 간단한 EA 코드의 일부 아래
triggerLong=maVal[ 1 ]-diff; triggerShort=maVal[ 1 ]+diff; ...... ....... Buy_Condition_1=(now_ask<triggerLong); Sell_Condition_1=(now_bid>triggerShort); Exit_long_Condition=(closeAtCross? now_ask>=maVal[ 1 ]: false ) || Sell_Condition_1; Exit_short_Condition=(closeAtCross? now_bid<=maVal[ 1 ]: false ) || Buy_Condition_1;
내가 maVal[1]을 사용하든 maVal[0]을 사용하든 상황은 그다지 변하지 않지만 모든 틱 이 그렇지 않은 동안 ohcl은 여전히 수익성이 있습니다.
감사해요
귀하의 EA가 구매/판매를 결정하는 방법에 대한 정보가 없으면 답변하기 어렵습니다.
우리는 시장에서 하나의 막대가 매우 큰 경우를 많이 봅니다(예: 중요한 뉴스).
따라서 테스터는 이러한 막대에 대해 최대 11개의 틱을 생성합니다 . 논리에 따라 매우 다르게 작동합니다(테스트 단독).
실제 돈으로 EA를 사용한다면 그러한 큰 막대가 1분에 최대 200틱을 가질 수 있기 때문에 훨씬 더 나쁠 것이라고 확신합니다.
귀하의 논리가 현재 막대에서 작동한다고 가정하고 이전 막대의 값으로 논리를 시도해야 합니다.
최고의 소원
우에
"그 여분의 진드기를 해결하기 위해"은(는) 무슨 뜻인가요?
나는 ugo58에 절대적으로 동의합니다. 큰 막대는 이벤트 OnTick을 여러 번 트리거할 수 있지만 작은 막대는 훨씬 적게 트리거합니다.
이것은 자동 거래 전략 에 영향을 줄 수 있으므로 개발자는 이벤트 OnTick이 막대당 여러 번 실행될 수 있다는 사실을 완화하는 솔루션을 찾아야 합니다.
제가 전에 보낸 것은 하나의 해결책이라고 생각합니다. ugo50은 또 다른 솔루션을 제안했습니다. 가장 최근의 과거 막대에서 OnTick 로직을 실행하는 것입니다. 어쨌든 현재 표시줄에서 OnTick 논리를 실행하려면 이전에 보낸 것과 비슷한 것을 사용할 수 있습니다.
OnBar 이벤트와 같은 것을 구현하려고 합니다.
이에 대해 어떻게 생각하세요?
안녕,
이전 막대의 값을 사용한다는 것은 무엇을 의미합니까? maVal[0] 대신 maVal[1](여기서 maVal은 이동 평균 값을 포함하고 배열은 시리즈로 설정됨)을 사용하시겠습니까?
또는 마지막 막대에서 조건이 확인되었는지 확인하여 이 막대를 열 때 입력하시겠습니까?
내 아주 간단한 EA 코드의 일부 아래
내가 maVal[1]을 사용하든 maVal[0]을 사용하든 상황은 그다지 변하지 않지만 모든 틱이 그렇지 않은 동안 ohcl은 여전히 수익성이 있습니다.
감사해요
코드가 maVal[1] 또는 maVal[0]을 사용하거나 일반적으로 닫힌 막대만 또는 열린 막대 또는 막대 내부에서 작업하는 경우 분명히 큰 차이가 있습니다.
마지막 경우에는 모든 틱 모드를 사용해야 하며 다른 모든 모드는 적절하지 않습니다.
고마워. 오, 글쎄. 내가 방금 다시 배워야 했던 것 중 하나. ;)
내가 말했듯이 그것은 당신의 논리에 달려 있습니다.
그것들은 이러한 문제를 해결하는 많은 방법이며, maVal[1]은 이동 평균이 각 막대에서 그렇게 빠르게 변경되지 않을 수 있기 때문에 더 쉬운 솔루션 중 하나입니다(기간 길이 및 평활화 방법에 따라 다름).
예를 들어 막대 범위의 높고 낮음에 의존하는 경우 다를 수 있습니다.
- 2010.10.11
- Konstantin Gruzdev
- www.mql5.com
모든 틱 또는 1분 OHLC에서 테스트할 때 완전히 반대 결과가 나타납니다. EA와 입력 매개변수는 정확히 동일하지만 1min ohlc의 경우 50000의 이익을 얻는 반면 모든 틱에서 -7000의 손실을 얻습니다.
이것은 2년 0811-0813의 기간 동안 많은 쌍 테스트에서 발생합니다.
누군가가 같은 문제를 겪었습니까? 여기서 문제가 무엇인지, 실제 돈을 거래할 때 무엇을 해야 하는지 이해가 되지 않습니다.
아래 두 그래프
1분 OHLC
모든 틱