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

 
Vladpedro :

네, 상관없습니다. 나는 주문과 위치를 지정할 때 내 위치, 내 주문에 대한 "설명"을 할당했기 때문에 차이점을 의심했습니다. 결과적으로 주문이 위치에 들어갈 때 주문 주석을 상속합니다.

그러다 댓글을 통해 입장을 확인하다 혼란이 왔는데... 댓글이 달라졌다. 글쎄, 나는 그것을 수정했다.

귀하의 코드에서 SELL_LIMIT가 작동한 조건에 대해 위치가 어떻게 마감되는지 전혀 찾거나 이해하지 못했습니다. 주식으로.

모든 포지션을 폐쇄할 가능성이 있는지 확인하고 플래그를 설정한 것으로 보입니다.

그러나 CloseAllPositions();

그런 것이 빠져 있습니다.

케이스에 대한 모든 직책을 닫아야 하는 경우 - SELL_LIMIT 작업

아마도 동일한 m_account.Equity()>= m_account.Balance()+ 15가 어떻게든 다르게 구현되었습니까?

아니면 정말 당신을 위해 작동하지 않습니까? 아마도 내가 이해에서 평균이 무엇인지 설명하지 않았기 때문일 것입니다.

나는 이미 위에서 당신 의 주의 를 끌었습니다 -- 보류 중인 주문 은 그것 과 아무 관련 이 없습니다 . 보류 중인 주문은 수익을 낼 수 없습니다. "절대"라는 단어에서. 이 문제가 해결될 때까지 계속 진행할 수 없습니다.


추가됨: 두 가지 경우에 대한 예제 솔루션을 보여주었습니다.

  1. 우리는 두 가지 포지션만 가지고 있습니다. 그것은 우리가 더 많은 이익을 가진 포지션을 찾고 있다는 것을 의미합니다. 그리고 우리는 그것을 닫습니다.
  2. 우리는 두 개 이상의 포지션을 가지고 있습니다 - 그들의 총 이익이 지정된 것보다 크면 우리는 모든 포지션을 닫습니다.
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
Vladimir Karputov :

나는 이미 위에서 당신 의 주의 를 끌었습니다 -- 보류 중인 주문 은 그것 과 아무 관련 이 없습니다 . 보류 중인 주문은 수익을 낼 수 없습니다. "절대"라는 단어에서. 이 문제가 해결될 때까지 계속 진행할 수 없습니다.

블라디미르. 물론 보류 중인 주문은 이익을 얻을 수 없습니다. 우리는 물론 이익에 대해 이야기하고 있습니다.

이러한 위치가 어떻게 열렸는지에만 차이가 있습니다. 우리는 그들을 위해 다른 폐쇄 방법이 필요합니다.

두 번째 위치가 ex에서 열린 경우. SELL_STOP 주문, 그 중 하나는 마감되어야 하며, 가장 높은 포지션 이익이 있는 주문입니다. 당신은 그것을 얻었고 작동합니다.

두 번째 위치가 ex에서 열린 경우. SELL_LIMIT 개의 주문이 있는 경우 둘 다 주식으로 마감되어야 합니다 .

추가되었습니다.

나는 두 가지 경우에 대한 예제 솔루션을 보여주었습니다.

  1. 우리는 두 가지 포지션만 가지고 있습니다. 그것은 우리가 더 많은 이익을 가진 포지션을 찾고 있다는 것을 의미합니다. 그리고 우리는 그것을 닫습니다.
  2. 우리는 두 개 이상의 포지션을 가지고 있습니다 - 그들의 총 이익이 지정된 것보다 크면 우리는 모든 포지션을 닫습니다

두 번째 조건에서는 모든 것이 괜찮은 것 같습니다. 그러나 어떤 이유로 두 번째 조건에서 두 번째 위치를 열고 즉시 0 -1.2에 가깝게 닫습니다.

내가 거기에 총 이익을 표시하고 있지 않은 것은 아닐까?

InpProfitTarget = 15; 여기에 있으면 작동하지 않습니다.


 
Vladpedro :

블라디미르. 물론 보류 중인 주문은 이익을 얻을 수 없습니다. 우리는 물론 이익에 대해 이야기하고 있습니다.

이러한 위치가 어떻게 열렸는가에 차이가 있을 뿐입니다. 우리는 그들을 위해 다른 폐쇄 방법이 필요합니다.

두 번째 위치가 ex에서 열린 경우. SELL_STOP 주문, 그 중 하나는 마감되어야 하며, 가장 높은 포지션 이익이 있는 주문입니다. 당신은 그것을 얻었고 작동합니다.

두 번째 위치가 ex에서 열린 경우. SELL_LIMIT 개의 주문이 있는 경우 둘 다 주식으로 마감되어야 합니다 .

죄송합니다:

두 가지 경우에 대한 예제 솔루션을 보여주었습니다.

  1. 우리는 두 가지 포지션만 가지고 있습니다. 그것은 우리가 더 많은 이익을 가진 포지션을 찾고 있다는 것을 의미합니다. 그리고 우리는 그것을 닫습니다.
  2. 우리는 두 개 이상의 포지션을 가지고 있습니다 - 그들의 총 이익이 지정된 것보다 크면 우리는 모든 포지션을 닫습니다.


