mql5 언어의 특징, 미묘함 및 작업 방법 - 페이지 8

 

도움말에는 다음과 같이 나와 있습니다.

ENUM_SYMBOL_CALC_MODE

식별자

설명

공식

SYMBOL_CALC_MODE_FOREX

Forex 모드 - Forex의 이익 및 마진 계산

마진: 랏*계약_크기/레버리지

이익: (close_price-open_price)*Contract_Size*Lots

SYMBOL_CALC_MODE_FUTURES

선물 모드 - 선물에 대한 마진 및 이익 계산

마진: 랏 *초기 마진*백분율/100

이익: (close_price-open_price)*TickPrice/TickSize*Lots

SYMBOL_CALC_MODE_CFD

CFD 모드 - CFD에 대한 마진 및 이익 계산

마진: 랏 *ContractSize*MarketPrice*Percentage/100

이익: (close_price-open_price)*Contract_Size*Lots

SYMBOL_CALC_MODE_CFDINDEX

CFD 지수 모드 – 지수 CFD에 대한 마진 및 이익 계산

마진: (Lots*ContractSize*MarketPrice)*TickPrice/TickSize

이익: (close_price-open_price)*Contract_Size*Lots

SYMBOL_CALC_MODE_CFDLEVERAGE

CFD 레버리지 모드 – 레버리지로 거래할 때 CFD에 대한 마진 및 이익 계산

마진: (Lots*ContractSize*MarketPrice*Percentage)/레버리지

이익: (close_price-open_price)*Contract_Size*Lots

SYMBOL_CALC_MODE_EXCH_STOCKS

교환 모드 - 증권 거래소에서 증권 거래에 대한 담보 및 이익 계산

마진: lot*ContractSize*OpenPrice

이익: (close_price-open_price)*Contract_Size*Lots

SYMBOL_CALC_MODE_EXCH_FUTURES

선물 모드 - 거래소에서 거래 선물 계약에 대한 마진 및 이익 계산

마진: 랏*초기 마진 또는 랏*MaintenanceMargin

이익: (close_price-open_price)*Lots*TickPrice/TickSize

SYMBOL_CALC_MODE_EXCH_FUTURES_FORTS

FORTS 선물 모드 - FORTS에서 거래 선물 계약을 위한 마진 및 이익 계산. 다음 규칙에 따라 MarginDiscount 편차만큼 마진을 줄일 수 있습니다.

1. 롱 포지션(구매 주문)의 가격이 결제 가격보다 낮으면 MarginDiscount = lot*((PriceSettle-PriceOrder)*TickPrice/TickSize)

2. 숏 포지션(매도 주문)의 가격이 결제 가격보다 크면 MarginDiscount = lot*((PriceOrder-PriceSettle)*TickPrice/TickSize)

어디:

    • PriceSettle – 이전 세션의 정산(청산) 가격.
    • PriceOrder – 주문(주문)에 지정된 가중 평균 포지션 가격 또는 개시 가격.
    • TickPrice - 틱 가격(가격을 1포인트 변경하는 비용);
    • TickSize - 틱 크기(최소 가격 변경 단계)

마진: 랏*초기 마진 또는 랏*MaintenanceMargin

이익: (close_price-open_price)*Lots*TickPrice/TickSize

SYMBOL_CALC_MODE_SERV_COLLATERAL

담보 모드 - 상품은 거래 계정에서 거래 불가능한 자산으로 사용됩니다. 오픈 포지션의 시장 가치는 거래량, 현재 시장 가격, 계약 규모 및 유동성 비율을 기반으로 계산됩니다. 비용은 자산에서 고려되며, 이는 자체 자금(자본)으로 합산됩니다. 따라서 이러한 상품에 대한 오픈 포지션은 자유 증거금(자유 증거금)을 증가시키고 거래되는 상품에 대한 공개 포지션에 대한 추가 담보 역할을 합니다.

여백: 아니

이익: 아니오

시장 가치: lot*ContractSize*MarketPrice*LiqudityRate

 
fxsaber :

도움말에는 다음과 같이 나와 있습니다.

모든 존경심을 가지고 나는 다시 독서를 할 생각입니다.

추신

얻을 수 있지만 AUDCAD로 계산하면 AUD 통화로 보증금을 받게 되며 계정은 달러로 표시됩니다. AUDUSD 가격을 대체하면 필요한 마진을 얻을 수 있지만 접두사와 접미사가 있는 계정이 있기 때문에 이것은 보편적이고 파울이 아닙니다. 여기에서 전체 이야기가 시작됩니다. 또한 단순히 시장 검토에서 열린 쌍이 아닐 수 있으며 계산은 "구리 분지"로 처리됩니다.

돈으로 작동하는 프로그램(개발자 진술)은 이 돈을 셀 수 없습니다. 오래되고 나쁘고 느린 MT4는 돈으로 작동할 수 있지만 새롭고 트렌디한 MT5는 그렇지 않습니다. 어때요?

 
fxsaber

링크의 공식은 다음과 같습니다.

예를 들어 CADJPY의 담보를 고려하면 CAD의 담보를 얻습니다.

SymbolInfoDouble (" CADJPY ", SYMBOL_TRADE_CONTRACT_SIZE ) / AccountInfoInteger ( ACCOUNT_LEVERAGE )* 0.7625 // СADUSD

여기서 0.7625는 CADUSD 의 가격이지만 계산에 사용할 터미널에는 그러한 쌍조차 없습니다.

" copypaste " 방법을 사용하여 "MODE_MARGINREQUIRED" 계산 기능을 MT5로 전송하여 개발자의 삶을 더 쉽게 만드는 것이 정말 어렵습니까?

 
Artyom Trishkin :
프로그램 유형과 독립적인 계산을 원합니다.
개발자는 마진 계산(및 일부 기타 정보 기능)이거래 기능 이며 지표에서 금지되어야 한다고 생각합니다. 나는 이 주제에 대해 진지한 스레드를 시작했습니다. 중재자는 항상 그렇듯이 익명으로 즉시 잘라냈습니다. 이제 나는 그것에 대해 신경 쓰지 않고 KB에 여백없이 거세 지표를 게시했습니다.
 
비탈리 무지첸코 :

모든 존경심을 가지고 나는 다시 독서를 할 생각입니다.

내가 부주의했다는 것을 인정합니다. 나에게 마진 계산은 항상 불필요했습니다. 특히 지표에서. 지표에서 어디에서 필요할 수 있습니까?

해결책은 매우 간단하다고 생각합니다. 나는 자유로울 것이다 - 내가 그것을 알아낼 것이다.

 
비탈리 무지첸코 :

얻을 수 있지만 AUDCAD로 계산하면 AUD 통화로 보증금을 받게 되며 계정은 달러로 표시됩니다. AUDUSD 가격을 대체하면 필요한 마진을 얻을 수 있지만 접두사와 접미사가 있는 계정이 있기 때문에 이것은 보편적이고 파울이 아닙니다. 여기에서 전체 이야기가 시작됩니다. 또한 단순히 시장 검토에서 열린 쌍이 아닐 수 있으며 계산은 "구리 분지"로 처리됩니다.

그리고 AUDUSD가 시장 감시 대상이 아닌 경우 4개의 수익은 무엇입니까?

지표에 여백을 표시하는 특정 작업을 위해 접두사와 접미사를 고려하는 목발을 만들 수도 있습니다(또는 보조 Expert Advisor 사용). 그리고 무역의 경우 모든 것이 있는 것 같습니다.

 
안드레이 카팀리안스키 :

그리고 AUDUSD가 시장 개요에 없으면 4개의 수익은 무엇 입니까?

지표에 여백을 표시하는 특정 작업을 위해 접두사와 접미사를 고려하는 목발을 만들 수도 있습니다(또는 보조 Expert Advisor 사용). 그리고 무역의 경우 모든 것이 있는 것 같습니다.

4는 " MODE_MARGINREQUIRED "를 반환합니다)

알렉세이 볼찬스키 :
개발자는 마진 계산(및 일부 기타 정보 기능)이 거래 기능 이며 지표에서 금지되어야 한다고 생각합니다. 나는 이 주제에 대해 진지한 스레드를 시작했습니다. 중재자는 항상 그렇듯이 익명으로 즉시 잘라냈습니다. 이제 나는 그것에 대해 신경 쓰지 않고 KB에 여백없이 거세 지표를 게시했습니다.

진정한 거래? ))) 예, 하지만 어닐링은 금지되지 않습니다. 그녀가 무엇을 거래하고, 열거나 닫거나, 주문을 수정하는지 궁금합니다.

fxsaber :

내가 부주의했다는 것을 인정합니다. 나에게 마진 계산은 항상 불필요했습니다. 특히 지표에서. 지표에서 어디에서 필요할 수 있습니까?

해결책은 매우 간단하다고 생각합니다. 나는 자유로울 것이다 - 내가 그것을 알아낼 것이다.

MA 및 스토캐스틱 외에도 정보 지표도 있습니다. 모든 사람이 봇을 거래하는 것은 아닙니다. 예를 들어 거래를 하기 전에 정보 표시기에서 마진을 확인하고(MM 관찰), 로트를 계산하고 TS 조건에 맞는지 확인하거나 여전히 거래를 입력하지 않고 다른 신호를 기다립니다. 그리고 이것은 단지 하나의 사용 사례일 뿐입니다.

 
fxsaber :

해결책은 매우 간단하다고 생각합니다. 나는 자유로울 것이다 - 내가 그것을 알아낼 것이다.

결정은 곧바로 내려졌다.
// Размер свободных средств, необходимых для открытия 1 лота на покупку
double GetMarginRequired( const string Symb )
{
   MqlTick Tick;

   return ( SymbolInfoTick (Symb, Tick) ? Tick.ask * SymbolInfoDouble (Symb, SYMBOL_TRADE_TICK_VALUE ) /
        ( SymbolInfoDouble (Symb, SYMBOL_TRADE_TICK_SIZE ) * AccountInfoInteger ( ACCOUNT_LEVERAGE )) : 0 );
}
이것은 FOREX에 대한 계산입니다. 나머지는 유추입니다.
 
fxsaber :
결정은 곧바로 내려졌다.
// Размер свободных средств, необходимых для открытия 1 лота на покупку
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 );
}
이것은 FOREX에 대한 계산입니다. 나머지는 유추입니다.
감사합니다. 엔 쌍에 버그가 있었습니다.
 
비탈리 무지첸코 :
감사합니다. 엔 쌍에 버그가 있었습니다.
네, 제가 좀 망쳤습니다. 이제 모든 것이 정확합니다.
사유: