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

 
Askr :
견적 아카이브는 MT 5에서 어떻게 로드됩니까? 예를 들어, MT 4에서는 F2를 누른 다음 거기에서 업데이트를 수행하지만 여기에서는?

MetaTrader 5에서는 아무것도 다운로드할 필요가 없습니다. 연결한 거래 서버 - 해당 견적을 사용합니다. CopyRates를 통해 받기를 원하고 CopyTicks 를 통해 받기를 원합니다 .

 
Askr :
견적 아카이브는 MT 5에서 어떻게 로드됩니까? 예를 들어, MT 4에서는 F2를 누른 다음 거기에서 업데이트를 수행하지만 여기에서는?

직접 - 방법이 없습니다. 기록을 가져올 수 있는 사용자 지정 기호를 만들지 않는 한. 히스토리 작업에만 사용자 정의 기호를 사용할 수 있습니다. 거래할 수 없습니다.

 
Ihor Herasko :

그리고 그 당시 고문이 활동하지 않았다면? 결국 계정의 이력에서 데이터를 얻고 싶습니다. 그러나 불행히도 이것은 명확한 방법으로 수행될 수 없습니다. 예약이 많은 경우에만.

일반적으로 개발자가 MT5에서 OrderCloseTime()을 만들지 않은 이유가 이상합니다. 분명히 좋은 이유가 있었다

 
lil_lil :

일반적으로 개발자가 MT5에서 OrderCloseTime()을 만들지 않은 이유가 이상합니다. 분명히 좋은 이유가 있었다

MT5와 Mql5의 용어 순서가 다른 의미를 갖기 때문입니다. 포지션의 마감 시간을 알아내려면 이 포지션과 관련된 주문과 거래를 선택해야 합니다. 그중에서 DEAL_ENTRY_OUT 수정자가 있는 거래를 찾고 이 거래의 시간은 포지션의 마감과 같습니다.

 

좋은 오후입니다. 다음 조건에 대한 디자인을 만들 수 없습니다. 표시기가 시작되고 양초에 적절한 가격 매개변수가 나타나고 그래픽 표시가 그려지지만 양초가 아직 닫히지 않은 경우를 가정해 보겠습니다. , 표시기는 이 위치에서 다른 양초 조합을 나타낼 수 있습니다. 문제는 이 촛불의 조건이 종료된 후 이전 결과를 삭제하도록 매초 모니터링 프로세스에서 코드를 작성하는 방법입니다.

여기에 그림의 올바른 예가 있지만 여기에서 테스터를 통과하면 촛불을 잘못 읽을 수 있습니다. 어떻게 고치는 지?

그리고 또 다른 질문 - 다음 디자인 컨셉을 기반으로 경고를 만드는 방법:

과제 - 주어진 시간: TF 1시간.

조건은 표시기의 검색 부분, 예를 들어 현재 캔들의 55분 후 및 60분 전에만 시작한 다음 주기를 다시 시작하는 것입니다.

이 디자인을 구현하는 방법?

 
clickaider :

좋은 오후입니다. 다음 조건에 대한 디자인을 만들 수 없습니다. 표시기가 시작되고 양초에 적절한 가격 매개변수가 나타나고 그래픽 표시가 그려지지만 양초가 아직 닫히지 않은 경우를 가정해 보겠습니다. , 표시기는 이 위치에서 다른 양초 조합을 나타낼 수 있습니다. 문제는 이 촛불의 조건이 종료된 후 이전 결과를 삭제하도록 매초 모니터링 프로세스에서 코드를 작성하는 방법입니다.

여기에 그림의 올바른 예가 있지만 여기에서 테스터를 통과하면 촛불을 잘못 읽을 수 있습니다. 어떻게 고치는 지?

1. 테스터가 올바르게 작동하고 작동하며 오류가 없습니다.

2. 테스트 프로세스에 대한 이해의 오류: 표시기가 처음 실행되거나 기록이 로드될 때(이것은 prev_calculated==0으로 표시됨을 기억하십시오) 한 주기의 모든 막대를 무시합니다. 따라서 이 주기에서는 array-timeseries 를 사용합니다.

 int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])

사이클의 각 i번째 멤버에 대해 Open, High, Low 및 Close 중 하나의 값만 있습니다.

그러나 모든 막대가 우회되면 테스터는 틱 모드에서 각 막대에 대해 작업을 시작합니다. 이것이 바로 High가 어떻게 증가하고 Low가 감소하는지 볼 수 있는 이유입니다.

 
Vladimir Karputov :

