OrderModify() 질문 - 페이지 2

 
WhooDoo22 :

아하! 나는 티켓 번호를 0에서 1로 바꿨고 모든 것이 시계처럼 작동했습니다. 네, 제가 틀렸습니다. William... OrderSelect() 함수가 문제였습니다. 분명히 OrderSelect() 함수는 티켓을 선택해야 합니다. 티켓 번호가 0인 경우 EA는 어떤 티켓을 선택할까요? :오 "?". 도움을 주신 두 분께 감사드립니다.

고맙습니다.

티켓 번호는 절대 0이 아닙니다. . . 유효한 티켓 번호가 아닙니다.


이 스레드를 참조하십시오: https://www.mql5.com/en/forum/142545
 

Simon, 나는 0이 유효한 티켓 번호가 아니라는 것을 이해합니다. 왜냐하면 0은 선택할 티켓이 없음을 의미하기 때문입니다. 1은 티켓과 OrderSelect() 함수 가 선택하려고 하는 특정 티켓 번호를 나타냅니다.

실을 읽어보겠습니다. 올려주셔서 감사합니다.

고맙습니다.

 
WhooDoo22 :

0은 유효한 티켓 번호가 아니라는 것을 이해합니다. 0은 선택할 티켓이 없음을 의미하기 때문입니다. 1은 티켓과 OrderSelect() 함수가 현재 선택하고 있는 특정 티켓 번호를 나타냅니다.

아니오, 그것은 옳지 않습니다. 티켓 번호로 0은 아무 의미가 없으며 INVALID입니다. OrdersTotal() == 0은 주문이 없음을 의미합니다. . . 다른 기능과 티켓 번호 대 주문 위치의 결과를 혼동하고 있는 것이 분명합니다.


이전에 하던 대로 하지 마십시오. . . . 정확히 같은 결과를 원하지 않는 한. 정확한 티켓 번호를 가지고 있다고 가정할 수 없습니다 ... . . 주문 풀에서 찾은 다음 선택해야 합니다. . .

배우고 싶다면 이 연습을 하십시오:

  • 모든 브로커와 함께 새 데모 계정 을 엽니다.
  • TP 또는 SL 없이 0.1랏에 대한 시장가 주문
  • 이 주문에 대한 올바른 티켓 번호를 찾는 코드를 작성한 다음 티켓 번호를 사용하여 주문을 선택한 다음 TP & SL을 갖도록 수정하고 마지막으로 닫습니다.

 
RaptorUK :

아니오, 그것은 정확하지 않습니다. 티켓 번호로 0은 아무 의미가 없으며 INVALID입니다. OrdersTotal() == 0은 주문이 없음을 의미합니다. . . 다른 기능과 티켓 번호의 결과를 혼동하고 있는 것이 분명합니다.

배우고 싶다면 이 연습을 하십시오:

  • 모든 브로커와 함께 새 데모 계정 개설
  • TP 또는 SL 없이 0.1랏에 대한 시장가 주문
  • 이 주문에 대한 올바른 티켓 번호를 찾는 코드를 작성한 다음 티켓 번호를 사용하여 주문을 선택한 다음 TP & SL을 갖도록 수정하고 마지막으로 닫습니다.


운동 해보셨나요? 당신이 그것을 했을 때 당신의 코드를 보여주십시오. . .
 

사이먼,

나는 이 프로젝트 를 코딩할 것이다. 조각 케이크 여야 합니다. 이미 많은 작업을 수행했습니다. ;)

네, 꾸준히 지원해주셔서 이 운동을 해도 상관없습니다.

고맙습니다.

 

사이먼,

완료. 스크립트 형식의 파일을 원한다고 가정했으므로 차트에 끌어다 놓고 EA가 몇 가지 숫자를 처리할 때까지 기다렸다가 시장에서 주문을 끌어내는 것을 지켜보세요.

내가 현재 만들고 있는 것과 이 프로젝트의 차이점은...

