обращение к свойству candle point индикаторов sma, vwma

обращение к свойству candle point индикаторов sma, vwma

  1. Konstb

    Регистрация:
    18.03.17
    Сообщения:
    51
    Был на сайте:
    06.12.23

    Алексей добрый день,

    подскажите как в скриптовом роботе создать параметр , обращающийся к свойству candle point( close, open и тд) в  индикаторах sma или vwma candle point( close, open и тд).

    заранее спасибо.

    Konstb
    01.09.2020 12:15
    #1
  2. Алексей Ван Команда форума

    Регистрация:
    02.02.13
    Сообщения:
    1172
    Был на сайте:
    23.04.24
    Цитата: Konstb

    Алексей добрый день,

    подскажите как в скриптовом роботе создать параметр , обращающийся к свойству candle point( close, open и тд) в  индикаторах sma или vwma candle point( close, open и тд).

    заранее спасибо.

    Подвязать такое не получится на прямую.

    Нужно создать параметр для робота, типа StrategyParametrString. И в него положить эти кэндлПойнт.

    StrategyParametrString Point = CreateParameter("CandlePoint", "Close", new[] { Indicators.Entity.CandlePointsArray});

    И потом уже делать с ней что Вы хотите.

    Алексей Ван
    01.09.2020 14:39
    #2
  3. Konstb

    Регистрация:
    18.03.17
    Сообщения:
    51
    Был на сайте:
    06.12.23

    Алексей спасибо за направление, можно выложить пример кода.

    я сделал так

     

    создал переменную

    public StrategyParameterString Point;

    создал параметр

    Point = CreateParameter("CandlePoint", "Close", new[] { Indicators.Entity.CandlePointsArray});

    и выходит ошибка- во вложении.

     

    Если создаю по аналогии с другими параметрами:

    Point = CreateParameter("CandlePoint", "Close", new string[] { "Open","High","Low","Close","Median","Typical" }); 

    Ошибки нет , но непонятно как передать этот параметр  в  индикатор VWMA. 

                 _vwma = IndicatorsFactory.CreateIndicatorByName("VWMA", name + "VWMA", false);

                _vwma.ParametersDigit[0].Value = VwMALength.ValueInt;

                _vwma = (Aindicator)_tab1.CreateCandleIndicator(_vwma, "Prime");

                _vwma.Save();

     

    Какую использовать инструкцию?

    Заранее спасибо

     

    Скачать oshibka-candle-point.png 43 Кб
    Konstb
    06.09.2020 23:38
    #3
  4. Алексей Ван Команда форума

    Регистрация:
    02.02.13
    Сообщения:
    1172
    Был на сайте:
    23.04.24
    Цитата: Konstb

     

    Point = CreateParameter("CandlePoint", "Close", new string[] { "Open","High","Low","Close","Median","Typical" }); 

    Ошибки нет , но непонятно как передать этот параметр  в  индикатор VWMA. 

                 _vwma = IndicatorsFactory.CreateIndicatorByName("VWMA", name + "VWMA", false);

                _vwma.ParametersDigit[0].Value = VwMALength.ValueInt;

                _vwma = (Aindicator)_tab1.CreateCandleIndicator(_vwma, "Prime");

                _vwma.Save();

     

    Какую использовать инструкцию?

    Заранее спасибо

     

    Использовать надо вторую конструкцию. В индикаторе надо использовать не ParametersDigit а просто Parameters. Приводить нужный к типу StringParameter и использовать.

    ((IndicatorParameterString)_vwma.Parameters[1]).ValueString = Point.ValueString;

     

     

    Алексей Ван
    07.09.2020 08:31
    #4
  5. Konstb

    Регистрация:
    18.03.17
    Сообщения:
    51
    Был на сайте:
    06.12.23

    Алексей,

    огромное спасибо. Все получилось

    Подскажи пож-та -где можно находить правила написаний подобных инструкций как эта -((IndicatorParameterString)_vwma.Parameters[1]).ValueString = Point.ValueString; ? Куда смотреть при таких вопросах? 

    Я бы не смог без тебя составить такую инструкцию. Это надо знать c# глубоко или это  инструкция osengine и нужно  уточнять у тебя?

    Еще раз спасибо.

             

    Konstb
    07.09.2020 09:39
    #5
  6. Алексей Ван Команда форума

    Регистрация:
    02.02.13
    Сообщения:
    1172
    Был на сайте:
    23.04.24
    Цитата: Konstb

    Алексей,

    огромное спасибо. Все получилось

    Подскажи пож-та -где можно находить правила написаний подобных инструкций как эта -((IndicatorParameterString)_vwma.Parameters[1]).ValueString = Point.ValueString; ? Куда смотреть при таких вопросах? 

    Я бы не смог без тебя составить такую инструкцию. Это надо знать c# глубоко или это  инструкция osengine и нужно  уточнять у тебя?

    Еще раз спасибо.

             

    Кроме форума у нас ничего больше нет. Здесь и можно. Каждый месяц новые вопросы здесь разбираем. 

    Всё на свете не описать.

    Алексей Ван
    07.09.2020 11:36
    #6