프로그래밍 방식으로 "마진 백분율"을 얻는 방법 - 페이지 7 1234567891011 새 코멘트 Alexey Viktorov 2017.06.04 17:00 #61 K-2SO : 테스트에 따르면 마진 비율이 1과 같을 때 레버리지는 고려되지 않습니다! 그러나 100 이상부터는 이미 고려됩니다. 2에서 99까지의 마진 비율을 가진 브로커를 찾을 수 없다는 것이 유감입니다. 뭔가 잘못. 레버리지는 1스탠다드 랏당 마진에서 이 백분율을 계산한 다음 레버리지를 고려할 때 사용됩니다. 이 스크립트를 컴파일하고 미결 주문이 있으면 아무 쌍에서나 실행하십시오. void OnStart () { double size = 0 , percentage = 0 , orderMargin = 0 , accountMargin = 0 ; long leverage = 0 ; for ( int i = 0 ; i < OrdersTotal (); i++) { int tupe = - 1 ; if ( OrderSelect (i, SELECT_BY_POS ) && (tupe= OrderType ()) < OP_BUYLIMIT ) { string symbol = OrderSymbol (); string symbolCurencyMargin = SymbolInfoString (symbol, SYMBOL_CURRENCY_MARGIN ); double orderOpenPrice = OrderOpenPrice (); double margin = MarketInfo (symbol, MODE_MARGINREQUIRED ); double ask = MarketInfo (symbol, MODE_ASK ); double bid = MarketInfo (symbol, MODE_BID ); double price = symbolCurencyMargin == "USD" ? 1 : tupe == OP_BUY ? bid : ask; size = SymbolInfoDouble (symbol, SYMBOL_TRADE_CONTRACT_SIZE ); leverage = AccountInfoInteger ( ACCOUNT_LEVERAGE ); percentage = NormalizeDouble (margin/(size*price/ 100 )*leverage, 0 ); orderMargin = (size*orderOpenPrice*percentage/ 100 )/leverage; accountMargin += orderMargin; Print (symbolCurencyMargin, " ******** Маржа " , symbol, " = " , orderMargin); } } Print ( AccountInfoString ( ACCOUNT_CURRENCY ), " ******** AccountMargin = " , DoubleToString (accountMargin, 2 )); } /********************************************************************/ 미결 주문이 2개뿐이며 올바르게 표시됩니다. K-2SO 2017.06.04 21:21 #62 Alexey Viktorov : 뭔가 잘못. 레버리지는 1스탠다드 랏당 마진에서 이 백분율을 계산한 다음 레버리지를 고려할 때 사용됩니다. 이 스크립트를 컴파일하고 미결 주문이 있으면 아무 쌍에서나 실행하십시오. 미결 주문이 2개뿐이며 올바르게 표시됩니다. 만들어진. 지금 은 시장이 닫혀 있는 동안 금 주문이 열려 있는 동안 데모가 있습니다. 내 말은 인스타에서 확인되었습니다(여백 백분율: 1) 귀하의 스크립트에는 일종의 공백이 표시됩니다 ... 여백 비율이 100 및 200인 메타 인용 및 robo의 경우 모든 것이 정확합니다. K-2SO 2017.06.04 21:25 #63 Renat Akhtyamov : 100의 레버리지로 5달러의 데모 계정을 열고 예를 들어 동일한 금 또는 더 쿨러의 경우 - 루블의 경우 마진 %가 얼마인지 확인하십시오... 나는 아직 마진율 계산을 마스터하지 못했고, 이미 계산의 논리를 깨달은 것 같지만 아직 코드를 작성하지 않았습니다. 자신의 것이 있으면 무슨 말인지 확인합시다) Alexey Viktorov 2017.06.05 07:51 #64 K-2SO : 만들어진. 지금 은 시장이 닫혀 있는 동안 금 주문이 열려 있는 동안 데모가 있습니다. 내 말은 인스타에 의해 확인되었습니다(여백 비율: 1) 귀하의 스크립트는 일종의 공백을 보여줍니다 ... 그러나 SYMBOL_CURRENCY_MARGIN 과 같은 여백 비율이 100 및 200인 메타 인용 및 robo의 경우 모든 것이 정확합니다. 글쎄, 나는 무엇이 잘못되었는지 이해하지 못한다. 여기에서 마진 백분율 = 1이고 계약 크기가 통화에서와 같이 100,000이 아닌 1000인 오일에 대해 2개의 추가 주문을 열었습니다. 다음은 인쇄하는 내용입니다. 2017.06 . 05 08 : 40 : 04.978 test EURUSD.e,H1: USD ******** AccountMargin = 2207.23 2017.06 . 05 08 : 40 : 03.360 test EURUSD.e,H1: US_ ******** Маржа BRENT = 508.0 2017.06 . 05 08 : 39 : 34.326 test EURUSD.e,H1: US_ ******** Маржа WTI = 484.9 2017.06 . 05 08 : 39 : 25.185 test EURUSD.e,H1: XAU ******** Маржа XAUUSD.e = 840.4333333333334 2017.06 . 05 08 : 39 : 19.651 test EURUSD.e,H1: EUR ******** Маржа EURUSD.e = 373.8933333333333 여기 사진이 있습니다 어떤 이유로 페니까지 나타납니다. 그래서 글과는 별개로 사진을... K-2SO 2017.06.05 11:17 #65 Alexey Viktorov : 그래서 글과는 별개로 사진을... 다음과 같은 곳(로트 0.05, 레버리지 300): 2017.06 . 05 12 : 06 : 11.968 Script gold_test_vik XAUUSD,H1: removed 2017.06 . 05 12 : 06 : 11.953 gold_test_vik XAUUSD,H1: uninit reason 0 2017.06 . 05 12 : 06 : 11.953 gold_test_vik XAUUSD,H1: USD ******** AccountMargin = 8193395.74 2017.06 . 05 12 : 06 : 11.953 gold_test_vik XAUUSD,H1: USD ******** Маржа XAUUSD = 8193395.736 2017.06 . 05 12 : 06 : 11.953 gold_test_vik XAUUSD,H1: initialized 2017.06 . 05 12 : 06 : 11.937 Script gold_test_vik XAUUSD,H1: loaded successfully Alexey Viktorov 2017.06.05 11:37 #66 K-2SO : 다음과 같은 위치(로트 0.05, 레버리지 300): 분명한. 증거금 통화 에 주의하십시오. 내 버전 XAU와 USD에서 이 줄로 뭔가를 해야 합니다. double price = symbolCurencyMargin == "USD" ? 1 : tupe == OP_BUY ? bid : ask; 견적이 계산에 고려되도록. 기호 경로를 추가할 수 있습니다. 그리고 다시 확인하려면 이 줄을 다음과 같이 변경하십시오. double price = tupe == OP_BUY ? bid : ask; 그러나 통화에 의존하는 것은 잘못된 것입니다. 일반적으로 보편성을 위해 상품 경로에 대한 모든 옵션과 증거금 통화에 대한 옵션을 고려해야 합니다. K-2SO 2017.06.05 11:54 #67 Alexey Viktorov : 분명한. 증거금 통화 에 주의하십시오. 내 버전 XAU와 USD에서 이 줄로 뭔가를 해야 합니다. 견적이 계산에 고려되도록. 기호 경로를 추가할 수 있습니다. 그리고 다시 확인하려면 이 줄을 다음과 같이 변경하십시오. 여전히 틀립니다. 순서는 동일하며 결과는 다음과 같습니다. 2017.06 . 05 12 : 47 : 50.984 gold_test_vik XAUUSD,H1: USD ******** AccountMargin = 6392.70 2017.06 . 05 12 : 47 : 50.984 gold_test_vik XAUUSD,H1: USD ******** Маржа XAUUSD = 6392.7 알렉세이 빅토로프 : 일반적으로 보편성을 위해 상품 경로에 대한 모든 옵션과 증거금 통화에 대한 옵션을 고려해야 합니다. 증거금에 대해서는 명확하지만, 우리가 말하는 상품의 경로에 대한 옵션은 무엇입니까? 추신 공식에 따르면 레버리지를 고려하지 않고 모든 것이 정확하게 계산됩니다. margin=( OrderLots ()*contract* OrderOpenPrice ())/ 100 *Percentage; // инста - процент маржи 1% Alexey Viktorov 2017.06.05 13:26 #68 K-2SO : 여전히 틀리고 순서는 동일하며 결과는 다음과 같습니다. 증거금에 대해서는 명확하지만, 우리가 말하는 상품의 경로에 대한 옵션은 무엇입니까? 추신 공식에 따르면 레버리지를 고려하지 않고 모든 것이 정확하게 계산됩니다. 네, 제가 좀 망쳤습니다... 부지의 크기는 전혀 고려되지 않습니다. 1개의 표준 로트에 대한 주문이 있기 때문에 올바르게 표시됩니다... 이 라인을 추가해야 합니다. orderMargin = ( OrderLots ()* size*orderOpenPrice*percentage/ 100 )/leverage; 기호에 대한 경로는 다음과 같이 정의됩니다. SymbolInfoString (symbol, SYMBOL_PATH ); 하지만 이름에 모호함이 없어 조건을 설정하기가 쉽지 않다. ecn 데모의 Robo에는 이 경로가 있습니다. 그리고 센트에 다른 사람들도 비슷할 수 있지만 분명한 것은 아닙니다. 물론 부분 문자열로 비교할 수도 있지만 보편성을 확보하기 위해서는 경로가 있는 많은 DC를 확인해야 합니다. 비록 ... 담보 계산 방법을 확인하려고 할 수 있습니다. 지금 확인하겠습니다. 거래량, 변동성 및 허스트 하이켄 아시 아이디어 구독자 1200명!! K-2SO 2017.06.05 13:57 #69 Alexey Viktorov : 네, 제가 좀 망쳤습니다... 부지의 크기는 전혀 고려되지 않습니다. 1개의 표준 로트에 대한 주문이 있기 때문에 올바르게 표시됩니다... 이 라인을 추가해야 합니다. 추가했지만 여전히 결과가 잘못됨) 알렉세이 빅토로프 : 기호에 대한 경로는 다음과 같이 정의됩니다. 이 경로를 사용해야 하는 방법, 위치 및 이유에 대해 이야기하고 있습니다. Alexey Viktorov 2017.06.05 19:01 #70 글쎄, 출혈성 ... 어떻게 생각하는지 확인하십시오. void OnStart () { double contractSize = 0 , orderMargin = 0 , accountMargin = 0 ; double percentage = 0 ; long leverage = 0 ; for ( int i = 0 ; i < OrdersTotal (); i++) { int type = - 1 ; if ( OrderSelect (i, SELECT_BY_POS )) { type = OrderType (); string symbol = OrderSymbol (); string symbolCurencyMargin = SymbolInfoString (symbol, SYMBOL_CURRENCY_MARGIN ); double orderLots = OrderLots (); leverage = AccountInfoInteger ( ACCOUNT_LEVERAGE ); double margin = MarketInfo (symbol, MODE_MARGINREQUIRED ); double ask = MarketInfo (symbol, MODE_ASK ); double bid = MarketInfo (symbol, MODE_BID ); int calcMode = int ( SymbolInfoInteger (symbol, SYMBOL_TRADE_CALC_MODE )); int stringFind = StringFind (symbol, "USD" ); double price = stringFind == 0 ? 1 : type% 2 == OP_BUY ? bid : ask; double orderOpenPrice = stringFind == 0 ? 1 : OrderOpenPrice (); contractSize = SymbolInfoDouble (symbol, SYMBOL_TRADE_CONTRACT_SIZE ); percentage = NormalizeDouble (margin/(contractSize*price/ 100 )*(calcMode == 0 ? leverage : 1 ), 0 ); orderMargin = (orderLots*contractSize*orderOpenPrice*percentage/ 100 )/(calcMode == 0 ? leverage : 1 ); Print ( "******** Процент маржи " , int (percentage), " Маржа ордера " , symbol, " " , orderLots, " = " , orderMargin); if (type < OP_BUYLIMIT ) accountMargin += orderMargin; } } Print ( "******** AccountMargin = " , DoubleToString (accountMargin, 2 ), " " , AccountInfoString ( ACCOUNT_CURRENCY )); } /********************************************************************/ 보류 주문 도 계산하기 위해 만들었지만 총 마진 금액은 포함되지 않았습니다. 1234567891011 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
테스트에 따르면 마진 비율이 1과 같을 때 레버리지는 고려되지 않습니다! 그러나 100 이상부터는 이미 고려됩니다. 2에서 99까지의 마진 비율을 가진 브로커를 찾을 수 없다는 것이 유감입니다.
뭔가 잘못. 레버리지는 1스탠다드 랏당 마진에서 이 백분율을 계산한 다음 레버리지를 고려할 때 사용됩니다.
이 스크립트를 컴파일하고 미결 주문이 있으면 아무 쌍에서나 실행하십시오.
미결 주문이 2개뿐이며 올바르게 표시됩니다.뭔가 잘못. 레버리지는 1스탠다드 랏당 마진에서 이 백분율을 계산한 다음 레버리지를 고려할 때 사용됩니다.
이 스크립트를 컴파일하고 미결 주문이 있으면 아무 쌍에서나 실행하십시오.
미결 주문이 2개뿐이며 올바르게 표시됩니다.만들어진. 지금 은 시장이 닫혀 있는 동안 금 주문이 열려 있는 동안 데모가 있습니다. 내 말은 인스타에서 확인되었습니다(여백 백분율: 1) 귀하의 스크립트에는 일종의 공백이 표시됩니다 ...
여백 비율이 100 및 200인 메타 인용 및 robo의 경우 모든 것이 정확합니다.
100의 레버리지로 5달러의 데모 계정을 열고 예를 들어 동일한 금 또는 더 쿨러의 경우 - 루블의 경우 마진 %가 얼마인지 확인하십시오...
만들어진. 지금 은 시장이 닫혀 있는 동안 금 주문이 열려 있는 동안 데모가 있습니다. 내 말은 인스타에 의해 확인되었습니다(여백 비율: 1) 귀하의 스크립트는 일종의 공백을 보여줍니다 ... 그러나 SYMBOL_CURRENCY_MARGIN 과 같은
여백 비율이 100 및 200인 메타 인용 및 robo의 경우 모든 것이 정확합니다.
글쎄, 나는 무엇이 잘못되었는지 이해하지 못한다. 여기에서 마진 백분율 = 1이고 계약 크기가 통화에서와 같이 100,000이 아닌 1000인 오일에 대해 2개의 추가 주문을 열었습니다.
다음은 인쇄하는 내용입니다.
여기 사진이 있습니다
어떤 이유로 페니까지 나타납니다.
그래서 글과는 별개로 사진을...
그래서 글과는 별개로 사진을...
다음과 같은 곳(로트 0.05, 레버리지 300):
다음과 같은 위치(로트 0.05, 레버리지 300):
분명한. 증거금 통화 에 주의하십시오. 내 버전 XAU와 USD에서 이 줄로 뭔가를 해야 합니다.
견적이 계산에 고려되도록. 기호 경로를 추가할 수 있습니다.
그리고 다시 확인하려면 이 줄을 다음과 같이 변경하십시오.
그러나 통화에 의존하는 것은 잘못된 것입니다.
일반적으로 보편성을 위해 상품 경로에 대한 모든 옵션과 증거금 통화에 대한 옵션을 고려해야 합니다.
분명한. 증거금 통화 에 주의하십시오. 내 버전 XAU와 USD에서 이 줄로 뭔가를 해야 합니다.
견적이 계산에 고려되도록. 기호 경로를 추가할 수 있습니다.
그리고 다시 확인하려면 이 줄을 다음과 같이 변경하십시오.
여전히 틀립니다. 순서는 동일하며 결과는 다음과 같습니다.
일반적으로 보편성을 위해 상품 경로에 대한 모든 옵션과 증거금 통화에 대한 옵션을 고려해야 합니다.
증거금에 대해서는 명확하지만, 우리가 말하는 상품의 경로에 대한 옵션은 무엇입니까?
추신 공식에 따르면 레버리지를 고려하지 않고 모든 것이 정확하게 계산됩니다.
여전히 틀리고 순서는 동일하며 결과는 다음과 같습니다.
증거금에 대해서는 명확하지만, 우리가 말하는 상품의 경로에 대한 옵션은 무엇입니까?
추신 공식에 따르면 레버리지를 고려하지 않고 모든 것이 정확하게 계산됩니다.
네, 제가 좀 망쳤습니다... 부지의 크기는 전혀 고려되지 않습니다. 1개의 표준 로트에 대한 주문이 있기 때문에 올바르게 표시됩니다... 이 라인을 추가해야 합니다.
기호에 대한 경로는 다음과 같이 정의됩니다.
하지만 이름에 모호함이 없어 조건을 설정하기가 쉽지 않다.
ecn 데모의 Robo에는 이 경로가 있습니다.
그리고 센트에
다른 사람들도 비슷할 수 있지만 분명한 것은 아닙니다. 물론 부분 문자열로 비교할 수도 있지만 보편성을 확보하기 위해서는 경로가 있는 많은 DC를 확인해야 합니다.
비록 ... 담보 계산 방법을 확인하려고 할 수 있습니다.
지금 확인하겠습니다.
네, 제가 좀 망쳤습니다... 부지의 크기는 전혀 고려되지 않습니다. 1개의 표준 로트에 대한 주문이 있기 때문에 올바르게 표시됩니다... 이 라인을 추가해야 합니다.
추가했지만 여전히 결과가 잘못됨)
기호에 대한 경로는 다음과 같이 정의됩니다.
글쎄, 출혈성 ... 어떻게 생각하는지 확인하십시오.
보류 주문 도 계산하기 위해 만들었지만 총 마진 금액은 포함되지 않았습니다.