아니요, 내가 의미하는 바는 WHRoeder가 제안한 대로 TICKVALUE* TICKSIZE 또는 TICKVALUE/TICKSIZE를 사용하는 것이 맞다는 것입니다. 왜냐하면 *가 거기에서 더 논리적으로 보이기 때문입니다. 따라서 내 계정이 EUR로 표시되는 경우 어느 것이 올바른 것입니까? 견적이 아닌 기본 통화 ?
Proximus : WTF guys, shouldnt that be TICKVALUE * TICKSIZE instead of TICKVALUE /TICKSIZE ? I think there is a big mistake there
double LOT =( AccountEquity ()*RISK)/( 100 *( MarketInfo ( Symbol (), MODE_STOPLEVEL )+MYSTOPLOSS)* Point * 100000 );
예를 들어 USD 계정 통화가 있는 EURUSD. TickValue가 $10이고 Ticksize=0.0001인 경우. 시장이 0.0020으로 움직인다면 가치는 $10/0.0001 * 0.0020=$200 / 로트당입니다. 핍당 $10 * 20핍/로트당. TickValue가 $1이고 Ticksize=0.00001인 경우. 시장이 0.0020 움직이면 값은 $1/0.00001 * 0.0020=$200 / 로트당 여전히 있습니다. 실수는 없습니다.
그것은 가짜 100 * stoploss, StopLevel, Point * 10000 등의 방정식 입니다. 내 원래 방정식 을 다시 읽고 lotsize를 해결하십시오.
내가 질문을 올바르게 이해했다면 이것이 당신을 위해 일할 것입니다.
이중 무료 = AccountFreeMargin();
이중 잠재력 손실,
이중 sum_potencial_loss = 0
더블 핍, lot_size;
더블 퍼센트_데포 = 5;
potencial_loss = (OrderLots() * (OrderOpenPrice() - OrderStopLoss()))*100000;
sum_potencial_loss = long_sum_potencial_loss + long_potencial_loss;
lot_size = ((((무료-롱_sum_potencial_loss) * percent_depo)/100.0)/pips)/100000 ;
감사합니다. 하지만 이미 공식이 있습니다. USD가 아닌 EUR 계정이 있기 때문에 포인트 값만 수정하면 됩니다. 코드는 다음과 같습니다.
그리고 Point를 TICKVALUE* TICKSIZE로 바꿔야 하므로 다음과 같이 보일 것입니다.
누구든지 이 아이디어가 옳다는 것을 확인할 수 있다면 문제가 해결된 것 같습니다. 그러니 빨리 도와주세요. 그럼 메리 크리스마스!
귀하의 코드를 제거했습니다. . . .
당신의 도움을 주셔서 감사합니다.
감사합니다. 하지만 이미 공식이 있습니다. USD가 아닌 EUR 계정이 있기 때문에 포인트 값만 수정하면 됩니다. 코드는 다음과 같습니다.
그리고 Point를 TICKVALUE* TICKSIZE로 바꿔야 하므로 다음과 같이 보일 것입니다.
누구든지 이 아이디어가 옳다는 것을 확인할 수 있다면 문제가 해결된 것 같습니다. 그러니 빨리 도와주세요. 그럼 메리 크리스마스!
확인할 수는 없지만 Alert()로 디버깅하는 것이 좋습니다. 이와 같이 ?
또는
Alert("AccountEquity : ",(AccountEquity()," RISK : " ,RISK," MODE_STOPLEVEL : ", MODE_STOPLEVEL," MYSTOPLOSS : ",MYSTOPLOSS," MODE_TICKVALUE : " ,MODE_TICKVALUE," MODE_TICKSIZE : ,MODE_TICKSIZE);그리고 당신은 스스로 그것을 확인할 것입니다.
당신의 도움을 주셔서 감사합니다.
확인할 수는 없지만 Alert()로 디버깅하는 것이 좋습니다. 이와 같이 ?
또는
그리고 당신은 스스로 그것을 확인할 것입니다.
아니요, 내가 의미하는 바는 WHRoeder가 제안한 대로 TICKVALUE* TICKSIZE 또는 TICKVALUE/TICKSIZE를 사용하는 것이 맞다는 것입니다. 왜냐하면 *가 거기에서 더 논리적으로 보이기 때문입니다. 따라서 내 계정이 EUR로 표시되는 경우 어느 것이 올바른 것입니까? 견적이 아닌 기본 통화 ?
Proximus : WTF guys, shouldnt that be TICKVALUE * TICKSIZE instead of TICKVALUE /TICKSIZE ? I think there is a big mistake there
TickValue가 $10이고 Ticksize=0.0001인 경우. 시장이 0.0020으로 움직인다면 가치는 $10/0.0001 * 0.0020=$200 / 로트당입니다. 핍당 $10 * 20핍/로트당.
TickValue가 $1이고 Ticksize=0.00001인 경우. 시장이 0.0020 움직이면 값은 $1/0.00001 * 0.0020=$200 / 로트당 여전히 있습니다. 실수는 없습니다.
좋아, 다음은 (최대) 볼륨 크기 계산 을 위한 단계 여야 합니다.
(틀린거 있으면 지적해주세요^_^)
AccountMoneyRisk = AccountMoney * 위험 %
AccountCounterQuote = 견적(AccountCurrency/CounterCurrency)
CounterCurrencyRisk = AccountMoneyRisk * AccountCounterQuote
PipValue = CounterCurrencyRisk / 손절매
LotTickValue = LotSize * TickSize
거래량 = PipValue * LotTickValue
예시:
계정통화: EUR
통화쌍: GBPUSD
기본 통화: GBP
카운터 통화: USD
AccountMoney: 5000 유로
위험: 1%
손절매: 200 핍 (상대 통화)
LotSize: 100000 (상대 통화)
틱 크기: 0.00001
AccountMoneyRisk = AccountMoney * Risk% = 5000 EUR * 1% = 50 EUR
AccountCounterQuote = Quote(AccountCurrency/CounterCurrency) = Quote(EUR/USD) = 1.5000
CounterCurrencyRisk = AccountMoneyRisk * AccountCounterQuote = 50 EUR * 1.5000 = 75 USD
PipValue = CounterCurrencyRisk / 손절매 = 75 / 200 = 0.375
LotTickValue = LotSize * TickSize = 100000 * 0.00001 = 1 USD
거래량 = PipValue * LotTickValue = 0.375 * 1 USD = 0.375
그것은 CounterCurrency가 AccountCurrency 와 동일하고 스프레드를 포함하지 않는다고 가정 하고 pip ==가 5자리 브로커 의 포인트이고 그 ticksize == 포인트라고 잘못 가정합니다.
반드시는 아닙니다. 계정 잔고 * 퍼센트 = 위험 = (OrderOpenPrice - OrderStopLoss)*DIR * OrderLots * DeltaPerlot (참고 OOP-OSL에는 SPREAD가 포함됨)
Ok 이것은 최종 버전입니다. 정확한지 확인하십시오. EUR 계정이 있기 때문에 내 상황에서 분명히 작동하지 않을 때 DeltaPerlot 항목을 주장하는 이유를 이해하지 못합니다.
이것은 내 로트 크기 조정 기능입니다.
- STOPSLIP은 현재 stoplevel+SPREAD에 X 양의 핍을 추가합니다.
- 나는 USD가 아닌 EUR 계정을 가지고 있기 때문에 TICKVALUE * TICKSIZE를 사용합니다. 따라서 pipvalue는 EUR 환율로 계산되기 때문에 5자리 중개인에서 0.00001 대신 0.000007이라는 것이 이해가 됩니다.
그래서 누군가가 그것이 올바른지 확인 하거나 그렇지 않은 경우 내 공식 을 수정하십시오. 다른 게시물에 대한 링크를 제공하지 마십시오. 내가 이해하지 못하기 때문에 내 LOT() 기능을 수정하면 행복할 것입니다. 도와주세요. !이것은 대괄호를 해결하려고 애쓰는 것만으로도 두통을 줍니다!
솔직히 말해서, 나는 당신이 여기서 달성하려는 것이 무엇인지 전혀 모릅니다.
MODE_STOPLEVEL 또는 SPREAD가 어떻게 관련되는지 알 수 없습니다. 확실히 현재 가격에서 손절매 거리를 기반으로 계산해야 합니까?
계정 통화 가 무엇이든 차이가 없어야 하며 TICKVALUE가 계정 통화로 표시되기 때문에 계산이 동일해야 합니다.
코드 줄을 2줄로 배치하면 게시물이 그렇게 넓지 않고 좌우로 스크롤하지 않고도 쉽게 읽을 수 있습니다. :)