프로그래밍 방식으로 "마진 백분율"을 얻는 방법 - 페이지 8

 
Alexey Viktorov :

글쎄, 출혈성 ... 어떻게 생각하는지 확인하십시오.

메타 인용에 대한 GOLD(마진 비율 - 1, 레버리지 -300), CFD

 2017.06 . 05 21 : 57 : 42.015 Script gold_test_vik2 GOLD,H4: removed
2017.06 . 05 21 : 57 : 42.000 gold_test_vik2 GOLD,H4: uninit reason 0
2017.06 . 05 21 : 57 : 42.000 gold_test_vik2 GOLD,H4: ******** AccountMargin = 19188.75 USD
2017.06 . 05 21 : 57 : 42.000 gold_test_vik2 GOLD,H4: ******** Процент маржи 300 Маржа ордера GOLD 0.05 = 19188.75
2017.06 . 05 21 : 57 : 42.000 gold_test_vik2 GOLD,H4: initialized

십자가와 고정 위치에서 계산도 올바르지 않지만 개인적으로 그것은 나에게 중요하지 않으며 이것이 단순히 스크립트에서 처리되지 않는다는 것을 알 수 있습니다 ... 나는 이것에 노력을 기울일 가치가 있다고 생각하지 않습니다. 지금까지의 모든 어려움이 적어도 하나의 CFD 주문에 대한 증거금 및 담보의 계산 비율과 관련된 경우.

ps. 개발자가 마진 비율에 직접 액세스 권한을 부여하지 않은 것도 우연이 아닌 것 같습니다 :D

 

MetaQuote-Demo에서 300을 활용하여 데모를 여는 방법에 대한 경험을 공유할 수 있습니까? 저는 최대 100개...


MetaQuote-Demo의 GOLD

 2017.06 . 06 09 : 07 : 32.780 Data Folder: D:\MetaTrader 4 \Programming
2017.06 . 06 09 : 07 : 32.780 Windows 7 Home Premium (x64 based PC), IE 11.00 , UAC, 4 x AMD FX- 4170 Quad-Core Processor , RAM: 10402 / 12255 Mb, HDD: 31535 / 244198 Mb, GMT+ 03 : 00
2017.06 . 06 09 : 07 : 32.780 MetaTrader 4 build 1090 started (MetaQuotes Software Corp.)

인쇄물

 2017.06 . 06 09 : 09 : 25.812 test GOLD,H1: ******** AccountMargin = 160.95 USD
2017.06 . 06 09 : 09 : 25.812 test GOLD,H1: ******** Процент маржи 1 Маржа ордера GOLD 0.05 = 160.9525

스냅샷



 
Alexey Viktorov :

MetaQuote-Demo에서 300을 활용하여 데모를 여는 방법에 대한 경험을 공유할 수 있습니까? 저는 최대 100개...


이런... 터미널에서 이러한 테스트를 혼동했습니다. 이것은 인스타였고, 나머지는 모두 정확합니다. GOLD, 마진 비율 - 1, 레버리지 300, 위의 스크린샷...

죄송합니다!

 
ir0407 :
마진 백분율은 계산되지 않은 마진입니다. 이것은 마진을 계산하기 위한 구성 요소 중 하나일 뿐입니다. 그리고 이 계산의 결과(표의 공식에 따라)는 증거금 통화 로 반환되며, 이 통화는 (예금 통화와 다른 경우) 예금 통화로 변환되어야 합니다.

그리고 이것은 또한 내 머리를 돌릴 수없는 것입니다. 예를 들어 다음 공식을 사용합니다.

Lots*Contract_Size/Leverage

여기서 랏(Lot)은 상품 및 계약의 기본 통화로 된 로트이며 기본 통화로도 사용되며, 필요한 경우 기준 통화와 견적 통화를 요율로 곱합니다. 그리고 이 모든 것을 통해 우리는 마진의 통화로 결과를 얻습니다. 어때요?

 
K-2SO :

그리고 이것은 또한 내 머리를 돌릴 수없는 것입니다. 예를 들어 다음 공식을 사용합니다.

여기서 랏(Lot)은 상품 및 계약의 기본 통화로 된 로트이며 기본 통화로도 사용되며, 필요한 경우 기준 통화와 견적 통화를 요율로 곱합니다. 그리고 이 모든 것을 통해 우리는 마진의 통화로 결과를 얻습니다. 어때요?

이 공식

