사용자 정의 기호. 오류, 버그, 질문, 제안. - 페이지 15

 
Roman :
글쎄, 여기서 명확하지 않은 것은 버그 #20이 있는 메시지에서 식별자 설정을 표시하고 비준수 이유를 표시했습니다.
SYMBOL_TRADE_EXEMODE
SYMBOL_TRADE_CALC_MODE
이들은 완전히 다른 모드이며 문제에 적용되지 않습니다.

그것은 아마도 더 명확할 것입니다.

그리고 여전히 ENUM SYMBOL_ FILLING_XXX 의 다른 식별자를 사용해야 하는 경우
그러면
SYMBOL_ FILLING_RETURN에 대한 식별자가 없습니다!

맞습니다 - 아닙니다. 이것은 식별자가 아니라 플래그입니다. SYMBOL_FILLING_RETURN이 항상 있기 때문입니다. 그리고 다른 두 플래그는 둘 다일 수도 있고 하나씩일 수도 있습니다.

주문을 보낼 때 거래 주문에 선언 된 볼륨을 채우는 정책을 지정할 수 있습니다. 각 기호에 대한 볼륨별 유효한 주문 실행 옵션이 표에 나와 있습니다. 각 도구에 대해 하나의 모드를 설정할 수 없으며 플래그 조합을 통해 여러 모드를 설정할 수 있습니다. 플래그 조합은 SYMBOL_FILLING_FOK|SYMBOL_FILLING_IOC 와 같은 논리적 OR (|) 연산으로 표현 됩니다. 특정 모드가 도구에 활성화되어 있는지 확인하려면 논리 AND (&)의 결과를 모드 플래그와 비교해야 합니다.

채우기 정책

식별자

의미

설명

모두/아무것도

SYMBOL_FILLING_FOK

하나

실행 정책 은 지정된 볼륨에서만 주문을 실행할 수 있음을 의미합니다. 현재 시장에 금융 상품의 양이 충분하지 않으면 주문이 실행되지 않습니다. 필요한 볼륨은 현재 시장에서 사용할 수 있는 여러 제안으로 구성될 수 있습니다.

전체/일부

SYMBOL_FILLING_IOC

2

이 경우 거래자는 주문에 지정된 한도 내에서 시장에서 사용할 수 있는 최대 거래량으로 거래하는 데 동의합니다. 전체 실행이 불가능한 경우, 가용 수량만큼 주문이 실행되며, 채워지지 않은 주문 수량은 취소됩니다. IOC 주문 사용 가능성은 거래 서버에서 결정됩니다.

반품

아이디 없음

 

이 모드는 시장(구매 및 판매), 지정가 및 지정가 지정가 주문에 사용되며 "시장 실행" 및 "거래소 실행" 모드에서만 사용됩니다. 부분실행의 경우 잔여 물량이 있는 시장가 또는 지정가 주문은 취소되지 않고 계속 운영됩니다.



  • SYMBOL_FILLING_FOK 플래그는 있지만 SYMBOL_FILLING_IOC 플래그가 없는 경우 SYMBOL_FILLING_MODE는 1을 반환합니다. "반환" 옵션이 있습니다.
  • SYMBOL_FILLING_ IOC 플래그가 있지만 SYMBOL_FILLING_ FOK 플래그 가 없으면 SYMBOL_FILLING_MODE는 2를 반환합니다. "Return"도 있습니다.
  • SYMBOL_FILLING_FOK 플래그 가 있고 플래그가 있는 경우 SYMBOL_FILLING_IOC 이면 SYMBOL_FILLING_MODE는 3을 반환합니다. 이 경우 "반환"입니다.
따라서 결론: "반환"은 항상 존재하고 다른 두 모드는 플래그의 존재에 의해 결정됩니다.
 
Artyom Trishkin :

맞습니다 - 아닙니다. 이것은 식별자가 아니라 플래그입니다. SYMBOL_FILLING_RETURN이 항상 있기 때문입니다. 그리고 다른 두 플래그는 둘 다일 수도 있고 하나씩일 수도 있습니다.

그러나 오도하는 것은 노골적인 행동이 아닙니다.
그리고 문서는 SYMBOL_FILLING_RETURN 이 항상 존재한다는 표시에 대해 말하지 않습니다.
명시적으로 설정하지 않는 이유는 무엇입니까? SYMBOL_FILLING_RETURN

교환 채우기에 대한 플래그를 올바르게 설정하는 방법의 예를 보여주세요.

 CustomSymbolSetInteger (SName, SYMBOL_FILLING_MODE , SYMBOL_FILLING_RETURN);

그리고 나서 이 명시적이지 않은 플래그에서 혼란스러워졌습니다.

 
Roman :

