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

 
Alexey Kozitsyn :

마우스 이동 이벤트는 확실히 발생하지 않습니다. 나머지는 같아요.

고문은 어떻습니까?
 
Artyom Trishkin :
고문은 어떻습니까?

같은 물건...

 
Alexey Viktorov :

전에 답변...

그러나 손전등의 양은 없는 것이 좋으며 한 장으로 버틸 수 있도록 거의 최대입니다.

예제 코드는 작성하지 않겠습니다. 일반 프로그래머는 힌트만 있으면 됩니다. 다음은 예제 알고리즘입니다.

  1. 채널이 교차하는 거리에서 대략적인 막대 수를 결정합니다. 15로 둡니다.
  2. 두 표시기 버퍼를 모두 복사합니다.
  3. CopyRates()를 사용하여 막대 값 복사
  4. 루프에서 낮은 막대와 채널의 아래쪽 경계를 비교하는 것과 동시에 채널의 위쪽 경계와 높은 막대의 값을 비교하기 시작합니다. 교차점 중 하나가 발견되면 막대 인덱스를 변수에 저장하고 두 번째 교차점을 계속 찾습니다. 교차 막대 인덱스의 두 변수가 모두 값을 가질 때 루프를 종료합니다.

따라서 필요한 경우 하나의 사본과 하나의 사이클에서 두 개의 교차점을 찾을 수 있습니다. ArraySetAsSeries()도 필요하지 않습니다. 교차점을 찾을 때 가능하고 제 생각에는 막대 번호가 아니라 시간을 기억하는 것이 좋습니다. 막대의 시간을 알더라도 그 숫자를 결정하는 데 어려움이 없습니다.

질문에주의하십시오 : 표시기 버퍼를 1 값으로 복사하고 상위 막대를 1로 복사하고 이러한 값을 비교하는 루프, 또는 특정 양을 한 번 복사하고 두 배열의 값을 비교하는 루프 서로?

내가 이해하는 바에 따르면 코드 시작 부분에서 막대에 대한 일정량의 데이터를 복사한 다음 이 데이터로 작업하는 개념에서 벗어나지 말 것을 제안합니다. 아니면 예외를 제안하는 것입니까?

그리고 내가 프로그래머라는 아이디어는 어디서 얻었나요?

추측할 필요는 없다고 생각합니다. 무엇이 더 빠를지, 때로는 답이 명확하지 않을 수 있습니다. 경험만이 그러한 질문에 답할 수 있습니다.

 
Vladimir Karputov :

어제 다음과 같이 썼습니다.

일:

각 틱 에서 열기, 높음, 낮음, 닫기 및 시간 요소의 "InpCountCopy"를 가져옵니다.

구현:

  1. "0"에서 "InpCountCopy-1"로 루프 - 루프에서 한 번에 하나의 열기, 높음, 낮음, 닫기 및 시간을 얻습니다.
  2. 한 번에 요소를 MqlRates "InpCountCopy" 구조로 가져온 다음 구조를 반복합니다.

기회:

OnTick 또는 OnTimer(1초)에서 확인 방법을 선택할 수 있습니다.

감사합니다. 코드를 이해하도록 노력하겠습니다.
 

이 코드가 아직 기록에 없는 티켓을 찾는 이유를 알려주세요.

   HistorySelect ( 0 , TimeCurrent ()); 
   for ( int i= HistoryOrdersTotal ()- 1 ; i>= 0 ; i--) {
   string OrdTick= IntegerToString ( HistoryOrderGetTicket (i));
   if (OrdTick== "63425010" ) Print (OrdTick);
  }
 2017.07 . 24 23 : 58 : 33.514 RE (EURGBP.m,H1)       63425010


 
Vitaly Muzichenko :

이 코드가 아직 기록에 없는 티켓을 찾는 이유를 알려주세요.


마감된 거래(OUT)를 검색해 보셨습니까? 영장이 있었습니다 - 당신은 그것을 볼 수 있습니다.

 
Vitaly Muzichenko :

이 코드가 아직 기록에 없는 티켓을 찾는 이유를 알려주세요.


모든 것이 정확합니다.

당신은 주문을 찾고 있으며 포지션 = 63425010을 여는 주문은 이미 일을 완료했으며 기록에 있습니다.

그리고 내 주문 티켓과 포지션 티켓은 동일해서 당신을 잘못된 길로 이끌었습니다.

Positions를 구문 분석하려면 PositionSelect() 를 사용한 다음 해당 속성을 구문 분석합니다.

 

뭐가 필요하세요:

주문이 전송되고 응답으로 포지션 티켓이 수신된 다음 "포지션 티켓"이라는 이름의 개체가 차트에 그려집니다(교체는 지정되지 않음). 여러 포지션을 각각 열면 차트에 티켓 이름을 가진 여러 개체가 있고 그 중 하나를 닫으면 모든 개체가 삭제되고 닫힌 티켓이 있는 개체만 차트에서 삭제하면 됩니다. 역사. 삭제 기능은 OnTrade에서 작동합니다.

 
Vitaly Muzichenko :

뭐가 필요하세요:

주문이 전송되고 응답으로 포지션 티켓이 수신된 다음 "포지션 티켓"이라는 이름의 개체가 차트에 그려집니다(교체는 지정되지 않음). 여러 포지션을 각각 열면 차트에 티켓 이름을 가진 여러 개체가 있고 그 중 하나를 닫으면 모든 개체가 삭제되고 닫힌 티켓이 있는 개체만 차트에서 삭제하면 됩니다. 역사. 삭제 기능은 OnTrade에서 작동합니다.


그렇다면 주문 티켓이나 포지션 티켓 중 무엇이 필요합니까?

 
prostotrader :

그렇다면 주문 티켓이나 포지션 티켓 중 무엇이 필요합니까?

이미 기록에 있는 티켓이 있는 개체를 삭제해야 하지만 아직 시장에 있는 개체는 건드리지 마십시오.

중복 :

   HistorySelect ( 0 , TimeCurrent ()); 
   for ( int i= HistoryOrdersTotal ()- 1 ; i>= 0 ; i--) {
   string OrdTick= IntegerToString ( HistoryOrderGetTicket (i));
   if (OrdTick== "63425010" ) Print (OrdTick);
  }
 2017.07 . 24 23 : 58 : 33.514 RE (EURGBP.m,H1)       63425010


사유: