Нужна формула размера LOT для управления капиталом, основанная на SL и риске счета! - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Если я правильно понял вопрос, это поможет вам.
double free = AccountFreeMargin();
double potencial_loss,
double sum_potencial_loss = 0
double pips, lot_size;
double percent_depo = 5;
potencial_loss = (OrderLots() * (OrderOpenPrice() - OrderStopLoss()))*100000;
sum_potencial_loss = long_sum_potencial_loss + long_potencial_loss;
lot_size = ((((free-long_sum_potencial_loss) * percent_depo)/100.0)/pips)/100000 ;
Спасибо, но у меня уже есть формула, мне просто нужно исправить значение пункта, потому что у меня EUR счет, а не USD. Код такой:
И мне нужно заменить Point на TICKVALUE* TICKSIZE, так что это будет выглядеть следующим образом
Если кто-то может подтвердить, что эта идея верна, то проблема решена, я думаю. Так что, пожалуйста, помогите мне быстро, и с Рождеством после!
Я удалил ваш код. . . .
Спасибо за помощь.
Спасибо, но у меня уже есть формула, мне просто нужно исправить значение пункта, потому что у меня EUR счет, а не USD. Код такой:
И мне нужно заменить Point на TICKVALUE* TICKSIZE, так что это будет выглядеть следующим образом.
Если кто-то может подтвердить, что эта идея верна, тогда проблема решена, я думаю. Так что, пожалуйста, помогите мне быстрее, и с Рождеством после!
Я не могу подтвердить это, но я предлагаю отладить это с помощью Alert(); как это?
или
И вы подтвердите это сами.
Спасибо за помощь.
Я не могу подтвердить это, но я предлагаю отладить его с помощью Alert(); как это?
или
И вы подтвердите это сами.
Нет, я имел в виду, правильно ли использовать TICKVALUE* TICKSIZE или TICKVALUE/ TICKSIZE, как предложил WHRoeder, потому что * кажется более логичным. Так какой из них правильный, учитывая, что мой счет в 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 * Risk%
AccountCounterQuote = Quote(AccountCurrency/CounterCurrency)
CounterCurrencyRisk = AccountMoneyRisk * AccountCounterQuote
PipValue = CounterCurrencyRisk / StopLoss
LotTickValue = LotSize * TickSize
Объем = PipValue * LotTickValue
Пример:
Валюта счета: EUR
Валютная пара: GBPUSD
Базовая валюта: GBP
Контрвалюта: USD
СчетДеньги: 5000 EUR
Риск: 1%
StopLoss: 200 пунктов (Контрвалюта)
Размер лота: 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 / StopLoss = 75 / 200 = 0,375
LotTickValue = LotSize * TickSize = 100000 * 0.00001 = 1 USD
Объем = PipValue * LotTickValue = 0.375 * 1 USD = 0.375
Это предполагает, что CounterCurrency такая же, как AccountCurrency, и не включает спред, и ошибочно предполагает, что пункт == пункту на пятизначном брокере и что ticksize == пункту.
Не обязательно. Баланс счета * процент = RISK = (OrderOpenPrice - OrderStopLoss)*DIR * OrderLots * DeltaPerlot (Примечание OOP-OSL включает SPREAD).
Ок, это окончательная версия, пожалуйста, подтвердите, если это правильно, я не понимаю, почему вы настаиваете на вашем DeltaPerlot материал, когда он явно не работает в моей ситуации, потому что у меня есть EUR счет.
Это моя функция определения размера лота :
- STOPSLIP добавляет X количество пунктов к текущему уровню + SPREAD.
- Я использую TICKVALUE * TICKSIZE, потому что у меня счет в EUR, а не в USD, поэтому имеет смысл, чтобы значение пункта было 0.000007, а не 0.00001 у моего пятизначного брокера, потому что оно учитывается в курсе EUR.
Так что может кто-нибудь подтвердить, правильно ли это, или если нет, то пожалуйста, исправьте мою формулу, не давайте мне ссылки на другие сообщения, потому что я не понимаю их, просто исправьте мою функцию LOT() и я буду счастлив, пожалуйста, помогите!У меня голова болит от одной только попытки разобраться со скобками!
Честно говоря, я совершенно не понимаю, чего вы пытаетесь добиться.
Я не вижу, как MODE_STOPLEVEL или SPREAD имеют отношение к делу, конечно, вы должны основывать свои расчеты на расстоянии стоп-лосса от текущей цены?
Не должно быть никакой разницы, какая валюта счета, расчеты должны быть одинаковыми, потому что TICKVALUE в валюте счета.
Пожалуйста, обратите внимание, что благодаря размещению вашей строки кода в 2 строки, пост не такой широкий и его легче читать без прокрутки вправо-влево :)