синтетический инструмент, как создать? - страница 3

 

Коэф-ты подбираются с учетом параметров спецификации. Рзмерность, стоимость тика и т.п.

Скачайте индюк и поставьте. Там бледным шрифтом отображена формула.

При EquityScale=true вам надо самому задать названия инструментов и размеры их позиций. При этом шкала индюка будет - в долларах.

В коде исходника есть все необходимые пояснения.

// Пересчет изменения цены в изменение прибыли определяется следующим коэффициентом,
  // который впоследствии нужно будет умножить на объем сделки, выраженный в лотах
  if(EquityScale) {
    Symbol1.K = MarketInfo(Symbol1.Name, MODE_TICKVALUE)/MarketInfo(Symbol1.Name, MODE_TICKSIZE);
    Symbol2.K = MarketInfo(Symbol2.Name, MODE_TICKVALUE)/MarketInfo(Symbol2.Name, MODE_TICKSIZE);
    Symbol3.K = MarketInfo(Symbol3.Name, MODE_TICKVALUE)/MarketInfo(Symbol3.Name, MODE_TICKSIZE);
  }
 
vgeny:

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


Это вопрос не ко мне. Есть тут чел, кот. написал для этого спец. набор индюков - https://www.mql5.com/ru/code

а в моем варианте - подбор параметров канала размерами поз. - я примерно описал в адресе:

Настройка индикатора тройного спреда по размерам позиций
http://www.procapital.ru/showthread.php?t=28081&page=26 посты 375, 380, 381

http://www.procapital.ru/showpost.php?p=854441&postcount=606

 
откуда качать ...? в названии вижу только Spread как он полностью называется??
 
==================
Файлы:
 
ушел вникать, спасибо, огромное
 
vgeny:

извини, но твое образование на порядок выше моего(особенно что касается терминов) можно на примере??? берем 3 пары и ....?

Образование как у большинства от женской писюли до космоса, все и не о чем.

Берем не прямой ценовой ряд, а ценовой ряд скорректированный на стоимость пункта в валюте депозита имхо так правильнее, потому как стоимость пункта например EURUSD USDCHF разная а нам нужен одинаковый знаменатель. Далее нам нужен синтетический ряд который считается по формуле

Sintetik[i]= Sum( k1*Val1(i) +k2*Val2(i) +...+kn*Valn(i)) где k1...kn коэффициент участия валюты в синтетике, Val1...Valn приращение цены выраженное в валюте депозита. Задача подобрать такие коэффициенты k чтобы Sintetik удовлетворял какому то условию на участке подбора коэффициентов. Правда никто не гарантирует что подобранные коэффициенты будут актуальны вне подобранного участка. Далее вы не написали какую задачу решаете и каким условиям должны удовлетворять ваши синтетики.

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

 
ivandurak:

нужен синтетический ряд который считается по формуле

Sintetik[i]= Sum( k1*Val1(i) +k2*Val2(i) +...+kn*Valn(i)) где k1...kn коэффициент участия валюты в синтетике, Val1...Valn приращение цены выраженное в валюте депозита. Задача подобрать такие коэффициенты k чтобы Sintetik удовлетворял какому то условию на участке подбора коэффициентов. Правда никто не гарантирует что подобранные коэффициенты будут актуальны вне подобранного участка. Далее вы не написали какую задачу решаете и каким условиям должны удовлетворять ваши синтетики.

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

Мы с вами уже обсуждали этот вопрос.

Позволю себе выразить свое удивление, что Вы владеете генетическим алгоритмом (потратили время на непростую идею ведущую на рынкете в никуда) и за прошедшее время не потратили время на освоение регрессионного анализа.

Приведу расчет еще раз. Для Н1 на 1036 свечах. Берем пары: EURUSD, GBPUSD, USDCAD, USDCHF, USDJPY. Делаем синтетик для EURUSD на основе четырех других. Берем обратные величины для CAD, CHF, JPY. Записываем формулу (регрессию)

synt<-lm(eur~gbp+cad+CHF+JPY+1)

Эта формула означает, что методом наименьших квадратов будут подобраны коэф в формуле. Результат выглядит следующим образом:

Coefficients:

.................. Estimate ..Std. Error ..t value ...Pr(>|t|)

(Intercept) ....0.25052 0.03850 6.507 ......1.19e-10 *** - это константа (смещение)

gbp... 0.02291 0.01466 1.563 .....0.118 - этому коэф доверять нельзя

cad .............0.03557 0.03591 0.990 .....0.322 - этому коэф доверять нельзя

CHF ............1.02211 0.02066 49.469 .....< 2e-16 ***

JPY ............-10.11522 1.19630 -8.455 ....< 2e-16 ***

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


Residual standard error: 0.005218 on 1033 degrees of freedom

Multiple R-squared: 0.7387, Adjusted R-squared: 0.7377 - эти цифры показывают насколько синтетика объясняет котир EUR - на 73%

F-statistic: 730.2 on 4 and 1033 DF, p-value: < 2.2e-16

Использовать этот синтетик нельзя из-за коэф. Если удастся решить проблему с коэф, то существует окончательный критерий для оценки качества - стационарность остатка.

 
faa1947:

Мы с вами уже обсуждали этот вопрос.

Позволю себе выразить свое удивление, что Вы владеете генетическим алгоритмом (потратили время на непростую идею ведущую на рынкете в никуда) и за прошедшее время не потратили время на освоение регрессионного анализа.

Не серчайте на меня. Мой ник многое обьясняет. Ну не доходит до меня регресионный анализ. Я вообще интенсивно притормаживаю когда математика выше школьного курса за пятый класс. А прошедшее время потратил не зря, оттачивал технику перемешивая бетона ручной лопатой.
 
Алексей, все в своем амплуа?
 
ivandurak:

Образование как у большинства от женской писюли до космоса, все и не о чем.

Берем не прямой ценовой ряд, а ценовой ряд скорректированный на стоимость пункта в валюте депозита имхо так правильнее, потому как стоимость пункта например EURUSD USDCHF разная а нам нужен одинаковый знаменатель. Далее нам нужен синтетический ряд который считается по формуле

Sintetik[i]= Sum( k1*Val1(i) +k2*Val2(i) +...+kn*Valn(i)) где k1...kn коэффициент участия валюты в синтетике, Val1...Valn приращение цены выраженное в валюте депозита. Задача подобрать такие коэффициенты k чтобы Sintetik удовлетворял какому то условию на участке подбора коэффициентов. Правда никто не гарантирует что подобранные коэффициенты будут актуальны вне подобранного участка. Далее вы не написали какую задачу решаете и каким условиям должны удовлетворять ваши синтетики.

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


вы прям в точку попали, то что я искал, условие для синтетики - одинаковые скорости движения а дальше я фиксирую отклонения от нулевой точки, как подбирать коэффициенты для такова ? (получить коэффициенты при которых синтеника большую часть времени будет крутиться около нуля)
Причина обращения: