- 계정 잔고 * 퍼센트 = 위험 = (OrderOpenPrice - OrderStopLoss)*DIR * OrderLots * DeltaPerlot (참고 OOP-OSL에는 SPREAD가 포함됨)
- TickValue 자체를 사용하지 마십시오 - DeltaPerlot
- 중단 을 피하기 위해 FreeMargin도 확인해야 합니다.
double Spread=MarketInfo(Symbol(),MODE_SPREAD)/Q; double Risk=(RiskPercent*AccountEquity())/100;//this means if your balance 1000$ & RiskPercent=10% >> you going to risk 100$ double lot=Risk/((StopLoss+Spread)*MarketInfo(Symbol(),MODE_TICKVALUE)*Q);//Make Sure to Define Your StopLoss & Q=10 in 5 digits or Q=1 in 4 Digits
yousefh : , 내 DeltaPerlot의 주석을 읽으십시오. 틱 값 자체를 사용하지 마십시오.
yousefh :
좋지 않아 죄송합니다
WHR로더 :
- 계정 잔고 * 퍼센트 = 위험 = (OrderOpenPrice - OrderStopLoss)*DIR * OrderLots * DeltaPerlot (참고 OOP-OSL에는 SPREAD가 포함됨)
- TickValue 자체를 사용하지 마십시오 - DeltaPerlot
- 중단 을 피하기 위해 FreeMargin도 확인해야 합니다.
좋아, 당신의 요점을 알았습니다. 그래서 여기 내 논리와 계산이 있습니다. 위험 %를 계산하는 방법
MQL4 코드에서는 다음과 같습니다.
extern double MYSTOPLOSS = 50; // CUSTOM SL SIZE IN PIPS AFTER THE STOPLEVEL extern double RISK =2; // 2% ACCOUNT RISK double LOT =( AccountEquity ()*RISK)/( 100 *( MarketInfo ( Symbol (), MODE_STOPLEVEL )+MYSTOPLOSS)* Point * 100000 );
간단한 1 라이너, 복잡하지 않습니다. 이제 말씀하신 DELTA 항목을 삽입할 수 있도록 도와주세요. 공식이 완전하지 않다는 것을 알고 있으므로 도와주세요. 제 계정은 유로화로 되어 있으므로 대부분의 경우 기본 화폐.
Proximus : 빨리 도와주세요, X-mas 전에 이 프로젝트를 끝내고 싶어요 :)
- 이제 DELTA 항목을 삽입하도록 도와주세요.제공된 링크를 클릭하기 귀찮으셨나요?
WHRoeder :
- 이제 DELTA 항목을 삽입하도록 도와주세요.제공된 링크를 클릭하기 귀찮으셨나요?
예, 하지만 당신이 그것을 내 방정식에 맞추는 방법을 이해하지 못합니다. 당신은 이것이 필요하다고 말했습니다:
MarketInfo (pair, MODE_TICKVALUE ) / MarketInfo (pair, MODE_TICKSIZE )그러나 이 두 숫자를 나누면 눈금 크기 대신 큰 숫자가 제공되기 때문에 이것이 내 방정식에 어떻게 도움이 되는지 이해가 되지 않습니다...
Proximus :
예, 하지만 당신이 그것을 내 방정식에 맞추는 방법을 이해하지 못합니다. 당신은 이것이 필요하다고 말했습니다:
그러나 이 두 숫자를 나누면 눈금 크기 대신 큰 숫자가 제공되기 때문에 이것이 내 방정식에 어떻게 도움이 되는지 이해가 되지 않습니다...이 링크를 시도하십시오: https://www.mql5.com/en/forum/148224 .
아마도 다른 각도에서 보면 도움이 될 것입니다.
WTF 여러분, TICKVALUE /TICKSIZE 대신 TICKVALUE * TICKSIZE 여야 합니까? 나는 거기에 큰 실수가 있다고 생각한다.
별도의 값을 표시하는 빠른 표시기를 만들었습니다. TICKVALUE * TICKSIZE가 적절한 것 같습니다...
그리고 데모 계정은 기본 통화인 EUR로 되어 있지만 USD 계정으로 동일한 테스트를 수행했으며 POINT는 견적 통화 값을 측정하기 때문에 TICKVALUE * TICKSIZE와 같습니다.
파일:
내가 질문을 올바르게 이해했다면 이것이 당신을 위해 일할 것입니다.
for ( i= 0 ; i<=ot; i++ ) for ( z= 0 ; z<= 10 ; z++ ) { if ( long_orders_array_ATF[i][z] > 0 ) for (zz= 0 ; zz<= 10 ; zz++) { OrderSelect (zz, SELECT_BY_POS , MODE_TRADES ); if ( OrderTicket ()==long_orders_array_ATF[i][z]) zz=ot+ 2 ; if (ot+ 2 <=zz) long_potencial_loss = ( OrderLots () * ( OrderOpenPrice () - OrderStopLoss ()))* 100000 ; long_sum_potencial_loss = long_sum_potencial_loss + long_potencial_loss; } } ... lot_size = ((((free-long_sum_potencial_loss) * percent_depo)/ 100.0 )/pips)/ 100000 ; }
안녕하세요, STOPLOSS를 포함하고 내 계정이 EUR라는 점을 고려하여 계산된 계정 위험 %를 기반으로 로트 크기를 조정하는 코드/공식이 필요합니다.
내가 가진 것은 다음과 같습니다.
그러나 이것은 정지 손실을 고려하지 않습니다
그래서 구글 검색에서 찾았습니다
그리고 이것
하지만 이 중 아무 것도 작동하지 않습니다. 문제를 해결하는 데 도움을 주거나 더 나은 것을 제공하세요. 감사합니다!