1. 테스터가 올바르게 작동하고 작동하며 오류가 없습니다.

2. 테스트 프로세스에 대한 이해의 오류: 표시기가 처음 실행되거나 기록이 로드될 때(이것은 prev_calculated==0으로 표시됨을 기억하십시오) 한 주기의 모든 막대를 무시합니다. 따라서 이 주기에서는 array-timeseries 를 사용합니다.

사이클의 각 i번째 멤버에 대해 Open, High, Low 및 Close 중 하나의 값만 있습니다.

그러나 모든 막대가 우회되면 테스터는 틱 모드에서 각 막대에 대해 작업을 시작합니다. 이것이 바로 High가 어떻게 증가하고 Low가 감소하는지 볼 수 있는 이유입니다.

네, 테스터가 실행될 때 가격 값을 작성하기 때문에 결과가 다르다는 데 동의하지만, 문제는 예를 들어 처음에 하나의 양초에 하나의 패턴이 형성되었을 때 건설에 조건을 입력하는 방법입니다. , 그러나 끝에 다른 것이 나타나지만 해당 조건이 지정되지 않았기 때문에 표시기를 사용할 수 없는 다른 레코드로 대체됩니다. 그것을 처방하는 방법?

if(Cmp(shadow_upper_1,shadow_lower_0) < 0 && body_size_0 < body_size_1 && shadow_lower_0 > = 0.7*shadow_upper_0 && 8*body_size_0 >= shadow_lower_0 && 7*body_size_0 < = shadow_upper_0 && close_0 > = Upper1_0 && close_0 < = body_Upper_Upper1_mediane75_0 && Upper1_1 > = Upper1_2)
         if(InpEnablePAT_DOJIUP_UPPER1) DrawPattern(index,PATTERN_TYPE_DOJIUP_UPPER1,high,low,time);

다음은 양초에 대한 표시를 생성하는 코드입니다. 하지만 다시 그릴 수 있게 만드는 방법은 무엇입니까?

 
clickaider :

네, 테스터가 실행될 때 가격 값을 작성하기 때문에 결과가 다르다는 데 동의하지만, 문제는 예를 들어 처음에 하나의 양초에 하나의 패턴이 형성되었을 때 건설에 조건을 입력하는 방법입니다. , 그러나 마지막에 다른 것이 나타나지만 해당 조건이 지정되지 않았기 때문에 표시기를 사용할 수 없는 다른 레코드로 대체됩니다. 그것을 처방하는 방법?

다음은 양초에 대한 표시를 생성하는 코드입니다. 하지만 다시 그릴 수 있게 만드는 방법은 무엇입니까?

인덱스에 막대 번호를 저장합니다. 그리기 전에 확인하십시오. 막대에 개체가 있으면 삭제합니다. 개체 삭제 .

 
clickaider :

네, 테스터가 실행될 때 가격 값을 작성하기 때문에 결과가 다르다는 데 동의하지만, 문제는 예를 들어 처음에 하나의 양초에 하나의 패턴이 형성되었을 때 건설에 조건을 입력하는 방법입니다. , 그러나 끝에 다른 것이 나타나지만 해당 조건이 지정되지 않았기 때문에 표시기를 사용할 수 없는 다른 레코드로 대체됩니다. 그것을 처방하는 방법?

다음은 양초에 대한 표시를 생성하는 코드입니다. 하지만 다시 그릴 수 있게 만드는 방법은 무엇입니까?

세 가지 상태를 제공하십시오.

  • 패턴 1 그리기
  • 그리기 패턴 2
  • 아무 것도 그리지 마십시오(예: DRAW_ARROW의 경우 표시기 시작 부분에 지정하지 않는 한 표시기 버퍼 에 " 0 "을 전달합니다.

 //--- установим пустое значение 
   PlotIndexSetDouble (индекс_построения_DRAW_ARROW, PLOT_EMPTY_VALUE , 0 );
 
Vladimir Karputov :

세 가지 상태를 제공하십시오.

  • 패턴 1 그리기
  • 그리기 패턴 2
  • 아무 것도 그리지 마십시오(예: DRAW_ARROW의 경우 표시기 시작 부분에 지정하지 않는 한 표시기 버퍼 에 " 0 "을 전달합니다.

소스를 던졌는데 정확히 어디에 등록해야하는지 알 수 있습니까?
파일:
PatternsBB.ex5  81 kb
사유: