Торговля Портфелем валютных пар

 

Подобные темы уже не первый раз возникали на форуме и после бурного обсуждения затихали. Надеюсь на развитие ее в будущем.

Основное правило: одновременное открытие/закрытие всех позиций. Допускается добавление позиций по отдельным торговым инструментам. Закрытие всех позиций при достижении заданного уровня общей прибыли.

Когда торгуем на одним инструментом, то имеем всего 2 варианта: прибыльный и проигрышный. Вероятность 50/50. Наличие спреда увеличивает вероятность проигрышного варианта.

Стоит добавить один-два инструмента, то, по-прежнему, имеем 2 варианта: самый прибыльный и самый проигрышный. Вероятность выбора одного из этих вариантов уменьшается.

Вероятность = 1 / (2^N) * 100%,

где N - количество торговых инструментов в портфеле.

Портфель из торговых инструментов снижает вероятность выбора наихудшего/наилучшего варианта - это, когда все позиции через некоторое время оказались убыточными/прибыльными. Для 10 валютных пар существует 1024 варианта. На определенном временном промежутке истории котировок каждый вариант имеет тренд и коррекцию. Если нарисовать график, где по горизонтали - номера вариантов, по вертикали - отсортированные по убыванию конечные значения тренда, то получим следующую картинку.




50% или 512 вариантов - прибыльные и 50 % или 512 вариантов - убыточные. Наличие спреда увеличивает количество убыточных вариантов. Между вариантами с максимальным и минимальным результатами есть варианты, которые имеют результат близкий к нулю. Я нарисовал график в виде наклонной линии. В действительности, это будет кривая, которая расположена симметрично относительно горизонтальной оси. Отсюда можно предположить, что более 50 % вариантов имеют балансовую кривую, которая изменяется в ограниченном диапазоне вокруг горизонтальной линии.

Допустим, на определенном временном промежутке истории котировок выбрали вариант с максимальным результатом. Этот вариант имеет максимальное значение коррекции, которая показывает диапазон изменения балансовой кривой. В будущем, выбранный вариант, по-прежнему, может показывать максимальный результат, но наиболее вероятно, что он переместится в группу вариантов с ограниченным диапазоном вокруг горизонтальной линии.

 

Индикатор Portfolio Currency v2

Принцип работы.
Задаем общую точку отсчета для всех инструментов - цена открытия бара, который отмечен крайней левой вертикальной линией. Правее этой линии рисуется кривая, которая показывает сумму отклонений каждого инструмента от точки отсчета в пунктах.

Т.к. стоимость пункта у торговых инструментов разная, то пункт каждой валютной пары умножается на соотношение стоимость пункта и средняя стоимость пункта.

Параметры индикатора:
extern int Complekt = 1;      // На одном графике можно загрузить несколько индикаторов с разным значением параметра.
extern int Period.Opt = 72;   // Временной интервал для поиска оптимального направления по каждому инструменту.
                              // Результат поиска подставляется для расчета и 
                              // записывается в файл с именем вида "123456 Portfolio(0).csv", 
                              // где 123456 - номер счета, число в скобках - значение Complekt
extern string File = "para.csv";// Имя файла, в каждой отдельной строчке которого записан инструмент и 
                                // направление торговли. Например, EURUSD;0, где 0 - покупка, 1 - продажа. 
extern bool Info=true;          // Вывод информации на экран от последнего загруженного индикатора.
extern bool Mid.Points=false;   // Вкл/Выкл усреденное значение стоимости пункта
extern color  MarkColor = Red;  // Цвет вертикальных линий


Индикатор работает в 2-х режимах:
- автоматический выбор оптимального направления торговли для каждого инструмента (параметр Period.Opt больше 0);
- ручной выбор точки отсчета и направления торговли для каждого инструмента (параметр Period.Opt = 0).

Первый режим полезен для выбора направления торговли по каждому инструменту. Результат записывается в файл, который в последствии можно использовать для ручного режима.

Второй режим нужен для ведения позиций, т.е. выставляется время открытия позиций и их направление.
Файлы:
 
Было бы конечно интересно на код взглянуть
 
А где покупать и где продавать?
 
ZZZEROXXX:
А где покупать и где продавать?

Ты не крути, ты пальцем покажи! (с)

 
ZZZEROXXX:
А где покупать и где продавать?

Скачайте индикатор Portfolio Currency v2.

Для правильной его работы требуется подготовить дополнительный файл, в котором указывается название инструмента и направление торговли (0 - покупка, 1 - продажа).

Например,

EURUSD;1
EURGBP;0
EURCHF;1
EURJPY;1
GBPUSD;1
USDCHF;0
USDJPY;0
AUDUSD;1
USDCAD;0
NZDUSD;0

Количество торговых инструментов не ограничено.

Выберите ТФ. В расчете используются цены с фиксированным временем открытия/закрытия свечи. Чем меньше ТФ, тем точнее расчет. При этом необходимо убедиться, что история котировок для выбранного ТФ загружена для всех инструментов, которые входят в портфель (см. Архив котировок, клавиша "F2").

Параметр Period.Opt показывает временной интервал, на котором индикатор определяет направление торговли для каждого инструмента портфеля. Направление торговли находим, как положительную разницу между ценой закрытия последней свечи (правая красная вертикальная линия) и ценой открытия стартовой свечи (левая красная вертикальная линия).

После того как определили направление торговли - открываем позиции.

Когда параметр Period.Opt равен 0, вертикальные линии можно перемещать. Левую выставить на свечу открытия позиций, а правую - сдвинуть в будущее. Индикатор покажет суммарное количество пунктов, которые прошел весь портфель торговых инструментов с момента старта.

 
kharko:

Скачайте индикатор Portfolio Currency v2.

Для правильной его работы требуется подготовить дополнительный файл, в котором указывается название инструмента и направление торговли (0 - покупка, 1 - продажа).

Например,

EURUSD;1
EURGBP;0
EURCHF;1
EURJPY;1
GBPUSD;1
USDCHF;0
USDJPY;0
AUDUSD;1
USDCAD;0
NZDUSD;0

Количество торговых инструментов не ограничено.

Выберите ТФ. В расчете используются цены с фиксированным временем открытия/закрытия свечи. Чем меньше ТФ, тем точнее расчет. При этом необходимо убедиться, что история котировок для выбранного ТФ загружена для всех инструментов, которые входят в портфель (см. Архив котировок, клавиша "F2").

Параметр Period.Opt показывает временной интервал, на котором индикатор определяет направление торговли для каждого инструмента портфеля. Направление торговли находим, как положительную разницу между ценой закрытия последней свечи (правая красная вертикальная линия) и ценой открытия стартовой свечи (левая красная вертикальная линия).

После того как определили направление торговли - открываем позиции.

Когда параметр Period.Opt равен 0, вертикальные линии можно перемещать. Левую выставить на свечу открытия позиций, а правую - сдвинуть в будущее. Индикатор покажет суммарное количество пунктов, которые прошел весь портфель торговых инструментов с момента старта.



Надо было бы пример файлика в архив тоже положить, а лучше что бы при отсутствии создавался дефолтный, который можно потом отредактировать
 

Картинки для наглядности еще не хватает

На скриншоте два индикатора.

 
Vinin:

Надо было бы пример файлика в архив тоже положить, а лучше что бы при отсутствии создавался дефолтный, который можно потом отредактировать

В архиве лежит примерный файл "123456 Portfolio(1).csv".

Дефолтный файл создать не получится, т.к. его основная роль в определении торговых инструментов портфеля.

 
kharko:

Средняя стоимость пункта это сумма всех стоимостей пункта деленная на кол-во инструментов.

Я правильно понял ?

 
Я чего-то не понял или Индикатор виртуальной эквити Хирурга давно уже делает тоже самое?
Причина обращения: