Общие вопросы по разработке > Стоимость шага цены.
Стоимость шага цены.
Не смог найти в документации как получить стоимость шага цены инструмента (например фьючерса RTS). Реализовано GetPriceStep() - функция возвращает шаг цены по инструменту, используемому в стратегии (например для фьючерса РТС - это 10 пунктов). Но нужна еще стоимость этого шага - сколько эти 10 пунктов стоят в рублях. Эти данные биржа транслирует. И это нужно для всех ЭдолларовыхЭ фьючерсов. Нефть, золото и т.д.
Кто нибудь сталкивался?
Нужно мне это для реализации управления капиталом по методу "максимальный риск на сделку". Расчет объема в сделке зависит от стоп-лоса и размера этого самого процента риска от общего капитала. Так вот чтобы пересчитать пункты инструмента в рубли баланса счета и риска в % от этого счета. Нужна стоимость пункта. Если она равна 1 для рублевых инструментов, то проблем нет. Но для долларовых эта цифра плавает.
Формула для лонга -
кол-во контрактов = баланс счета * % риска / ((Цена входа - стоп лосс)/GetPriceStep() * стоимость шага цены)
Кто нибудь сталкивался?
Нужно мне это для реализации управления капиталом по методу "максимальный риск на сделку". Расчет объема в сделке зависит от стоп-лоса и размера этого самого процента риска от общего капитала. Так вот чтобы пересчитать пункты инструмента в рубли баланса счета и риска в % от этого счета. Нужна стоимость пункта. Если она равна 1 для рублевых инструментов, то проблем нет. Но для долларовых эта цифра плавает.
Формула для лонга -
кол-во контрактов = баланс счета * % риска / ((Цена входа - стоп лосс)/GetPriceStep() * стоимость шага цены)
- evge
- Администратор
- Сообщения: 1813
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 369 раз
- Контактная информация:
Re: Стоимость шага цены.
Не встречал в документации тоже.
Вообще всё считает в пунктах для долларовых инструментов.
Даже в тестировании стратегии в рублях информацию не получить по долларовым инструментам.
Может брать (парсить) с сайта биржи?
Немного эротики на эту тему:
Конечно же такое нельзя запускать постоянно и тем более на каждом баре или хуже того на каждом тике.
Можно периодически, например, раз в день считывать и сохранять в стратегии в глоб. переменную.
Можно использовать как вариант при безвыходной ситуации в специфическом коде
Вообще всё считает в пунктах для долларовых инструментов.
Даже в тестировании стратегии в рублях информацию не получить по долларовым инструментам.
Может брать (парсить) с сайта биржи?

Немного эротики на эту тему:
Код: Выделить всё
function Initialize()
{
IndicatorName = "PriceStep";
PriceStudy = false;
AddInput("Input", Inputs.Price);
AddSeries("A", DrawAs.Line, Color.Red);
}
function Evaluate()
{
if (CurrentIndex == MaxIndex)
{
//URL инструмента срочного рынка с сайта moex.com
string url = "https://www.moex.com/ru/contract.aspx?code=RTS-6.18";
System.Net.WebClient wc = new System.Net.WebClient();
wc.Encoding = System.Text.Encoding.UTF8;
string html = wc.DownloadString(url);
var PriceStep = System.Text.RegularExpressions.Regex.Match(html, "Стоимость шага цены\\</td\\>\\<td\\>\\D\\D(.*?)\\s").Groups[1].ToString();
ShowMessage(PriceStep);
}
}
Конечно же такое нельзя запускать постоянно и тем более на каждом баре или хуже того на каждом тике.
Можно периодически, например, раз в день считывать и сохранять в стратегии в глоб. переменную.
Можно использовать как вариант при безвыходной ситуации в специфическом коде

никогда такого не было и вот опять
- evge
- Администратор
- Сообщения: 1813
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 369 раз
- Контактная информация:
Re: Стоимость шага цены.
лучше добавить, эротику всегда успеем придумать 

никогда такого не было и вот опять
-
- Сообщения: 35
- Зарегистрирован: 16 май 2018, 19:52
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: Стоимость шага цены.
Дмитрий, а все-таки, собираетесь добавлять этот функционал в терминал? Или нет смысла ждать и тоже вставлять в свой код эту эротику?
-
- Сообщения: 35
- Зарегистрирован: 16 май 2018, 19:52
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: Стоимость шага цены.
adar писал(а):Формула для лонга -
кол-во контрактов = баланс счета * % риска / ((Цена входа - стоп лосс)/GetPriceStep() * стоимость шага цены)
Подскажите, пожалуйста, как прочитать баланс счета на данный момент. И еще нюанс, если сейчас открыта позиция, то баланс будет считаться с учетом текущей стоимости активов?
-
- Сообщения: 35
- Зарегистрирован: 16 май 2018, 19:52
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
- evge
- Администратор
- Сообщения: 1813
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 369 раз
- Контактная информация:
Re: Стоимость шага цены.
Не менее эротично 

Код: Выделить всё
function Initialize()
{
IndicatorName = "GO";
PriceStudy = false;
AddInput("Input", Inputs.Price);
AddSeries("A", DrawAs.Line, Color.Red);
}
function Evaluate()
{
if (CurrentIndex == MaxIndex)
{
//URL инструмента срочного рынка с сайта moex.com
string url = "https://www.moex.com/ru/contract.aspx?code=RTS-9.18";
System.Net.WebClient wc = new System.Net.WebClient();
wc.Encoding = System.Text.Encoding.UTF8;
string html = wc.DownloadString(url);
var PriceStep = System.Text.RegularExpressions.Regex.Match(html, "Гарантийное обеспечение \\(ГО, руб.\\)\\</td\\>\\<td\\>\\D\\D(.*?)\\s").Groups[1].ToString();
ShowMessage(PriceStep);
}
}
никогда такого не было и вот опять
-
- Сообщения: 35
- Зарегистрирован: 16 май 2018, 19:52
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: Стоимость шага цены.
MonteCristo писал(а):adar писал(а):Формула для лонга -
кол-во контрактов = баланс счета * % риска / ((Цена входа - стоп лосс)/GetPriceStep() * стоимость шага цены)
Подскажите, пожалуйста, как прочитать баланс счета на данный момент. И еще нюанс, если сейчас открыта позиция, то баланс будет считаться с учетом текущей стоимости активов?
А баланс счета как свой узнать?
Вернуться в «Общие вопросы по разработке»
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot] и 246 гостей