그러나 오도하는 것은 노골적인 행동이 아닙니다.
그리고 문서에는 SYMBOL_FILLING_RETURN이 항상 있다는 표시에 대해 언급되어 있지 않습니다.
명시적으로 설정하지 않는 이유는 무엇입니까? SYMBOL_FILLING_RETURN

교환 채우기에 대한 플래그를 올바르게 설정하는 방법의 예를 보여주세요.

그리고 나서 이 명시적이지 않은 플래그에서 혼란스러워졌습니다.

0 - 다른 플래그가 필요하지 않은 경우.

 
Roman :

그러나 오도하는 것은 노골적인 행동이 아닙니다.
그리고 문서에는 SYMBOL_FILLING_RETURN이 항상 있다는 표시에 대해 언급되어 있지 않습니다.

명시적으로 설정하지 않는 이유는 무엇입니까? SYMBOL_FILLING_RETURN

교환 채우기에 대한 플래그를 올바르게 설정하는 방법의 예를 보여주세요.

그리고 나서 이 명시적이지 않은 플래그에서 혼란스러워졌습니다.

다음은 문서에서 가져온 것입니다.

" "시장" 및 "교환" 실행 모드에서 "반품" 채우기 정책은 모든 유형의 주문 에 대해 항상 허용 됩니다 . 다른 유형의 권한은 SYMBOL_FILLING_FOK 및 SYMBOL_FILLING_IOC 속성을 사용하여 확인합니다. "

 
Artyom Trishkin :

0 - 다른 플래그가 필요하지 않은 경우.

0을 설정하면 없음을 설정합니다.
없음은 교환 채우기가 아닙니다.
내가 이렇게 노력하면

 CustomSymbolSetInteger (SName, SYMBOL_FILLING_MODE , SYMBOL_FILLING_FOK & SYMBOL_FILLING_IOC );

그러면 SYMBOL_FILLING_FOK & SYMBOL_FILLING_IOC 도 위에서 말한 것처럼 3이 아니라 None을 반환합니다.

올바르게 교환 채우기를 설정하는 방법은 모두 동일합니까?

 CustomSymbolSetInteger (SName, SYMBOL_FILLING_MODE , SYMBOL_FILLING_RETURN);
 

그리고 이렇게

 CustomSymbolSetInteger (SName, SYMBOL_FILLING_MODE , 3 );

허용된 모든 항목과 일치하는 모두로 설정합니다.

그리고 "값" 열의 문서에는 아무것도 없습니다. 비어 있습니다!
그리고 "반환" 행의 "식별자" 열에서 나는 여전히 플래그에 대한 올바른 조합을 지정할 것을 제안합니다!
모든 사람이 명확하고 이해할 수 있도록 SYMBOL_FILLING_RETURN 값을 3으로 추가하면 됩니다.

 
Roman :

어떤 실용적인 목적을 위해 사용자 정의에 플래그를 채우는가?

 
Roman :

0을 설정하면 없음을 설정합니다.
없음은 교환 채우기가 아닙니다.
내가 이렇게 노력하면

그러면 SYMBOL_FILLING_FOK & SYMBOL_FILLING_IOC 도 위에서 말한 것처럼 3이 아니라 None을 반환합니다.

올바르게 교환 채우기를 설정하는 방법은 모두 동일합니까?

 CustomSymbolSetInteger (SName, SYMBOL_FILLING_MODE , SYMBOL_FILLING_FOK | SYMBOL_FILLING_IOC );
 
Artyom Trishkin :

와우, 이 조합은 모두를 설정합니다. 덕분에.
그러나 이 조합이 분명해 보이지 않는다는 점을 인정해야 합니다.
우리는 속성을 설정할 때 논리적 "Not"을 사용하지 않습니다.

SYMBOL_FILLING_FOK 가 아니면   SYMBOL_FILLING_IOC
숨겨진
SYMBOL_FILLING_RETURN 이 사용됩니다 - "항상 존재"

조합에서 FOK 또는 IOC 를 설정할지 여부를 명시적으로 말합니다.
재고 채우기에 FOC 또는 IOC 가 없으므로 오해의 소지가 있습니다.

따라서 이 조합은 문서의 "식별자" 열에 추가되어야 하고 그 값은 3 인 것이 논리적입니다.
또는
명확성을 위해 SYMBOL_FILLING_RETURN 을 추가하는 것이 더 낫습니다.

그런 다음 버그 #20 은 버그에서 제외됩니다.
그러나 우리는 명시성의 속성을 위반했다는 것을 의미합니다.

 
fxsaber :

어떤 실용적인 목적을 위해 사용자 정의에 플래그를 채우는가?

도구 사양을 올바르게 표시합니다.
또한 이러한 모드가 터미널 깊숙한 곳에서 관련될 수도 있습니다.
테스터나 다른 곳에서 모든 것을 명시적으로 채우는 데 익숙합니다.