Стратегии и роботы > Как в скрипте стратегии добавить на график индикатор?
Как в скрипте стратегии добавить на график индикатор?
Подскажите, пожалуйста, как добавить на график индикатор (например, машку) с расчетом не по закрытию, а по хаям и с отрисовкой заданного цвета и типа линии? В справке "СКРИПТЫ ПОЛЬЗОВАТЕЛЬСКИХ ИНДИКАТОРОВ И СТРАТЕГИЙ", че-то не нашел!!!
			
									
						- evge
- Администратор
- Сообщения: 1817
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 375 раз
- Контактная информация:
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
- Администратор
- Сообщения: 1817
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 375 раз
- Контактная информация:
Re: Как в скрипте стратегии добавить на график индикатор?
Alexey писал(а):evge, а через AddChartIndicator(...) нельзя задать, что надо считать по хаям, цвет и тд? Это получается под каждую стратегию в которой нестандартные настройки индикатов надо еще индивидуальные пользовательские индикаторы создавать?
Я просто почти не пользуюсь этой возможностью. Конечно, и я вижу, что не хватает возможности передать ряд входящий в индикатор. Цвет и стиль линии даже просто в вызове индикатора в АД4 не передать через код. Такие вот ограничения на сегодня есть.
В основной форум вопрос написать не мог, утром сегодня пробовал, но форум там ошибку выдает.
никогда такого не было и вот опять
						Re: Как в скрипте стратегии добавить на график индикатор?
А можно до кучи поинтересоваться как рисовать уровни в виде горизонтальных линий, заданных например вручную как параметр.
Скажем ввел уровнии 1,2,3,4,5.... запустил робота и на графике текущем отображаются линии?
Спасибо.
			
									
						Скажем ввел уровнии 1,2,3,4,5.... запустил робота и на графике текущем отображаются линии?
Спасибо.
- evge
- Администратор
- Сообщения: 1817
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 375 раз
- Контактная информация:
Re: Как в скрипте стратегии добавить на график индикатор?
1. Создать индикатор с отрисовкой уровней из параметров. 
2. Вызывать его из стратегии.
или нужен код индикатора?
			
									
						2. Вызывать его из стратегии.
или нужен код индикатора?
никогда такого не было и вот опять
						Re: Как в скрипте стратегии добавить на график индикатор?
evge писал(а):1. Создать индикатор с отрисовкой уровней из параметров.
2. Вызывать его из стратегии.
или нужен код индикатора?
Да нет, с кодом думаю справлюсь.
Просто хотел попробовать создать робота который будет торговать уровни. Уровни эти будут задаваться не индикатором, а руками в виде параметра, т.е все прописываются перед запуском и являются постоянными величинами. Вот именно реализация их отображения и интересует.
Напимер задал я для нефти параметр 1,2,3 равные 46, 47 , 48 и у меня при запуке линии эти отрисовались на графике.
- evge
- Администратор
- Сообщения: 1817
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 375 раз
- Контактная информация:
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
- Администратор
- Сообщения: 1817
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 375 раз
- Контактная информация:
Re: Как в скрипте стратегии добавить на график индикатор?
Rabl писал(а):Не получается что-то.
а сам индикатор создали? ShowLevels?
если, да, то отображается ли он если его просто вставить на график.
никогда такого не было и вот опять
						Вернуться в «Стратегии и роботы»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 16 гостей