Lots*Contract_Size/Leverage

USD 통화 마진 계산에 적합***


먼저 예금 통화 로 이체하는 데 필요한 가격이 결정됩니다.

상품 이름이 예금 통화, 특히 USD로 시작하는 경우 가격은 고려되지 않습니다.

주문이 OP_BUY인 경우 입찰가가 필요합니다.

주문이 OP_SELL인 경우 묻습니다.

 double price = stringFind == 0 ? 1 : type% 2 == OP_BUY ? bid : ask;
percentage = NormalizeDouble (
                             margin           // Маржа получена в валюте депозита с учётом плеча
                           /(contractSize     // Размер контракта в базовой валюте
                            *price           // Умножаем на текущую цену и получаем в валюте депозита
                            / 100 )             // Это для того чтобы коэффициент перевести в проценты
                           *(calcMode == 0 ? leverage : 1 ) // Это получено методом научно-технического тыка.
                                     // Если способ расчёта 0 - Forex; то надо учесть плечо
                                     //                     1 - CFD; то плечо не учитывается
                                     //                     2 - Futures; 3 - CFD на индексы НЕ проверялись, их у меня нету...
                           , 0 );
orderMargin = (orderLots         // правильно, в базовой валюте
              *contractSize       // и это тоже в базовой
              *orderOpenPrice     // а вот тут переводим в валюту депозита
              *percentage/ 100 )   // у меня слов не хватает чтобы объяснить что это такое, но видимо очень нужное.
             /(calcMode == 0 ? leverage : 1 );   // Это тоже получено методом научно-технического тыка.

내가 모든 것을 명확하게 설명했기를 바랍니다 ...

 
Alexey Viktorov :

내가 모든 것을 명확하게 설명했기를 바랍니다 ...

음... 또 다른 얘기를 하고 있는 것 같아요. 나는 방금 증거금 계산 방법 자체(계산 자체가 아님)를 명확히 하려고 하지 않고 증거금 계산 공식의 출력에서 우리가 실제로 증거금 통화 로 작업하지 않는 것으로 밝혀진 방법을 전달하기로 결정했습니다. 마진 통화의 결과. 어쨌든 ir0407 메시지에서 이해한 내용입니다. 그리고 그것이 내가 아직 견적에 대한 설명이없는 매우 간단한 계산 공식을 준 이유입니다 ...

나머지 (과학적 찌름 방법에 의한 계산)는 이미이 모든 것을 시도했지만 단일 솔루션은 아직 찾지 못했습니다. 중개인을 혼합했지만 결과는 그렇지 않습니다. 즉, Instagram에서 위의 매개 변수를 사용하는 마지막 옵션은 여전히 우주 번호를 제공합니다. https://www.mql5.com/ru/forum/193833/page8#comment_5243991

ps 댓글 감사합니다! 아무튼 님이 말씀하신 사고방식이나 계산은 이해가 됩니다)

 
K-2SO :

음... 또 다른 얘기를 하고 있는 것 같아요. 나는 방금 증거금 계산 방법 자체(계산 자체가 아님)를 명확히 하려고 하지 않고 증거금 계산 공식의 출력에서 우리가 실제로 증거금 통화 로 작업하지 않는 것으로 밝혀진 방법을 전달하기로 결정했습니다. 마진 통화의 결과. 어쨌든 ir0407 메시지에서 이해한 내용입니다. 그리고 그것이 내가 아직 견적에 대한 설명이없는 매우 간단한 계산 공식을 준 이유입니다 ...

나머지 (과학적 찌름 방법에 의한 계산)는 이미이 모든 것을 시도했지만 단일 솔루션은 아직 찾지 못했습니다. 중개인을 혼합했지만 결과는 그렇지 않습니다. 즉, Instagram에서 위의 매개 변수를 사용하는 마지막 옵션은 여전히 우주 번호를 제공합니다. https://www.mql5.com/ru/forum/193833/page8#comment_5243991

ps 댓글 감사합니다! 아무튼 님이 말씀하신 사고방식이나 계산은 이해가 됩니다)

인스타에서는 데모도 열고 싶지 않습니다. 어렵지 않다면 디버거에서 얻은 중간 값을 보여줄 수 있습니다. 내 화면처럼


 
Alexey Viktorov :

인스타에서는 데모도 열고 싶지 않습니다. 어렵지 않다면 디버거에서 얻은 중간 값을 보여줄 수 있습니다. 내 화면처럼



그리고 다시 내 캔트! 분명히 코드 작동 방식을 분류할 때 코드에서 무언가를 변경했기 때문에(반환하는 것을 잊었습니다) 이러한 오류가 발생한 것입니다. 이제 (만일을 대비하여) 원본을 다시 복사했습니다. 사실이며 인스타에 의존합니다. 그런 다음 다른 브로커와 테스트합니다.
 

모자를 벗어라, 당신은 거의 그것을 만들었습니다! 마진 비율이 다른 이전에 고려된 세 브로커 모두에 대해 금(한 방향 주문의 경우) 계산이 정확합니다.

그러나 대본은 여전히 이국적인 것에 대처할 수 없습니다. 나는 fxcm 브로커에서 여기에서 멈췄다. 금의 증거금 비율은 70000이고 일반 통화 쌍 130의 경우 증거금 통화는 모든 곳에서 USD입니다. 그리고 어느 곳에서도 올바른 것으로 간주되지 않습니다! (. 나 자신이 지금 이틀 동안 그 열쇠를 찾고 있었고, 실제로 이것의 결과로, 나는 이제 기본 통화 에 대한 계산의 결과로 그것이 어떻게 밝혀지는지에 대한 질문에 대한 답을 찾고 있습니다. 견적 통화로 그들의 요금, 우리는 증거금 통화를 얻습니다 ... 아마도 이것이거나이 브로커가 일반 통화 쌍에 대해서도 증거금 비율을 고려한다는 사실 일 수 있습니다.

여기에서 터미널 ru.files.fm/u/xfezz883#_을 다운로드하고, 압축을 풀고, 실행 파일로 실행하고, 데모를 시작할 수 있습니다...

 
K-2SO :

모자를 벗어라, 당신은 거의 그것을 만들었습니다! 마진 비율이 다른 이전에 고려된 세 브로커 모두에 대해 금(한 방향 주문의 경우) 계산이 정확합니다.

그러나 대본은 여전히 이국적인 것에 대처할 수 없습니다. 나는 fxcm 브로커에서 여기에서 멈췄다. 금의 증거금 비율은 70000이고 일반 통화 쌍 130의 경우 증거금 통화는 모든 곳에서 USD입니다. 그리고 어느 곳에서도 올바른 것으로 간주되지 않습니다! (. 나 자신이 지금 이틀 동안 그 열쇠를 찾고 있었고, 실제로 이것의 결과로, 나는 이제 기본 통화 에 대한 계산의 결과로 그것이 어떻게 밝혀지는지에 대한 질문에 대한 답을 찾고 있습니다. 견적 통화로 그들의 요금, 우리는 증거금 통화를 얻습니다 ... 아마도 이것이거나이 브로커가 일반 통화 쌍에 대해서도 증거금 비율을 고려한다는 사실 일 수 있습니다.

여기에서 터미널 ru.files.fm/u/xfezz883#_을 다운로드하고, 압축을 풀고, 실행 파일로 실행하고, 데모를 시작할 수 있습니다...

교차 계산은 문제가 되지 않습니다. 증거금 통화가 예금 통화로 변환되는 견적을 받기만 하면 됩니다.

예를 들어 EURJPY 가격

 double price = stringFind == 0 ? 1 : type% 2 == OP_BUY ? bid : ask;

보증금이 USD인 경우 EURUSD를 사용하여 계산해야 합니다. 그리고 CADJPY는 USDCAD를 사용하여 계산됩니다. 여기에서 증거금 통화와 함께 예금 통화를 추가하는 방법을 알아야 합니다. 같은 바보 같은 목록에서 운전하지 마십시오.

그리고 반대의 것들은 MarketInfo(symbol, MODE_MARGINHEDGED)를 갖는 것이 특별히 어렵지 않습니다. 유일한 문제는 먼저 다가오는 것을 찾은 다음 다가오는 것의 일부를 분해하고 나머지는 완전히 분해해야한다는 것입니다 ...

일반적으로 쓰여진 모든 것에서 나는 위험한 전략으로 지연이 활성화 될 때 취할 마진을 미리 알아낼 수 있고 실수에 빠지지 않기 위해 제거 할 수 있다는 사실에서만 이점을 봅니다. 자금이 충분하지 않은 경우 시간 지연. 한 번 시장에 고문을 배치할 때 이것으로 어려움을 겪었습니다.