초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 970

 
기타. 우리의 공동 노력으로, 그럼에도 불구하고 나는 내가 구상한 고문의 알고리즘을 썼습니다.
당신에게 많은 감사합니다. 전 세계가 썼다고 말할 수 있습니다)
모든 것이 작동하고 결과가 예상대로이므로 계속 진행할 수 있습니다.
---
OHLC 모드 M1에서 테스트에 대한 질문입니다.
"OHLC M1"에 대한 테스트 결과가 "모든 진드기"에 대한 테스트에 근접하도록 Expert Advisor를 프로그래밍할 수 있습니까?
포럼 전체를 뒤져보니 4개의 기준점으로 생성된 OHLC M1 모드가 일치하지 않는 이유를 충분히 이해할 수 있습니다.
틱 모드로.

그러나 OHLC M1과의 유사성을 위해 이 조건을 프로그래밍하는 방법에 대한 단일 권장 사항을 찾지 못했고 전혀 가능합니까?

OHLC M1 모드는 오로지 계산 속도 때문에 마음에 듭니다.
고문 세부 사항. (갑자기 중요한 경우)
고정 SL 및 TP로 중지 주문을 설정하고 트리거를 예상하여 새로운 가격 수준으로 주문을 반복적으로 수정합니다.
지표가 없습니다. 가격 카운터 만.
갑자기 "OHLC M1"모드를 질적으로 시뮬레이션하는 것이 불가능하다면 "시가 에서"모드를 기본으로 사용하는 것이 더 나을까요 ?
결과적으로 계산이 빠르게 진행되고 어떤 모드를 사용하는 것이 좋은지 알고 싶습니다.
"all-tiki" 모드 간의 차이는 최소화되었습니다.

지금까지 같은 유형의 조정에서 이러한 불일치를 받았습니다.

"OHLC M1" ; 8 년; 1681 거래. (처음에는 이 방법을 조정했습니다)

OHLC M1

"시가로"; 8 년; 1655 스레드.

시가만

"모든 틱" 8년; 1676 거래.

모든 진드기

알고리즘이 어느 정도 안정성을 보인 것 같습니다. 조정을 통해 각 방법의 결과를 개별적으로 개선할 수도 있습니다.

그러나 다양성이 상실되고 과적합이 나타날 것입니다.




 
vladzeit :


간단히 말해, 예를 들어 TP 매수 포지션이 1.16000으로 설정되어 있으면 "모든 틱"이 이 가격에서 마감됩니다. OHLC는 1.16000보다 높은 가격으로 마감되며 OHLC가 항상 더 나은 결과를 보여주기 때문에 이는 상당히 큰 차이가 될 수 있습니다. " 시가 에"와 같은 이야기입니다.

 
Nauris Zukas :

간단히 말해, 예를 들어 TP 매수 포지션이 1.16000으로 설정되어 있으면 "모든 틱"이 이 가격에서 마감됩니다. OHLC는 1.16000보다 높은 가격으로 마감되며 OHLC가 항상 더 나은 결과를 보여주기 때문에 이는 상당히 큰 차이가 될 수 있습니다. " 시가 로"와 같은 이야기.

나우리스 감사합니다. 다른 방법의 결과가 다른 이유를 이해합니다(추측). 그러나 나는 이것을 이해하고 싶습니다.

음, 테스터가 "OHLC M1" 방법을 어떻게든 시뮬레이션했다면 어떻게 Expert Advisor에서 프로그래밍 방식으로 동일한 방법을 반복해야 합니다.

테스터는 어떻게 든 그것을 재현 ...

 
vladzeit :

나우리스 감사합니다. 다른 방법의 결과가 다른 이유를 이해합니다(추측). 그러나 나는 이것을 이해하고 싶습니다.

음, 테스터가 "OHLC M1" 방법을 어떻게든 시뮬레이션했다면 어떻게 Expert Advisor에서 프로그래밍 방식으로 동일한 방법을 반복해야 합니다.

테스터는 어떻게 든 그것을 재현 ...

저를 믿으십시오. 그런 정확도는 필요하지 않습니다. 결과를 최적화하고 모든 틱에서 실행하는 것이 가장 좋습니다...

3~4핍의 핍이 없다면 2핍 이상으로 마감해도 큰 차이는 없습니다...

고문 자체에서 무언가를 복제하면 시간이 단축되지 않고 오히려 지연됩니다 ...

 
xxz :

저를 믿으십시오. 그런 정확도는 필요하지 않습니다. 결과를 최적화하고 모든 틱에서 실행하는 것이 가장 좋습니다...

3~4핍의 핍이 없다면 2핍 이상으로 마감해도 큰 차이는 없습니다...

