초보자의 질문 MQL4 MT4 MetaTrader 4 - 페이지 16

 

좋은.

하나의 특정 거래에 대한 마진을 계산하려면 예금 통화 에 대해 고정된 기준 환율의 가치를 사용해야 한다고 제가 올바르게 믿는지 여부를 지금 명확히 하는 것이 가장 중요할 것입니다. 거래가 열렸습니다. 맞아요? 그리고 이 거래의 마진은 주문이 마감될 때까지 일정하게 유지됩니까? 사실인가요?

 
Babu Bonappan :

.....

하나의 특정 거래에 대한 마진을 계산하려면 예금 통화 에 대해 고정된 기준 환율의 가치를 사용해야 한다고 제가 올바르게 믿는지 여부를 지금 명확히 하는 것이 가장 중요할 것입니다. 거래가 열렸습니다. 맞아요? 그리고 이 거래의 마진은 주문이 마감될 때까지 일정하게 유지됩니까? 사실인가요?

그래, 너가 맞아.

따라서 마진 계산을 위한 가격은 주문을 열 때 중요합니다.

 
Renat, 도와주셔서 정말 감사합니다!
 
Babu Bonappan :
Renat, 도와주셔서 정말 감사합니다!
물론이죠
 
Renat Akhtyamov :

어떤 식 으로든 코드없이 코드에 대한 질문

수정 또는 반복 주문에 대한 질문입니까?

그래서 나는 당신에게 무엇이 필요한지 모릅니다. 하지만 코드의 오류는 100%입니다.

아무것도 모르지만 자신있게 결론을 내립니다.

OrderSelect 에 대해 묻고 있습니다.

 
Babu Bonappan :

MQL4를 사용하여 터미널에서 각 오픈 포지션에 대한 마진을 얻는 방법을 알려주십시오.

나는 보통 이렇게 했다:

margin = MarketInfo ( Symbol (), MODE_LOTSIZE ) * OrderOpenPrice () / AccountLeverage () * OrderLots ();

EUR/USD를 거래할 때 이 구성은 완벽하게 작동했으며 논리가 정확하다고 확신했습니다.

하지만 이제 EUR/JPY(또는 EUR/CHF)에 대해 동일한 결과를 얻고 싶습니다. 분명히 OrderOpenPrice () 대신에 표준 랏의 크기에 기본 통화와 예금 통화 의 환율을 곱해야 합니다(제 경우에는 EUR/USD). 근데 이게 무슨 코스야? 포지션을 열었을 때 있었던 것입니까, 아니면 지금 있는 것 (이 포지션의 마진 금액을 알고 싶은 순간)?

OrderOpenPrice - 선택한 주문의 시작 가격 - 사용하는 통화와 상관없이 가격을 제공합니다. 대부분의 경우 포인트와 숫자를 확인해야 합니다. 또는 반올림. 반올림은 어디에 있습니까?

NormalizeDouble을 소수점 5자리로 정규화하지만 JPY는 소수점 3자리가 필요합니다. 그리고 번들 자체는 이론적으로 모든 통화에서도 작동해야 합니다.

 
Babu Bonappan :
그러나 주문을 열 때 주석 필드에 EUR/USD 환율을 기록하고 거기에서 읽는다면 어떨까요?
OrderSymbol () "USDJPY" 대신 쓰는 것이 더 쉽습니다.
 
A1exPit :
OrderSymbol () "USDJPY" 대신 쓰는 것이 더 쉽습니다.

왜 USD/JPY입니까? 결국 우리는 각각 EUR/JPY로 거래하고 1랏은 100,000유로, 예금통화 는 달러입니다. 제 생각에는 이 경우 거래를 열 때 EUR/USD 환율이 필요합니다.

또한 코드에 기호를 강제로 지정하면 코드가 NZD/CAD와 같은 다른 교차 거래에 적합하지 않은 것으로 판명됩니다. 그리고 나는 유니버설 버전을 얻고 싶습니다. 지금까지는 개설 시 계산된 각 주문에 대한 마진 금액을 어떻게든 저장해야 한다는 생각이 들었습니다. 이를 위해 주문 티켓과 마진이 저장되는 배열을 만드는 것이 좋습니다. 그러나 아마도 더 사소한 해결책이 있을 것입니다 ...

 
A1exPit :

OrderOpenPrice - 선택한 주문의 시작 가격 - 사용하는 통화와 상관없이 가격을 제공합니다. 대부분의 경우 포인트와 숫자를 확인해야 합니다. 또는 반올림. 반올림은 어디에 있습니까?

NormalizeDouble을 소수점 5자리로 정규화하지만 JPY는 소수점 3자리가 필요합니다. 그리고 번들 자체는 이론적으로 모든 통화에서도 작동해야 합니다.

왜 문자 수를 거짓말합니까? 사람들을 오도하지 마십시오.

 
A1exPit :

OrderOpenPrice - 선택한 주문의 시작 가격 - 사용하는 통화와 상관없이 가격을 제공합니다.

내가 이해하는 OrderOpenPrice는 내가 필요한 것을 정확히 제공합니다. 그러나 예금 통화 가 달러이고 거래 쌍이 EUR/USD인 경우에만 가능합니다. 이 경우 OrderOpenPrice에서는 주문 개시 시점의 예금 통화에 대한 기준 통화의 환율이 유지되어 어느 것을 알면 쉽게 마진을 계산할 수 있습니다.

그러나 이러한 조건 중 하나 이상이 충족되지 않으면 단일 주문에 대한 마진 금액을 얻는 방법은 무엇입니까? 개통 당시의 예치통화 대비 호가의 기준통화 환율은 어디서 알 수 있나요?

예, 우리는 초 단위까지 정확한 주문 개시 시간을 가지고 있습니다. 그러나 우리는 무엇을 얻을 수 있습니까? 최대 - 원하는 악기의 분 촛불 매개 변수. 그러나 마진이 계산된 비율의 정확한 값은 아닙니다. 그러나 AccountMargin 함수는 어떻게 든 그것을 얻습니다! 정확히 어떻게 이해하고 싶습니다.