그럼 직접 해보세요.

 
Vladimir Karputov :

죄송합니다:

두 가지 경우에 대한 예제 솔루션을 보여주었습니다.

  1. 우리는 두 가지 포지션만 가지고 있습니다. 그것은 우리가 더 많은 이익을 가진 포지션을 찾고 있다는 것을 의미합니다. 그리고 우리는 그것을 닫습니다.
  2. 우리는 두 개 이상의 포지션을 가지고 있습니다 - 그들의 총 이익이 지정된 것보다 크면 우리는 모든 포지션을 닫습니다.


그럼 직접 해보세요.

도움을 주셔서 감사합니다. 블라디미르, 나는 노력하고 있습니다.

2. 우리는 두 개 이상의 포지션을 가지고 있습니다 - 그들의 총 이익이 지정된 것보다 크면 우리는 모든 포지션을 닫습니다.

그러나 나는 이것이 필요하지 않고 두 개 이상의 위치가 필요했습니다. 두 번째 위치는 SELL_LIMIT 트리거를 통해 열렸습니다.

어쨌든 인내심과 노고에 감사드립니다. 물론 결정하겠습니다, 어떻게든 저만의 방식으로 고민하고 결정하겠습니다))))

 
안녕하세요 여러분, 주제를 생성하지 않도록 - 질문은 이것입니다 - 잘 정의된 테이크 및 스톱이 있는 보류 중지 주문은 스크립트에 의해 설정되고 실행되지 않으며 [유동성]이 주석에 작성됩니다 - 처리 방법 - 실행될 때까지 스크립트를 반복하거나, 더 많은 미끄러짐을 설정하거나, 반복되는 요청의 수를 규정하거나 무엇을 할 수 있습니까? 또는 발굴할 주제에 코를 찔러보세요.
 
neitrino22 :
안녕하세요 여러분, 주제를 생성하지 않도록 - 질문은 이것입니다 - 잘 정의된 테이크 및 스톱이 있는 보류 중지 주문은 스크립트에 의해 설정되고 실행되지 않으며 [유동성]이 주석에 작성됩니다 - 처리 방법 - 실행될 때까지 스크립트를 반복하거나, 더 많은 슬리피지를 설정하거나, 반복되는 요청의 수를 규정하거나 무엇을 합니까? 또는 발굴할 주제에 코를 찔러보세요.

항상 문서를 파헤쳐야 합니다.

ORDER_TIME_GTC

주문은 철회 될 때까지 대기열에 있습니다.

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
Alexey Viktorov :

항상 문서를 파헤쳐야 합니다.

ORDER_TIME_GTC

주문은 철회 될 때까지 대기열에 있습니다.

감사합니다 아마 이거일거에요

 

좋은 저녁이에요!

1개의 오픈 포지션 이 있습니다.

EA는 PositionClose() 메서드를 사용하여 위치를 닫습니다.

결과는 ResultRetcode= 10009로 출력됩니다. 코드 설명: 0.00에서 완료

아래 코드는 (PositionSelect(_Symbol)) 어떤 팬케이크가 성공적으로 통과되었는지 확인합니다.

저것들. PositionClose() 실행과 열린 위치가 사라지는 사이에 프로그램이 잘못된 방향으로 돌아가는 동안 시간이 걸립니다.

이 상황을 유능하게 해결하는 방법은 무엇입니까?


 

새 테스트를 실행하기 위해 테스트 후 매번 터미널을 다시 시작해야 하는 이유는 무엇입니까?

 2020.04 . 27 15 : 19 : 08.415 Tester  XAUUSD: history data begins from 2014.02 . 12 00 : 00
2020.04 . 27 15 : 19 : 08.415 Tester  XAUUSD: history data begins from 2014.02 . 12 00 : 00
2020.04 . 27 15 : 19 : 08.415 Core 01 connecting to 127.0 . 0.1 : 3000
2020.04 . 27 15 : 19 : 08.415 Core 01 connected
2020.04 . 27 15 : 19 : 08.425 Core 01 authorized (agent build 2361 )
2020.04 . 27 15 : 19 : 08.427 Tester  XAUUSD,M15 (Alpari-MT5-Demo): testing of Experts\ExpertTest.ex5 from 2017.07 . 26 00 : 00 to 2020.02 . 06 00 : 00
2020.04 . 27 15 : 19 : 08.466 Core 01 disconnected
2020.04 . 27 15 : 19 : 08.466 Core 01 connection closed

모든 개체를 삭제합니다. 파일을 닫습니다. 테스트가 중지되었을 때의 로그는 다음과 같습니다.

 2020.04 . 27 15 : 15 : 43.188 Core 01 disconnected
2020.04 . 27 15 : 15 : 43.188 Core 01 connection closed
2020.04 . 27 15 : 15 : 43.189 Tester  stopped by user

그리고 다음에 더 이상 시작되지 않으면 터미널 을 닫았다가 다시 열어야 합니다. 빌드 2361.

 
OnTradeTransaction 에서 닫힌 위치에 대한 의견을 얻는 방법은 무엇입니까?