Форум трейдеров » Торговые роботы, советники, индикаторы » Вопросы программирования
+ Подписаться
Страница 71 из 87 ПерваяПервая ... 2161697071727381 ... ПоследняяПоследняя
  1. 6,556
    Комментарии
    18
    Темы
    6883
    Репутация Pro
    Аватар для greych  
    Старожил

    7 Медалей
    Цитата Сообщение от Hunter01 Посмотреть сообщение
    Помогите!
    может быть так...
    Код:
    ObjectSetText("1", "риск=("+DoubleToStr(delta1, 1)+")$", 12, "Comic Sans", Red);
  2. 1,279
    Комментарии
    15
    Темы
    1292
    Репутация Pro
    Аватар для Sevrer  
    Мастер форумных наук

    5 Медалей
    Цитата Сообщение от Hunter01 Посмотреть сообщение
    Хочу в окно индикатора вывести числовое значения -вот код

    MaBuffer[i]=MathCeil(7500*(iBands(NULL,0,BBPeriod,2,0,PRICE_C LOSE,MODE_UPPER,i)
    -
    iBands(NULL,0,BBPeriod,1,0,PRICE_CLOSE,MODE_UPPER, i)));
    double delta = k*MaBuffer[i];
    double delta1 = NormalizeDouble(delta,1);
    ObjectCreate("1", OBJ_LABEL, N_Window, 0, 0, 0, 0);
    ObjectSet("1", OBJPROP_XDISTANCE, 600);
    ObjectSet("1", OBJPROP_YDISTANCE, 2);
    ObjectSetText("1", "риск=("+delta1+")$", 12, "Comic Sans", Red);


    Всё работает, но выводятся 8 знаков после запятой, хотя в NormalizeDouble указывал 1знак.
    Помогите!
    вот это:
    Код:
    ObjectSetText("1", "риск=("+delta1+")$", 12, "Comic Sans", Red);
    поменяй на вот это:
    Код:
    ObjectSetText("1", "риск=("+DoubleToStr(delta1, 1)+")$", 12, "Comic Sans", Red);
  3. 3,966
    Комментарии
    23
    Темы
    5835
    Репутация Pro
    Аватар для Hunter01  
    Старожил

    6 Медалей
    Спасибо, теперь всё нормально.
  4. 3,966
    Комментарии
    23
    Темы
    5835
    Репутация Pro
    Аватар для Hunter01  
    Старожил

    6 Медалей
    Подскажите, пожалуйста, как записывать в буфер индикатора значения цены с созданной на графике трендовой линии(луч), история с первой точки трендовой линии и её значения для новых баров?
  5. 1,279
    Комментарии
    15
    Темы
    1292
    Репутация Pro
    Аватар для Sevrer  
    Мастер форумных наук

    5 Медалей
    Цитата Сообщение от Hunter01 Посмотреть сообщение
    Подскажите, пожалуйста, как записывать в буфер индикатора значения цены с созданной на графике трендовой линии(луч), история с первой точки трендовой линии и её значения для новых баров?
    А нельзя ли попонятнее описать то, чего вы хотите добиться (желательно с картинками :) )?
  6. 3,966
    Комментарии
    23
    Темы
    5835
    Репутация Pro
    Аватар для Hunter01  
    Старожил

    6 Медалей
    Цитата Сообщение от Sevrer Посмотреть сообщение
    А нельзя ли попонятнее описать то, чего вы хотите добиться (желательно с картинками :) )?
    Канал ст отклонения(голубые линии) настраиваю в пределах синего прямоугольника (по сформированному сигналу - мин, макс, мин). По центральной линии провожу красную трендовую линию (луч) и присваиваю ей имя MyTrend. Значения цены на каждом баре по этой линии записываю в буфер, который затем буду использовать в осцилляторах в качестве средней.
    Пытался всё это осуществить, но - облом. За шаблон взял код MACD. Во втором окне результат

    int start()
    {
    int limit;
    int counted_bars=IndicatorCounted();

    if(counted_bars>0) counted_bars--;
    limit=Bars-counted_bars;

    for(int i=0; i<limit; i++)

    // double price=ObjectGetValueByShift("MyTrend",0);

    MacdBuffer[i]=ObjectGetValueByShift("MyTrend",0);

    return(0);
    }




    Можно, конечно вместо тренда рассчитывать значения по формуле y=Kx+b, но хотелось бы напрямую с графика.
  7. 1,279
    Комментарии
    15
    Темы
    1292
    Репутация Pro
    Аватар для Sevrer  
    Мастер форумных наук

    5 Медалей
    Цитата Сообщение от Hunter01 Посмотреть сообщение
    ...
    MacdBuffer[i]=ObjectGetValueByShift("MyTrend",0);
    ...
    поменяй на
    MacdBuffer[i]=ObjectGetValueByShift("MyTrend",i);
  8. 3,966
    Комментарии
    23
    Темы
    5835
    Репутация Pro
    Аватар для Hunter01  
    Старожил

    6 Медалей
    Поменял, всё работает, Как бы ещё хвост левее первой точки тренда отрубить (нулевые значения).

  9. 4,164
    Комментарии
    7
    Темы
    4265
    Репутация Pro
    Аватар для Денис Давыдов  
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от Hunter01 Посмотреть сообщение
    Поменял, всё работает, Как бы ещё хвост левее первой точки тренда отрубить (нулевые значения).

    В init() добавь строчку
    Код:
    SetIndexEmptyValue(0,0.0);
  10. 3,966
    Комментарии
    23
    Темы
    5835
    Репутация Pro
    Аватар для Hunter01  
    Старожил

    6 Медалей
    Цитата Сообщение от Денис Давыдов Посмотреть сообщение
    В init() добавь строчку
    Код:
    SetIndexEmptyValue(0,0.0);
    Спасибо, теперь рисует без нулевых значений., хотя в буфере они остались. Как бы и запись в буфер сделать с первой точки трендовой линии.

Вверх
РегистрацияX

чтобы писать, читать, комментировать