특정 브로커의 라이브 계정에 대한 다중 주문 입력 문제 - 페이지 4

 
FinanceEngineer :

여보세요

이상하게 들린다는 것을 알고 있습니다. 이전 코드에서 OrderSend(request,result) 의 반환 값을 확인했을 때 여러 주문 문제가 발생 했습니다. 이제 새 코드에서 OrderSend(request,result)의 반환 값을 확인하지 않습니다(그러나 터미널의 새 빌드에서 오류를 피하기 위해 반환 값을 일부 변수에 할당했습니다.


안녕하세요 FinanceEngineer 님, 제가 말씀드린 바로는 실제 문제를 숨기고 있는 것입니다. 제 생각에는 중단 상황이 아니라 이전 코드(10008 반환 코드)에서 이것을 인쇄하고 있기 때문입니다(###).

 if (! OrderSend (request,result) || result.deal== 0 )
      {
         Print ( "OrderSend Code: " ,result.retcode); // You are printing this (###) -> 10008
         ...
 
figurelli :

안녕 알랭

우리는 FinanceEngineer 의 새 코드에 대해 이야기하고 있고 원래 코드에서 변경된 OrderSend()의 반환 코드 테스트에 대한 조언에 대해 이야기하고 있기 때문에 알아야 할 사항이 명확하지 않습니다.

그의 원래 코드와 그의 새 코드에는 코드 10010 테스트가 없습니다. 따라서 그것이 당신과 관련이 있다면 그의 첫 번째 게시물 이후로 왜 묻지 않았습니까?

어쨌든 FOK 채우기 정책 에 대해 코드 10010 테스트가 필요한 이유를 설명할 수 있습니까?

귀하와 다른 중재자가 이야기하는 것을 보는 것은 이번이 처음이 아니기 때문에 FOK(Fill Or Kill) 주문에 대한 이 코드 테스트가 정말로 필요한 경우를 알고 있습니까? 공유할 수 있습니까?

미리 감사드립니다.

이 포럼에서 질문을 할 수도 있고 항상 대답해야 하는 것은 아닙니다. 단순히 그.

여기에서 10008 또는 10009에 대해 반환된 코드(MqlResult)를 테스트하는 많은 코드를 볼 수 있지만 누군가 이 코드의 진정한 의미가 무엇인지 설명할 수 있습니까? "주문 완료"와 "요청 완료"의 차이점은 무엇입니까? 오류 코드가 아닌 코드는 2개뿐인 것 같죠?

10010이 의심스럽 습니다. 문서는 다음과 같이 말했습니다 .

10008

TRADE_RETCODE_PLACED

주문 완료

10009

TRADE_RETCODE_DONE

요청 완료

10010

TRADE_RETCODE_DONE_PARTIAL

요청의 일부만 완료되었습니다.

그러나 "요청의 일부만 완료됨"은 무엇을 의미합니까? FOK 충진 정책에서 1 로트가 요청되는 경우(예를 들어) 0.5 로트를 열 수는 없지만 이것이 유일한 의미입니까?

이전에 약 10010개의 코드를 작성했습니다.

나는 이 코드가 미래를 보장하고 충분히 안전하다고 생각하지 않으며 이것은 반환 코드가 없다는 한 가지 예일 뿐이므로 다시 읽으십시오.

이 문장의 의미는 무엇입니까? "미래의 증거" ? "충분히 안전" ... ? "반환 코드 부족", 무엇이 부족합니까? (그리고 그렇게 중요하지는 않지만 "다시 읽기"는 무엇입니까?).

 
angevoyageur :

이 포럼에서 질문을 할 수도 있고 항상 대답해야 하는 것은 아닙니다. 단순히 그.

여기에서 10008 또는 10009에 대해 반환된 코드(MqlResult)를 테스트하는 많은 코드를 볼 수 있지만 누군가 이 코드의 진정한 의미가 무엇인지 설명할 수 있습니까? "주문 완료"와 "요청 완료"의 차이점은 무엇입니까? 오류 코드가 아닌 코드는 2개뿐인 것 같죠?

10010은 의심스럽 습니다. 문서는 다음과 같이 말했습니다 .

10008

TRADE_RETCODE_PLACED

주문 완료

10009

TRADE_RETCODE_DONE

요청 완료

10010

TRADE_RETCODE_DONE_PARTIAL

요청의 일부만 완료되었습니다.

그러나 "요청의 일부만 완료되었습니다"라는 것은 무엇을 의미합니까? FOK 충진 정책에서 1 로트가 요청되는 경우(예를 들어) 0.5 로트를 열 수는 없지만 이것이 유일한 의미입니까?

이전에 약 10010 코드를 작성했습니다.

이 문장의 의미는 무엇입니까? "미래의 증거" ? "충분히 안전" ... ? "반환 코드 부족", 무엇이 부족합니까? (그리고 그렇게 중요하지는 않지만 "다시 읽기"는 무엇입니까?).

대부분의 사람들처럼 나도 다른 사람들의 코드를 보고 MQL5 코딩을 배웠다. 나에게 충분히 이상하지만 지금까지 10010 코드를 검사하는 코드를 보지 못했습니다. 그러나 확인할 가치가 있습니다. 만일을 위해.

제가 본 바로는 10008코드만 확인해보니 이중입력 오더가 나오더군요. 그리고 함께 10009 코드를 확인하면 이중 입력 명령이 나타납니다. 10008과 10009를 모두 체크했는데 이중입장명령이 안 나오네요.

하지만 EA에서 10010 코드를 확인한다면 실용적인 관점에서 궁금합니다. 주문이 정말 부분적으로 완료되었다면 이러한 상황을 처리하는 효율적인 방법은 무엇입니까?

이 주문 전송 문제의 대부분은 루프 내부에 PositionGetDouble(POSITION_VOLUME)을 사용하여 볼륨을 확인하는 것으로 처리될 수 있다고 생각합니다. 그러나 이것이 10008 또는 10009 코드를 확인하는 것보다 효율적인지 실제로 확실하지 않습니다.

브로커의 서버가 사용 중이면 올바른 볼륨을 얻지 못할 확률은 10008 또는 10009 코드를 얻지 못할 확률과 같습니다.

감사합니다.

 
figurelli :

안녕 알랭

우리는 FinanceEngineer 의 새 코드에 대해 이야기하고 있고 원래 코드에서 변경된 OrderSend()의 반환 코드 테스트에 대한 조언에 대해 이야기하고 있기 때문에 알아야 할 사항이 명확하지 않습니다.

그의 원래 코드와 그의 새 코드에는 코드 10010 테스트가 없습니다. 따라서 귀하와 관련이 있다면 그의 첫 번째 게시물 이후로 왜 묻지 않았습니까?

어쨌든 FOK 채우기 정책 에 대해 코드 10010 테스트가 필요한 이유를 설명할 수 있습니까?

귀하와 다른 중재자가 이야기하는 것을 보는 것은 이번이 처음이 아니기 때문에 FOK(Fill Or Kill) 주문에 대한 이 코드 테스트가 정말로 필요한 경우를 알고 있습니까? 공유할 수 있습니까?

미리 감사드립니다.

글쎄, 우리가 MQL5.com 포럼에 글을 게시할 때 우리는 코딩 전문 고문을 하는 동안 여러 유형의 요구 사항이 있을 수 있는 사람들과 이야기하고 있다고 가정합니다... 따라서 이 경우 모든 것을 단순화하고 사용자에게 코딩을 요청할 수 있습니다. "간단한" 전문 고문, 그의 요구 사항이 당신이 상상하는 것만큼 "고급"되지 않으면. 그러나 내가 아는 한 FOK 충전 정책으로 작업할 수 없는 몇 가지 상황이 있습니다.

아주 간단한 예를 들겠습니다. 주식으로 작업하고 있고 선택한 거래량이 10,000개 주식이라고 가정합니다. 이제 이 동일한 전문 고문이 "반전" 작업을 한다고 가정하고 임의의 신호에서 소위 "반전"을 실행하기 위해 20,000주에 해당하는 양의 주문을 시장에 보내야 할 수도 있습니다. 이 경우 매우 유동적인 주식(예: 브라질 고중량 주식 PETR4 또는 VALE5)도 특정 시점에 20,000주에 해당하는 매수 또는 매도호가가 없을 수 있습니다. 그렇다면 이 경우 전문가 고문 내부에서 이를 어떻게 처리하시겠습니까? 이 경우 FOK 정책이 최선의 접근 방식이라고 확신하십니까? 아니면 전문가 고문 내부에서 이 10010 코드를 고려하시겠습니까?

말했듯이 항상 소규모 로트를 사용하는 경우 FOK 충전 정책이 최상의 솔루션이 될 수 있습니다. 그러나 때때로 사람들 더 "고급" 필요가 있습니다...

 
angevoyageur :

이 포럼에서 질문을 할 수도 있고 항상 대답해야 하는 것은 아닙니다. 단순히 그.

여기에서 10008 또는 10009에 대해 반환된 코드(MqlResult)를 테스트하는 많은 코드를 볼 수 있지만 누군가 이 코드의 진정한 의미가 무엇인지 설명할 수 있습니까? "주문 완료"와 "요청 완료"의 차이점은 무엇입니까? 오류 코드가 아닌 코드는 2개뿐인 것 같죠?

10010은 의심스럽 습니다. 문서는 다음과 같이 말했습니다 .

10008

TRADE_RETCODE_PLACED

주문 완료

10009

TRADE_RETCODE_DONE

요청 완료

10010

TRADE_RETCODE_DONE_PARTIAL

요청의 일부만 완료되었습니다.

그러나 "요청의 일부만 완료되었습니다"라는 것은 무엇을 의미합니까? FOK 충진 정책에서 1 로트가 요청되는 경우(예를 들어) 0.5 로트를 열 수는 없지만 이것이 유일한 의미입니까?

이전에 약 10010 코드를 작성했습니다.

이 문장의 의미는 무엇입니까? "미래의 증거" ? "충분히 안전" ... ? "반환 코드 부족", 무엇이 부족합니까? (그리고 그렇게 중요하지는 않지만 "다시 읽기"는 무엇입니까?).

Alain, 문제 없습니다. 좋은 OMS 프로토콜에서 필수 사항이기 때문에 아마도 케이스를 찾지 못할 것이므로 답변할 필요가 없습니다.

또한 첫 번째 게시물 이후에 질문하지 않은 이유를 말할 필요가 없습니다. 아마도 이것은 주제에서 벗어날 수 있기 때문입니다.

어쨌든, FOK는 OMS와의 통신을 해결하기 위해 MQ가 도입한 오래된 채우기 정책이므로 FIX와 같은 모든 우수한 OMS 프로토콜에서 찾을 수 있습니다(예: MT5가 존재하기 전인 2009년의 이 포럼 주제 ). .

따라서 제 생각에는 Fill 또는 Kill Order에 대해 10010 반환 코드에 대해 질문할 이유가 없습니다. 이 규칙은 필수이며 브로커와 OMS 제공업체가 이를 준수해야 하기 때문에 이것이 요점입니다.

FIX Trading Community: // Fill or Kill Order
FIX Trading Community: // Fill or Kill Order
  • General Q/A
  • www.fixtradingcommunity.org
Have doubt regarding FoK order type. In my view if order is not filled a reject message should be sent by an exchange instead of cancel. Can someone confirm this? No, rejections are to convey that the requested action was not carried out. A FoK order not being filled does not fall in this category, it is rather "works as designed". It is...
 
Malacarne :

글쎄, 우리가 MQL5.com 포럼에 글을 게시할 때 우리는 코딩 전문 고문을 하는 동안 여러 유형의 요구 사항이 있을 수 있는 사람들과 이야기하고 있다고 가정합니다... 따라서 이 경우 모든 것을 단순화하고 사용자에게 코딩을 요청할 수 있습니다. "간단한" 전문 고문, 그의 요구 사항이 당신이 상상하는 것만큼 "고급"되지 않으면. 그러나 내가 아는 한 FOK 충전 정책으로 작업할 수 없는 몇 가지 상황이 있습니다.

아주 간단한 예를 들겠습니다. 주식으로 작업하고 있고 선택한 거래량이 10,000개 주식이라고 가정합니다. 이제 이 동일한 전문 고문이 "반전" 작업을 한다고 가정하고 임의의 신호에서 소위 "반전"을 실행하기 위해 20,000주에 해당하는 양의 주문을 시장에 보내야 할 수도 있습니다. 이 경우 매우 유동적인 주식(예: 브라질 고중량 주식 PETR4 또는 VALE5)도 특정 시점에 20,000주에 해당하는 매수 또는 매도호가가 없을 수 있습니다. 그렇다면 이 경우 전문가 고문 내부에서 이를 어떻게 처리하시겠습니까? 이 경우 FOK 정책이 최선의 접근 방식이라고 확신하십니까? 아니면 전문가 고문 내부에서 이 10010 코드를 고려하시겠습니까?

말했듯이 항상 소규모 로트를 사용하는 경우 FOK 충전 정책이 최상의 솔루션이 될 수 있습니다. 그러나 때때로 사람들 더 "고급" 필요가 있습니다...

설명이 눈에 띕니다. 나는 우리 대부분이 각 거래당 미화 100만 달러 미만을 거래하는 것과 같은 생각을 했습니다. Forex와 같은 유동성이 높은 시장에서 주문이 부분적으로 이행되는 경우는 거의 없습니다. 그러나 절대로 절대로 말하지 마십시오. 우리는 확률론적인 세상에 살고 있습니다. 확실한 것은 없습니다. 일부 초조한 중개인이 1랏을 0.5랏으로 나눌 수 있습니다. 현실적으로 1랏을 채울 수 없는 브로커가 있다면 다른 브로커를 찾아 거래를 하는 편입니다.

문안 인사.

 
Malacarne :

글쎄, 우리가 MQL5.com 포럼에 글을 올릴 때 우리는 전문 고문을 코딩하는 동안 여러 유형의 요구 사항이 있을 수 있는 사람들과 이야기하고 있다고 가정합니다... 따라서 이 경우 모든 것을 단순화하고 사용자에게 코딩을 요청할 수 있습니다. "간단한" 전문 고문, 그의 요구 사항이 당신이 상상하는 것만큼 "고급"되지 않으면. 그러나 내가 아는 한 FOK 충전 정책으로 작업할 수 없는 몇 가지 상황이 있습니다.

아주 간단한 예를 들겠습니다. 주식으로 작업하고 있고 선택한 거래량이 10,000개 주식이라고 가정합니다. 이제 이 동일한 전문 고문이 "반전" 작업을 한다고 가정하고 임의의 신호에서 소위 "반전"을 실행하기 위해 20,000주에 해당하는 양의 주문을 시장에 보내야 할 수도 있습니다. 이 경우 매우 유동적인 주식(예: 브라질 고중량 주식 PETR4 또는 VALE5)도 특정 시점에 20,000주에 해당하는 매수 또는 매도호가가 없을 수 있습니다. 그렇다면 이 경우 전문가 고문 내부에서 이를 어떻게 처리하시겠습니까? 이 경우 FOK 정책이 최선의 접근 방식이라고 확신하십니까? 아니면 전문가 고문 내부에서 이 10010 코드를 고려하시겠습니까?

말했듯이 항상 소규모 로트를 사용하는 경우 FOK 충전 정책이 최상의 솔루션이 될 수 있습니다. 그러나 때때로 사람들 더 "고급" 필요가 있습니다...

안녕하세요 말라카르네님

죄송합니다. 중재자로서 우리는 현실(사용자가 실제로 게시하는 것)과 조건을 혼동할 수 없기 때문에 주제에서 벗어났습니다.

즉, 사용자가 무언가를 요청하고 코드를 게시하고 코드에 아래 줄이 (첫 번째 및 이전 줄로) 있으면 중재자로서 우리의 사고 방식은 그가 FOK를 사용하고 있다고 생각해야 합니다.

request.type_filling= ORDER_FILLING_FOK ;

그렇게 생각하지 않아? 그렇지 않다면 코드 오류 및 문제 분석을 찾는 개념을 수정해야 한다고 생각합니다.

실제로 FOK를 사용하지 않는 경우 BM&FBovespa 브라질 사례로 내 생각이 바뀌고 10010 반환 코드를 고려해야 하지만 이것은 절대 주제에서 벗어나고 포르투갈 포럼에 더 나은 토론이 될 수 있습니다.

어쨌든 공유해주셔서 감사합니다.

 
FinanceEngineer :

설명이 눈에 띕니다. 나는 우리 대부분이 각 거래당 미화 100만 달러 미만을 거래하는 것과 같은 생각을 했습니다. Forex와 같은 유동성이 높은 시장에서 주문이 부분적으로 이행되는 경우는 거의 없습니다. 그러나 절대로 절대로 말하지 마십시오. 우리는 확률론적인 세상에 살고 있습니다. 확실한 것은 없습니다. 일부 초조한 중개인이 1랏을 0.5랏으로 나눌 수 있습니다. 현실적으로 1랏을 채울 수 없는 브로커가 있다면 다른 브로커를 찾아 거래를 하는 편입니다.

문안 인사.

제 예에서는 USD 200,000 정도의 거래량에 대해 이야기하고 있었습니다... 그래서 제가 아는 한 우리 중 몇몇은 거래당 USD 200,000 이상을 거래합니다... :-)
 
FinanceEngineer :

대부분의 사람들과 마찬가지로 다른 사람들의 코드를 보고 MQL5 코딩을 배웠습니다. 나에게 충분히 이상하지만 지금까지 10010 코드를 검사하는 코드를 보지 못했습니다. 그러나 확인할 가치가 있습니다. 만약을 위해.


안녕하세요 FinanceEngineer 님, 아마도 이 경우가 ORDER_FILLING_FOK 충전 정책과 관련이 있기 때문에 귀하가 사용하고 있기 때문에 볼 수 없습니다. 제 생각에는 여기 내 다른 게시물에서 설명한 것처럼 필요하지 않습니다.
 
figurelli :

안녕하세요 말라카르네님

죄송하지만 중재자로서 우리는 현실(사용자가 실제로 게시하는 것)과 조건을 혼동할 수 없기 때문에 주제에서 벗어났습니다.

즉, 사용자가 무언가를 요청하고 코드를 게시하고 코드에 아래 줄이 (첫 번째 및 이전 줄로) 있으면 중재자로서 우리의 사고 방식은 그가 FOK를 사용하고 있다고 생각해야 합니다.

그렇게 생각하지 않아? 그렇지 않다면 코드 오류 및 문제 분석을 찾는 개념을 수정해야 한다고 생각합니다.

실제로 FOK를 사용하지 않는 경우 BM&FBovespa 브라질 사례로 내 생각이 바뀌고 10010 반환 코드를 고려해야 하지만 이것은 절대 주제에서 벗어나고 포르투갈 포럼에 더 나은 토론이 될 수 있습니다.

어쨌든 공유해주셔서 감사합니다.

당신의 의견에 감사드립니다... 사람들의 마음에 "혼란"을 가져오는 것은 제 의도가 아닙니다.

그러나 10010 코드를 확인 하지 않으면 전문가 고문 이 이 가능성을 우회하고 여러 명령을 보낼 수 있기 때문에 주제에서 벗어났다고 생각하지 않습니다(주제와 완전히 관련이 있다고 생각하지 않습니까?)...

이것이 우리가 이 동일한 주제에 대한 지난 두 개의 게시물 이후로 경고 하려는 "노력"입니다...