고문 자체에서 무언가를 복제하면 시간이 단축되지 않고 오히려 지연됩니다 ...

고맙습니다. 아무도 "OHLC M1"방법을 구현하는 방법을 계속하지 않으면 단순히 귀하의 조언을 받도록 선고됩니다)))

 
vladzeit :

고맙습니다. 아무도 "OHLC M1"방법을 구현하는 방법을 계속하지 않으면 단순히 귀하의 조언을 받도록 선고됩니다)))

특별히 기발한게 생각나지 않는데 진드기의 방향이 다른데 실생활에서는 양초가 열릴 수 있고, 아래, 위, 진드기에 의해 닫힐 수 있고, 큰 양초라면 아래에서 살 수 있습니다 이미 닫고 이익을 얻으십시오. 양초를 모델링 할 때 시작, 상단, 하단, 닫기, 시작과 상단이 일치하고 하단도 마감과 일치한다고 가정하면 그런 양초에서 살 수 있지만 이겼습니다. 이익을 얻지 못하고 시장이 더 하락하면 여기에 중단 된 무익한 주문이 있습니다 ...

따라서 차이점 ...

 
vladzeit :

고맙습니다. 아무도 "OHLC M1"방법을 구현하는 방법을 계속하지 않으면 단순히 귀하의 조언을 받도록 선고됩니다)))

방법은 그 자체로 말합니다. EA의 현재 막대에 포함된 모든 분 막대의 OHLC 가격만 사용합니다.
 
vladzeit :

고맙습니다. 아무도 "OHLC M1"방법을 구현하는 방법을 계속하지 않으면 단순히 귀하의 조언을 받도록 선고됩니다)))

가격 수준이 아닌 Open으로 Expert Advisor에서 열기/닫기. 열기/닫기 신호가 있으며 다음 1M 캔들과 열기/닫기를 기다리세요.

 
Artyom Trishkin :
방법은 그 자체로 말합니다. EA의 현재 막대에 포함된 모든 분 막대의 OHLC 가격만 사용합니다.

Artyom, 나는 시도했다. 모든 조건, 주문 열기 및 수정에 대해 부울 함수 isNewBar() 를 통해 "새 막대의 탄생" 조건을 설정합니다.

다음과 같이 다소:

 if (Buys== true )
   {
   int count_buy_stops= 0 ;   int count_pos_buy= 0 ;
   CalOrders_Buy(count_buy_stops);   CalPosition_Buy(count_pos_buy);
   if (count_buy_stops== 0 && count_pos_buy== 0 ) && isNewBar() )
   {
   BuyStop();
   }
   }

isNewBar() 는 예제 및 코드베이스 기사에서 자체적으로 기능합니다.

 bool isNewBar()
  {
//--- в статической переменной будем помнить время открытия последнего бара
   static datetime last_time= 0 ;
//--- текущее время
   datetime lastbar_time=( datetime ) SeriesInfoInteger ( Symbol (), Period (), SERIES_LASTBAR_DATE );
   if (last_time== 0 ) //--- если это первый вызов функции
   {
   last_time=lastbar_time;     //--- установим время и выйдем 
   return ( false );
   }
   if (last_time!=lastbar_time) //--- если время отличается
   {
   last_time=lastbar_time;     //--- запомним время и вернем true
   return ( true );
   }
//--- дошли до этого места - значит бар не новый, вернем false
   return ( false );
  }

새로운 바에서만 주문을 하고 수정을 하는 등 효과가 있는 것 같긴 한데, 어째서인지 불일치가 있었다.

isNewBar() 없이 사용 하고 isNewBar() 함수 를 사용하여 "all ticks"를 사용한 M1의 OHLC 사이.

"모든 틱"에 isNewBar() 를 적용 하면 다음과 같은 결과를 얻을 것으로 예상했습니다.   OHLC 현재 가격 .

따라서 코드 조건을 망쳤거나 OHLC 모드가 구현되는 방식을 올바르게 이해하지 못했으며 불가능할 것으로 예상합니다.

그리고 내가 그것을 알아낼 때까지 파헤칠 곳.

Artyom, 어렵지 않다면 더 말해 주세요.

새 막대에서 주문하고 수정할 수 있다는 사실은 이해할 수 있지만 테스터에 있는 SL과 TP는 여전히 이전 막대에서 작동합니까?

 
나는 고통을 겪었고 고정 로트에서 퍼센트로 로트로 옮기려고 시도했지만 아무 일도 일어나지 않았습니다. 누군가 나에게 전체 코드를 줄 수 있습니까?
파일:
Experiment.mq5  38 kb
사유: