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

 
Alexander Avksentyev # :

그리드가 이만큼 길면 눈이 오른쪽 그리드를 닫습니다.
후자가 마감되면 이미 10개의 주문을 마감해야 하는 일이 발생할 수 있으며 이제 모든 것이 차례로 닫히고 무기한 끌립니다.

논스톱으로 닫습니다.

우리는 하나를 닫고 OrderClose 함수가 반환 한 것을 확인했습니다. true이면 계속하고 false이면 오류를 처리합니다. 치명적인 오류 - 종료, 중요하지 않음 (미끄러짐) - 계속합니다.

거래가 부엌이 아니라면 15-20 조각입니다. 2-3초, 그렇지 않으면 최대 15초의 영역에서 빠르게 닫힙니다. 편집, 2분까지 걸리는 경우가 있었습니다.

MT5이면 거의 즉시 닫힙니다.

 
Vitaly Muzichenko # :

논스톱으로 닫습니다.

하나를 닫고 OrderClose 함수가 반환한 내용을 확인했습니다. true이면 계속하고 false이면 오류를 처리합니다 .

거래가 부엌이 아니라면 15-20 조각입니다. 2-3초, 그렇지 않으면 최대 15초의 영역에서 빠르게 닫힙니다. 편집, 2분까지 걸리는 경우가 있었습니다.

MT5이면 거의 즉시 닫힙니다.

오류가 발생하더라도 특정 간격 후에 이 주문을 종료하도록 요청을 보내야 합니다. 영원히 매달려 있으면 이미 나쁜 로봇이 될 것이기 때문입니다. 이러한 오더(포지션) 덕분에 장기간 보유하면 보증금을 빼내는 것도 가능하다.

 
Mihail Matkovskij # :

오류가 발생하더라도 특정 간격 후에 이 주문을 종료하도록 요청을 보내야 합니다. 그렇지 않고 영원히 매달려 있다면 이미 나쁜 로봇이 될 것입니다. 이러한 오더(포지션) 덕분에 장기간 보유하면 보증금을 빼내는 것도 가능하다.

제대로 처리해야 합니다. 중요하다면 서버를 망치는 것은 의미가 없습니다.

 
Vitaly Muzichenko # :

제대로 처리해야 합니다. 중요하다면 서버를 망치는 것은 의미가 없습니다.

물론 말이 안 됩니다. 그러나 특정 간격이 지난 후에도 이 주문(포지션)을 마감하려고 시도할 가치가 있습니다. 왜냐하면. 첫째, 공개 거래는 무기한 중단될 수 없습니다. 둘째, 포지션 자체가 영원히 닫혀 있을 수 없습니다. 조만간 서버는 주문 마감 요청을 수락할 것입니다( out of position ). 그리고 당신이 아무것도하지 않으면 위에서 말한 일이 일어날 것입니다. 예금은 강한 하락 또는 병합에 들어갈 수 있습니다.

 
Mihail Matkovskij # :

물론 말이 안 됩니다. 그러나 특정 간격이 지난 후에도 이 주문(포지션)을 마감하려고 시도할 가치가 있습니다. 왜냐하면. 첫째, 공개 거래는 무기한 중단될 수 없습니다. 둘째, 포지션 자체가 영원히 닫혀 있을 수 없습니다. 조만간 서버는 주문 마감 요청을 수락할 것입니다( out of position ). 그리고 당신이 아무것도하지 않으면 위에서 말한 일이 일어날 것입니다. 예금은 강한 하락 또는 병합에 들어갈 수 있습니다.

여기서 최근 미끄러져 DC는 서버에서 자동 거래의 가능성을 비활성화했습니다. 1분 전이었다가 꺼졌다.

어쨌든 닫으려고 합니까?

 
Vitaly Muzichenko # :

여기서 최근 미끄러져 DC는 서버에서 자동 거래의 가능성을 비활성화했습니다. 1분 전이었다가 꺼졌다.

어쨌든 닫으려고 합니까?

클로징 포지션의 치명적인 오류가 발생한 경우 메시지를 보내는 것이 맞습니다. 수동으로 항상(거의) 닫을 수 있습니다.

 
Vitaly Muzichenko # :

여기서 최근 미끄러져 DC는 서버에서 자동 거래의 가능성을 비활성화했습니다. 1분 전이었다가 꺼졌다.

어쨌든 닫으려고 합니까?

그럼 당신은 전화 할 수 있습니다

 AccountInfoInteger ( ACCOUNT_TRADE_EXPERT )

만큼 잘

 AccountInfoInteger ( ACCOUNT_TRADE_ALLOWED )

그리고

 TerminalInfoInteger ( TERMINAL_TRADE_ALLOWED )

만약을 위해. 그리고 기능 중 하나 또는 모든 기능의 해당 결과에 대해 아무 것도 하지 마십시오. 글쎄, 실패한 폐쇄의 결과로 발생하는 오류를 적절하게 처리하십시오.

어쨌든 로봇은 기능 중 하나가 금지할 때까지 거래하지 않을 것이라는 보장이 있습니다.

Документация по MQL5: Программы MQL5 / Разрешение на торговлю
Документация по MQL5: Программы MQL5 / Разрешение на торговлю
  • www.mql5.com
Разрешение на торговлю - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Mihail Matkovskij # :

글쎄, 실패한 폐쇄의 결과로 발생하는 오류를 적절하게 처리하십시오.

나는 당신이 OrderSend를 호출하고 서버가 거래를 금지했다면 OrderSend가 false를 반환하거나 요청이 먼저 서버로 이동한 다음 응답을 반환할지 모릅니다. 후자의 경우 OrderSend는 true를 반환합니다. 그런 다음 OrderSend 함수에 대한 호출을 차단하는 함수( )를 추가해야 합니다. 그리고 첫 번째 경우 OrderSend가 false를 반환했기 때문에 요청은 대기열로 이동하지도 않습니다. 논리적인가요?

 
Mihail Matkovskij # :

나는 당신이 OrderSend를 호출하고 서버가 거래를 금지했다면 OrderSend가 false를 반환하거나 요청이 먼저 서버로 이동한 다음 응답을 반환할지 모릅니다. 후자의 경우 OrderSend는 true를 반환합니다. 그런 다음 OrderSend 함수에 대한 호출을 차단하는 함수( )를 추가해야 합니다. 그리고 첫 번째 경우 OrderSend가 false를 반환했기 때문에 요청은 대기열로 이동하지도 않습니다. 논리적인가요?

OrderSend는 성공 시 티켓을 반환합니다. :)

아마 초보자를 위한 지점에 갈 것입니다.

 
Vitaly Muzichenko # :

OrderSend는 성공 시 티켓을 반환합니다. :)

나는 아마 초보자를 위해 지점에 갈 것입니다

MQL4의 OrderSend는 티켓을 반환합니다. 그리고 MQL5에서는 bool입니다. 저는 MQL5 소설을 보는 데 익숙합니다. 그리고 MQL4 에 대해서는 약간 잊어버렸습니다(오랫동안 MQL5에서 MQL4로 애플리케이션을 포팅하는 데 익숙했기 때문입니다). MQL5에서 일반적으로 bool OrderSend는 포지션을 열고 닫고 주문을 생성/삭제합니다. MQL5에는 주문, 거래 및 위치에 대한 기능이 있습니다. 그리고 MQL4에서 int OrderSend 는 진입, bool OrderClose는 종료입니다. 보류 중인 주문에 대한 bool OrderDelete도 있습니다. 그리고 MQL4 에서는 시장과 보류로 구분된 주문만 가능합니다. 이 두 언어가 어떻게 다른지 기억하게 했습니다. :)

따라서 모든 것을 아는 것은 불가능합니다. 그리고 헷갈리기 쉽습니다.