Forex에서는 모든 것이 잘 작동하지만 마지막 질문이 남아 있습니다. "왜 두 배나 낮고 어떻게 수정합니까?"
나는 SGDJPY에서 마진이 FIBOGroup-MT5 서버와 MetaQuotes-Demo 서버에서 여러 번 다르다는 사실을 발견했습니다. 이는 MT5 자체가 오차가 있는 마진을 계산 한다는 것을 의미합니다. 글쎄, 그렇다면 단순히 비교를위한 표준이 없습니다. 따라서 이것이 내 구현 또는 개발자의 실수인지 말하기는 확실히 불가능합니다. 여기 저기에 오류가 있는 것 같아요. 문제는 정확한 정보가 없다는 것입니다.
fxsaber : 나는 SGDJPY에서 마진이 FIBOGroup-MT5 서버와 MetaQuotes-Demo 서버에서 여러 번 다르다는 사실을 발견했습니다. 이는 MT5 자체가 오차가 있는 마진을 계산 한다는 것을 의미합니다. 글쎄, 그렇다면 단순히 비교를위한 표준이 없습니다. 따라서 이것이 내 구현 또는 개발자의 실수인지 말하기는 확실히 불가능합니다. 여기 저기에 오류가 있는 것 같아요. 문제는 정확한 정보가 없다는 것입니다.
MT5에서는 다른 방향에서 완전히 다른 마진 요구 사항이 있을 수 있음을 분명히 이해해야 합니다. 저것들. 단일 MT4 옵션은 롤링되지 않을 수 있습니다. Forex는 물론 이런 일이 발생하지 않습니다. 하지만 기억해야 합니다. 따라서 일반적으로 다음과 같이 작성해야 합니다.
결정은 곧바로 내려졌다.
double GetMarginRequired( const string Symb )
{
MqlTick Tick;
return ( SymbolInfoTick (Symb, Tick) ? Tick.ask * SymbolInfoDouble (Symb, SYMBOL_TRADE_TICK_VALUE ) * SymbolInfoDouble (Symb, SYMBOL_TRADE_CONTRACT_SIZE ) *
SymbolInfoDouble (Symb, SYMBOL_POINT ) / ( SymbolInfoDouble (Symb, SYMBOL_TRADE_TICK_SIZE ) * AccountInfoInteger ( ACCOUNT_LEVERAGE )) : 0 );
}
좋아, 예금 통화 로 마진을 가져와야하기 때문에 남아 있습니다. 예를 들어, 보증금 통화 USD가 있는 AUDCAD의 경우 담보는 USD로 표시되어야 합니다.
좋아, 예금 통화 로 마진을 가져와야하기 때문에 남아 있습니다. 예를 들어 USD 예금 통화가 있는 AUDCAD의 경우 담보는 USD로 표시되어야 합니다.
이것이 완료된 것입니다.
Forex에서는 모든 것이 잘 작동하지만 마지막 질문이 남아 있습니다. "왜 절반으로 줄어들고 어떻게 수정합니까?"
Forex에서는 모든 것이 잘 작동하지만 마지막 질문이 남아 있습니다. "왜 두 배나 낮고 어떻게 수정합니까?"
나는 SGDJPY에서 마진이 FIBOGroup-MT5 서버와 MetaQuotes-Demo 서버에서 여러 번 다르다는 사실을 발견했습니다. 이는 MT5 자체가 오차가 있는 마진을 계산 한다는 것을 의미합니다. 글쎄, 그렇다면 단순히 비교를위한 표준이 없습니다. 따라서 이것이 내 구현 또는 개발자의 실수인지 말하기는 확실히 불가능합니다. 여기 저기에 오류가 있는 것 같아요. 문제는 정확한 정보가 없다는 것입니다.
빨간색으로 강조 표시된 한 가지 예외를 제외하고 두 대의 서버가 올바르게 표시됩니다.
빨간색으로 강조 표시된 속성을 찾는 방법은 무엇입니까?
고맙습니다!
빨간색으로 강조 표시된 한 가지 예외를 제외하고 두 대의 서버가 올바르게 표시됩니다.
빨간색으로 강조 표시된 속성을 찾는 방법은 무엇입니까?
double GetMarginRequired( const string Symb )
{
MqlTick Tick;
double MarginInit, MarginMain;
return (( SymbolInfoTick (Symb, Tick) && SymbolInfoMarginRate (Symb, ORDER_TYPE_BUY , MarginInit, MarginMain)) ? MarginInit * Tick.ask *
SymbolInfoDouble (Symb, SYMBOL_TRADE_TICK_VALUE ) / ( SymbolInfoDouble (Symb, SYMBOL_TRADE_TICK_SIZE ) * AccountInfoInteger ( ACCOUNT_LEVERAGE )) : 0 );
}
MT5에서는 다른 방향에서 완전히 다른 마진 요구 사항이 있을 수 있음을 분명히 이해해야 합니다. 저것들. 단일 MT4 옵션은 롤링되지 않을 수 있습니다. Forex는 물론 이런 일이 발생하지 않습니다. 하지만 기억해야 합니다. 따라서 일반적으로 다음과 같이 작성해야 합니다.
bool MyOrderCalcMargin( const ENUM_ORDER_TYPE action, const string symbol, const double volume, const double price, double &margin )
{
double MarginInit, MarginMain;
const bool Res = SymbolInfoMarginRate (symbol, action, MarginInit, MarginMain);
margin = Res ? MarginInit * price * volume * SymbolInfoDouble (symbol, SYMBOL_TRADE_TICK_VALUE ) /
( SymbolInfoDouble (symbol, SYMBOL_TRADE_TICK_SIZE ) * AccountInfoInteger ( ACCOUNT_LEVERAGE )) : 0 ;
return (Res);
}
이것이 완료된 것입니다.
FIBOGroup-MT5 서버의 재미있는 MT5 SGDJPY
이 상황에서 MyOrderCalcMargin은 올바르게 계산하지만 표준 OrderCalcMargin은 계산하지 않습니다!
FIBOGroup-MT5 서버의 재미있는 MT5 SGDJPY
이 상황에서 MyOrderCalcMargin은 올바르게 계산하지만 표준 OrderCalcMargin은 계산하지 않습니다!