Стратегии и роботы > Как в скрипте стратегии добавить на график индикатор?
Как в скрипте стратегии добавить на график индикатор?
Подскажите, пожалуйста, как добавить на график индикатор (например, машку) с расчетом не по закрытию, а по хаям и с отрисовкой заданного цвета и типа линии? В справке "СКРИПТЫ ПОЛЬЗОВАТЕЛЬСКИХ ИНДИКАТОРОВ И СТРАТЕГИЙ", че-то не нашел!!!
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 366 раз
- Контактная информация:
Re: Как в скрипте стратегии добавить на график индикатор?
1. Создать пользовательский индикатор, рисующий MA по хаям с нужным цветом и типом линии.
примечание: Индикатор нужно делать с входящим рядом Inputs.Candle, для доступа к рядам OHLC
сам код индикатора будет предельно простым и передавать ряд Input.High в стандартный индикатор SMA.
2. Отрисовать индикатор "MY.индикатор" в стратегии через AddChartIndicator(...)
документ Терминал 4.0. Скрипты пользовательских индикаторов и стратегий.doc
Добавить на график отображение индикатора с указанными параметрами.
Особенности вызова встроенных индикаторов, где P1 и P2 – переменные, определенные в стратегии.
Пример. Рисовать пользовательский индикатор PriceChannel с параметром Period = 20
Пример. Рисовать пользовательский индикатора PriceChannel с параметром Period, который берет значение из параметра стратегии Pc
примечание: Индикатор нужно делать с входящим рядом Inputs.Candle, для доступа к рядам OHLC
сам код индикатора будет предельно простым и передавать ряд Input.High в стандартный индикатор SMA.
2. Отрисовать индикатор "MY.индикатор" в стратегии через AddChartIndicator(...)
документ Терминал 4.0. Скрипты пользовательских индикаторов и стратегий.doc
Добавить на график отображение индикатора с указанными параметрами.
Код: Выделить всё
AddChartIndicator(Name, new Dictionary <type, type>, {{NameParam, ValueParam}, …}
Особенности вызова встроенных индикаторов, где P1 и P2 – переменные, определенные в стратегии.
Код: Выделить всё
AddChartIndicator("ADX", new Dictionary <string, string> {{"Period", "P1"}} );
AddChartIndicator("ATR", new Dictionary <string, string> {{"Period", "P1"}} );
AddChartIndicator("AwesomeOscillator", new Dictionary <string, string> {{"Fast", "P1"}, {"Slow", "P2"} } );
AddChartIndicator("CCI", new Dictionary <string, string> {{"Period", "P1"}} );
AddChartIndicator("Envelopes", new Dictionary <string, double> {{"Period", 30}, {"Deviation", 1} } );
AddChartIndicator("MACD", new Dictionary <string, string> {{"PeriodFast","P1"},{"PeriodSlow", "P2"},{"PeriodSignal", "P3"}});
AddChartIndicator("MFI", new Dictionary <string, string> {{"Period", "P1"}} );
AddChartIndicator("Momentum", new Dictionary <string, string> {{"Period", "P1"}} );
AddChartIndicator("ParabolicSAR", new Dictionary <string, string> {{"Step", "P1"}, {"Maximum", "P2"} } );
AddChartIndicator("RSI", new Dictionary <string, string> {{"Period", "P1"}} );
AddChartIndicator("ROC", new Dictionary <string, string> {{"Period", "P1"}} );
AddChartIndicator("Stoch", new Dictionary <string, string> {{"PeriodK","PK"},{"PeriodD","PD"},{"PeriodSignal","Psig"}});
AddChartIndicator("BB", new Dictionary <string, string> {{"Period", "P"}, {"StandardDeviation", "Dstd"}} );
Пример. Рисовать пользовательский индикатор PriceChannel с параметром Period = 20
Код: Выделить всё
AddChartIndicator("MY.PriceChannel", new Dictionary <string, double> {{"Period", 20}} );
Пример. Рисовать пользовательский индикатора PriceChannel с параметром Period, который берет значение из параметра стратегии Pc
Код: Выделить всё
AddChartIndicator("MY.PriceChannel", new Dictionary <string, string> {{"Period", "Pc"}} );
никогда такого не было и вот опять
Re: Как в скрипте стратегии добавить на график индикатор?
evge, а через AddChartIndicator(...) нельзя задать, что надо считать по хаям, цвет и тд? Это получается под каждую стратегию в которой нестандартные настройки индикатов надо еще индивидуальные пользовательские индикаторы создавать?
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 366 раз
- Контактная информация:
Re: Как в скрипте стратегии добавить на график индикатор?
Alexey писал(а):evge, а через AddChartIndicator(...) нельзя задать, что надо считать по хаям, цвет и тд? Это получается под каждую стратегию в которой нестандартные настройки индикатов надо еще индивидуальные пользовательские индикаторы создавать?
Я просто почти не пользуюсь этой возможностью. Конечно, и я вижу, что не хватает возможности передать ряд входящий в индикатор. Цвет и стиль линии даже просто в вызове индикатора в АД4 не передать через код. Такие вот ограничения на сегодня есть.
В основной форум вопрос написать не мог, утром сегодня пробовал, но форум там ошибку выдает.
никогда такого не было и вот опять
Re: Как в скрипте стратегии добавить на график индикатор?
А можно до кучи поинтересоваться как рисовать уровни в виде горизонтальных линий, заданных например вручную как параметр.
Скажем ввел уровнии 1,2,3,4,5.... запустил робота и на графике текущем отображаются линии?
Спасибо.
Скажем ввел уровнии 1,2,3,4,5.... запустил робота и на графике текущем отображаются линии?
Спасибо.
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 366 раз
- Контактная информация:
Re: Как в скрипте стратегии добавить на график индикатор?
1. Создать индикатор с отрисовкой уровней из параметров.
2. Вызывать его из стратегии.
или нужен код индикатора?
2. Вызывать его из стратегии.
или нужен код индикатора?
никогда такого не было и вот опять
Re: Как в скрипте стратегии добавить на график индикатор?
evge писал(а):1. Создать индикатор с отрисовкой уровней из параметров.
2. Вызывать его из стратегии.
или нужен код индикатора?
Да нет, с кодом думаю справлюсь.
Просто хотел попробовать создать робота который будет торговать уровни. Уровни эти будут задаваться не индикатором, а руками в виде параметра, т.е все прописываются перед запуском и являются постоянными величинами. Вот именно реализация их отображения и интересует.
Напимер задал я для нефти параметр 1,2,3 равные 46, 47 , 48 и у меня при запуке линии эти отрисовались на графике.
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 366 раз
- Контактная информация:
Re: Как в скрипте стратегии добавить на график индикатор?
Rabl писал(а):Напимер задал я для нефти параметр 1,2,3 равные 46, 47 , 48 и у меня при запуке линии эти отрисовались на графике.
Ну тогда передать их (параметры) в AddChartIndicator(...) пользовательского индикатора, в котором уровни будут рисоваться по заданным параметрам.
что-то типа этого:
Код: Выделить всё
AddChartIndicator("MY.ShowLevels", new Dictionary <string, string> {{"LVL1", "P1"}, {"LVL2", "P2"}, {"LVL3", "P3"}} );
никогда такого не было и вот опять
Re: Как в скрипте стратегии добавить на график индикатор?
Не получается что-то. Обычные индикаторы отображаются, а уровни эти нет
Вот так делаю
Код: Выделить всё
function Initialize()
{
StrategyName = "01. Levels";
AddParameter("LV1", 1, "LV1", 1); // Уровень 1
AddParameter("LV2", 1, "LV2", 1); // Уровень 2
AddParameter("LV3", 1, "LV3", 1); // Уровень 3
AddParameter("LV4", 1, "LV4", 1); // Уровень 4
AddParameter("LV5", 1, "LV5", 1); // Уровень 5
AddParameter("LV6", 1, "LV6", 1); // Уровень 6
AddParameter("LV7", 1, "LV7", 1); // Уровень 7
AddParameter("LV8", 1, "LV8", 1); // Уровень 8
AddParameter("Psma", 163, "Period SMA", 1);
AddParameter("P6", 0.2, "LossLes percent", 1);
AddParameter("P7", 10, "Close percent", 1);
AddParameter("MultB", 4, "MultyBody", 1); // Множитель для размера тела свечи
AddParameter("DayCount", 4, "DayCount", 0); // Ограничение количества сделок за день
AddChartIndicator("SMA", new Dictionary <string, string> {{"Period", "Psma"}} );
AddChartIndicator("MY.ShowLevels", new Dictionary <string, string> {{"LVL1", "LV1"}, {"LVL2", "LV1"}, {"LVL3", "LV1"}} );
AddInput("Input1", Inputs.Candle, 5, true, "");
Вот так делаю
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 366 раз
- Контактная информация:
Re: Как в скрипте стратегии добавить на график индикатор?
Rabl писал(а):Не получается что-то.
а сам индикатор создали? ShowLevels?
если, да, то отображается ли он если его просто вставить на график.
никогда такого не было и вот опять
Вернуться в «Стратегии и роботы»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей