Программирование прибыли: от азов к секретам мастерства. Читайте, спрашивайте, делитесь опытом.
Бонус за сообщение 0.5$
Ответственный Модератор - Haos
Сообщений: 32
•
1, 2, 3, 4
Задачка. Найти точку нулевого профита.
Рэндом » 06 сен 2016, 03:42
Например у нас есть 6 сел ордеров и 4 бай ордера. Задача найти цену на которой профит будет равен 0. Все позиции открыты одинаковым лотом, на разных уровнях. А так же хорошо рассмотреть вариант с разным объемом позиций.
Мозг сломал. Что-то никак не соображу.
-

Рэндом
- Специалист MQL
-
- Сообщений: 13700
- Зарегистрирован: 18 июл 2013, 08:05
- Средств на руках: 31.45

- Группа: Администраторы
- Благодарил (а): 1131 раз.
- Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.
Re: Задачка. Найти точку нулевого профита.
Haos » 06 сен 2016, 05:10
Это задача о нахождении центра масс.
В нашем случае:
Xi - значения цен,
Mi - соответствующие значения величин лотов.
-

Haos
- Специалист MQL
-
- Сообщений: 24699
- Зарегистрирован: 29 мар 2014, 16:07
- Средств на руках: 193.70

- Группа: Главные модераторы
- Благодарил (а): 3379 раз.
- Поблагодарили: 8200 раз.
Re: Задачка. Найти точку нулевого профита.
Haos » 06 сен 2016, 05:13
Более правильно в рамках вертикальной шкалы было бы написать Y вместо X, но суть это не меняет.
-

Haos
- Специалист MQL
-
- Сообщений: 24699
- Зарегистрирован: 29 мар 2014, 16:07
- Средств на руках: 193.70

- Группа: Главные модераторы
- Благодарил (а): 3379 раз.
- Поблагодарили: 8200 раз.
Re: Задачка. Найти точку нулевого профита.
Рэндом » 06 сен 2016, 05:20
А как быть если есть и бай и сел позиции?
-

Рэндом
- Специалист MQL
-
- Сообщений: 13700
- Зарегистрирован: 18 июл 2013, 08:05
- Средств на руках: 31.45

- Группа: Администраторы
- Благодарил (а): 1131 раз.
- Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.
Re: Здачка. Найти точку нулевого профита.
Рэндом » 06 сен 2016, 05:27
Пример если больше бай позиций.
- Код: выделить все
double sb=0.0;
double ss=0.0;
double pb=0;
double ps=0;
int limit=OrdersTotal();
for(int i=0;i<limit;i++)
{
rez=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY){sb=sb+OrderOpenPrice()*OrderLots();pb=pb+OrderLots();}
if(OrderType()==OP_SELL){ss=ss+OrderOpenPrice()*OrderLots();ps=ps+OrderLots();}
}
}
double sp=NormalizeDouble(ss/ps,Digits);
double bp=NormalizeDouble(sb/pb,Digits);
double prs=NormalizeDouble(bp+(bp-sp),Digits);
Надеюсь все правильно.
-

Рэндом
- Специалист MQL
-
- Сообщений: 13700
- Зарегистрирован: 18 июл 2013, 08:05
- Средств на руках: 31.45

- Группа: Администраторы
- Благодарил (а): 1131 раз.
- Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.
Re: Задачка. Найти точку нулевого профита.
Haos » 06 сен 2016, 05:37
Приведенная формула для заданного вопроса в первом посте, т.е. для наличия и бай и селл позиций. Ты подставляешь координаты всех позиций(xi) и величины соотв. им лотов (mi)!
-

Haos
- Специалист MQL
-
- Сообщений: 24699
- Зарегистрирован: 29 мар 2014, 16:07
- Средств на руках: 193.70

- Группа: Главные модераторы
- Благодарил (а): 3379 раз.
- Поблагодарили: 8200 раз.
Re: Задачка. Найти точку нулевого профита.
Haos » 06 сен 2016, 05:40
Кстати, функцию, осуществ. данный расчет, я давно выкладывал. Можно поискать.
-

Haos
- Специалист MQL
-
- Сообщений: 24699
- Зарегистрирован: 29 мар 2014, 16:07
- Средств на руках: 193.70

- Группа: Главные модераторы
- Благодарил (а): 3379 раз.
- Поблагодарили: 8200 раз.
Re: Задачка. Найти точку нулевого профита.
Рэндом » 06 сен 2016, 05:48
Я уже написал свою. Считаем среднее для бай и сел отдельно. Потом находим разность, а дальше в зависимости от перевеса прибавляем или отнимаем разность.
-

Рэндом
- Специалист MQL
-
- Сообщений: 13700
- Зарегистрирован: 18 июл 2013, 08:05
- Средств на руках: 31.45

- Группа: Администраторы
- Благодарил (а): 1131 раз.
- Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.
Re: Задачка. Найти точку нулевого профита.
Haos » 06 сен 2016, 05:50
-

Haos
- Специалист MQL
-
- Сообщений: 24699
- Зарегистрирован: 29 мар 2014, 16:07
- Средств на руках: 193.70

- Группа: Главные модераторы
- Благодарил (а): 3379 раз.
- Поблагодарили: 8200 раз.
Re: Задачка. Найти точку нулевого профита.
Haos » 06 сен 2016, 05:52
Рэндом писал(а):Я уже написал свою. Считаем среднее для бай и сел отдельно. Потом находим разность, а дальше в зависимости от перевеса прибавляем или отнимаем разность.
Ты спросил как - я ответил.
-

Haos
- Специалист MQL
-
- Сообщений: 24699
- Зарегистрирован: 29 мар 2014, 16:07
- Средств на руках: 193.70

- Группа: Главные модераторы
- Благодарил (а): 3379 раз.
- Поблагодарили: 8200 раз.
Кто сейчас на форуме?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20
Права доступа к форуму
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения