MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 581

 
Ihor Herasko :

마지막으로 닫힌 H1 촛대와 함께 닫힌 M30 촛대를 가져와야한다면 1뿐만 아니라 2의 지수를 가진 촛대가 될 수 있습니다. 또 다른 것은 종가 가 왜 그런지 명확하지 않다는 것입니다. 이전 양초 H1 종가와 동일한 경우 M30의 값을 취합니다. 즉, 이 경우 다른 시간대의 종가가 현재 시간대의 종가와 일치하기 때문에 다른 시간대의 종가를 폴링하는 것은 의미가 없습니다.

H1 내부에서 M30의 폐쇄를 알아내면 됩니다.

이유가 있었다, 술집의 개방을 통제했다. 고맙습니다.

 

높은[i+1] +/-10*포인트 가격과 지표의 낮은 프랙탈 을 사이클에서 어떻게 비교합니까?

같음이 있으면 화살표를 넣으십시오. Buf_o[i+1]= High[i+1] ;.

 

안녕하세요!

MetaTrader 4 테스터를 사용하여 테스트를 연습하기 위해 간단한 바이너리 전략 코드를 작성하고 싶습니다.완전히 내장된 테스터는 바이너리 전략을 테스트하지 않는다는 것을 알고 있지만 테스트 기간 동안 수익성 있는 거래의 점유율만 알면 됩니다. 거래 만료 기간을 설정할 수 없습니다. OrderSend 연산자를 사용합니다.

OrderSend(Symbol(),OP_BUY,1,Ask,10,0,0,"5",15167,만료,clrGreen);

자동 거래를 할 때 모든 것이 잘 작동하지만 브로커의 조건에 따라 만료 기간이 위치에 대한 의견에 설정됩니다. 이 경우에는 "5"라는 주석이 있습니다. 5분입니다. 그러나 테스터는 물론 주석을 만료 기간의 표시로 인식하지 않습니다. 테스터는 Expiration 매개변수의 다양한 값에 전혀 반응하지 않습니다. 먼저 전략 신호를 기반으로 거래를 시작하고 테스트 기간이 끝날 때 테스트 기간 동안 열린 모든 트레이스를 한 번에 닫습니다. 결과적으로 테스트 결과 는 완전히 잘못된 것입니다.

테스터에게 명확한 만료 기간을 설정하는 방법은 무엇입니까? 코드의 "이전" 버전을 마스터하는 동안.

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
kirson-7 :

테스터에게 명확한 만료 기간을 설정하는 방법은 무엇입니까?

현재 시간 = 포지션 개시 시간 에 5분을 더한 경우 또는 차트 기간이 M5인 경우 새로운 막대가 열릴 때 포지션을 청산합니다.
 

프랙탈 가격을 High[i+1] +/-10*Point와 정확히 같지 않게 하는 방법은 무엇입니까?

 {
//---
   if (rates_total< 2 ) return ( 0 );

   int limit=rates_total-prev_calculated;
   if (limit> 1 )
     {
      limit=rates_total- 2 ;
       ArrayInitialize (BufferUP, EMPTY_VALUE );
       ArrayInitialize (BufferDN, EMPTY_VALUE );
     }
   for ( int i=limit; i>= 0 ; i--)
     {
       // BufferUP[i+1]=EMPTY_VALUE;
      
       //
       for ( int y=i+ 2 ;y<=i+ 100 ;y++)
        {
         if (low[i+ 1 ]== iFractals ( Symbol (), 0 , MODE_HIGH ,y))estb= true ;
        }
       if (estb)
        {
         BufferUP[i+ 1 ]=low[i+ 1 ]-distance* Point ; //НЕПРАВИЛЬНО СТАВИТ СТРЕЛКУ
        }
      estb= 0 ;
       //==//
       for ( int y=i+ 2 ;y<=i+ 100 ;y++)
        {
         if (high[i+ 1 ]== iFractals ( Symbol (), 0 , MODE_LOWER ,y))ests= true ;
        }
       if (ests)
        {
         BufferDN[i+ 1 ]=high[i+ 1 ]+distance* Point ; //ПРАВИЛЬНО СТАВИТ СТРЕЛКУ
        }
      ests= 0 ;

       //Comment("");
     }
   return (rates_total);
  }
 
bij :

프랙탈 가격을 High[i+1] +/-10*Point와 정확히 같지 않게 하는 방법은 무엇입니까?

값의 차이는 10 *Point 보다 크지만 양수 또는 음수 차이를 고려해야 합니다.
 
bij :
현재 시간 = 포지션 개시 시간 에 5분을 더한 경우 또는 차트 기간이 М5인 경우 새 막대가 열릴 때 포지션을 닫습니다.
그리고 OrderSend 연산자의 매개변수 목록에 있는 만료 기간의 표준 표시가 작동하지 않는 이유는 무엇입니까? 내 예에서는 만료로 지정됩니다.
 
kirson-7 :
그리고 OrderSend 연산자의 매개변수 목록에 있는 만료 기간의 표준 표시가 작동하지 않는 이유는 무엇입니까? 내 예에서는 만료로 지정됩니다.
이것은 보류 중인 주문 을 위한 것입니다
 
함수 작성을 도와주세요: 더 큰 로트에서 더 작은 로트로 주문을 마감합니다(문자열 Symbol , int type, bool 핸드 오더, int Magic)
즉, 수작업을 고려하는지 여부, 매직넘버와 같은 기호의 선택이다.


 
모두에게 인사드립니다. 그런 질문: 사용자 정의 기능(예: 시장에서 구매)에서 포지션 개설을 등록하고 다른 구매 신호로 이 기능에 액세스할 수 있습니까 ??? 즉, _Signal by MACD-이 기능에 적용-포지션이 열렸습니다. _이동에 의한 시그널 - 이 기능에 적용 - 그리고 재구매....등. 또는 각각의 특정 경우에 신호를 처리할 때 OrderSend(Symbol, OP_BY 등)를 작성해야 합니다.