현재 건설 중:

 if(OrderSelect (ticket,SELECT_BY_TICKET,MODE_TRADES)){

이 프로젝트:

 if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES)){

"if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)){"를 사용한 이유는 미리 정의된 특정 티켓 변수가 아닌 주문 풀을 다루고 있기 때문입니다.

볼륨 II에 대한 나의 현재 빌드는 볼륨 II의 전략을 실행하기 위해 특정 티켓을 선택해야 하기 때문에 미리 정의된 변수를 사용합니다. 이 프로젝트는 눈 깜짝할 사이에 단순히 주문을 마감하도록 설계되었습니다.

Ask/Bid price가 포함된 함수 실행을 코딩하면서 실제로 몇 가지 물음표가 머리 위로 떠올랐습니다. 이것은 일반적으로 주문을 보내거나 닫을 때 일반적으로 "매도"/"입찰"을 입력하기 때문입니다. 매도 또는 매수 주문 이었습니다. 그런 다음 일반적인 "주문 총액이 0보다 큰 경우"를 입력했습니다. n' 모든 설정이 완료되었습니다. 그것은 거의 그것을 덮을 것입니다.

고맙습니다.

파일:
 

좋아, 그것은 내가 의도한 것이 아니지만 내 요구 사항에 대해 더 명확했어야 했습니다. . . 귀하의 코드는 SL 및 TP를 설정하지 않습니다. . . 하지만 어쨌든 내 요구 사항을 수정하겠습니다. . .

동일한 데모 계정 사용 . . .

  • GBPUSD에 TP 또는 SL이 없는 0.1랏, USDJPY에 1개, EURUSD에 1개 시장가 주문을 하십시오. . . 이 주문을 한 주문을 잊어 버리십시오
  • 거래가 이루어진 주문을 고려하지 않고 주문 건수에 대한 사전 지식이 없다고 가정하고 USDJPY에 이루어진 주문에 대한 올바른 티켓 번호를 찾는 코드를 작성하십시오.
  • "티켓 번호 for USDJPY = " 형식으로 로그에 티켓 번호를 인쇄하십시오.
  • 그런 다음 티켓 번호를 사용하여 주문을 선택한 다음 TP & SL이 있도록 수정하고 마지막으로 닫습니다.

그런 다음 완료되면 코드와 티켓 번호 가 표시된 로그의 줄을 보여주십시오.

 

사이먼,

아, 죄송합니다. 귀하의 첫 번째 지침을 완전히 읽지 않았으며 귀하가 요청한 내용을 코딩하지 않았습니다. 오, 당신은 새로운 요구 사항 목록을 추가 했으므로 바쁠 것입니다.

그 전에 내가 하려는 일을 말하겠다...

1. USDJPY로 주문한 티켓 번호를 찾습니다.

2. "티켓 번호 for USDJPY = " 형식으로 로그에 티켓 번호를 인쇄하십시오.

3. 티켓 번호를 사용하여 주문을 선택하고 TP & SL이 있도록 주문을 수정하고 닫습니다.

4. 티켓 번호를 보여주는 로그의 코드와 줄을 보여줍니다.


즉, 우리가 같은 페이지에 있다는 것을 분명히 하고 싶습니다.

예, 할 수 있습니다. (분명히 "통화 기능"을 사용하여 티켓을 분리할 수 없겠죠?)

예, 2를 할 수 있습니다.

3. OrderSelect() 함수 를 사용하여 주문을 선택하고 수정하여 TP & SL을 갖고 닫으라는 뜻이 아닙니까?

4. 당연히 코드를 보여드리겠습니다 ;)... 티켓 번호를 보여주는 로그의 한 줄(당신이 요청할 수 있었던 것은 티켓 번호를 보여주는 로그의 "시각적 스냅샷"이었습니다. 상관 없음)

작업을 시작하기 전에 먼저 응답을 게시하십시오.


고맙습니다.

 
WhooDoo22 :


즉, 우리가 같은 페이지에 있다는 것을 분명히 하고 싶습니다.

예, 할 수 있습니다. (분명히 "통화 기능"을 사용하여 티켓을 분리할 수 없겠죠?)

예, 2를 할 수 있습니다.

3. OrderSelect() 함수 를 사용하여 주문을 선택하고 수정하여 TP와 SL을 갖고 닫으라는 뜻이 아닙니까?

4. 당연히 코드를 보여드리겠습니다 ;)... 티켓 번호를 보여주는 로그의 한 줄(당신이 요청할 수 있었던 것은 티켓 번호를 보여주는 로그의 "시각적 스냅샷"이었습니다. 상관 없음)

코드가 요구 사항을 충족하는 한 원하는 기능을 사용할 수 있습니다. . . 그리고 그렇게 할 때 조건으로 주어진 것을 위반 하지 않습니다. :-)
 
어떻게되고 있습니까 ? 설명이나 힌트가 필요하십니까?
사유: