Transaq

СБО "Transaq" => Подсистема ATF => Topic started by: nikolz on 25.04.2011, 12:17:22

Title: Индикатор AMA(фильтр Кауфмана)
Post by: nikolz on 25.04.2011, 12:17:22
Добрый день!
столкнулся со следующей проблемой.
Написал индикатор AMA :
//индикатор АМА nikolz
#samewindow
#line 0 dot red
extern period=10;
extern Slow=30;
extern Fast=2;
var FastSCm; var SlowSC;
var Signal; var ER; var SSC; var Noise;
//~~~~~~~~~~~~~~
function init(){setInitCandles(1); line[0]=close; Signal=0; Noise=0;  SlowSC=2/(Slow+1); FastSCm=2/(Fast+1)-SlowSC;   }
//~~~~~~~~~~~~~~
function calc() { Noise=Noise+abs(close-close[-1]);
   if (period>=noCandle()) { line[0]=close;  }
      else{ Noise=Noise-abs(close[-period]-close[-period-1]); Signal=abs(close-close[-period]);
      if (Noise>0) {SSC=Signal*FastSCm/Noise+SlowSC;}
   line[0]=line[0][-1]+SSC*SSC*(close-line[0][-1]);
      }
 }

Так вот
В ИНТРЕ все работает прекрасно,
а в боевом транзаке нулевая линия.
Что делать?
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: Heller on 25.04.2011, 12:42:23
Здесь нет опечатки? У меня этот код даже не компилируется вот здесь: SSC(close-line[0][-1])
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: nikolz on 25.04.2011, 12:52:21
исправил опечатку
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: nikolz on 25.04.2011, 17:36:24
Heller!
Какие у Вас рекомендации будут?
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: nxz on 25.04.2011, 17:51:36
У меня Ваш индикатор работает и в боевой transaq и в Интре.
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: Heller on 26.04.2011, 09:45:12
Heller!
Какие у Вас рекомендации будут?
Не понял что вы имеете ввиду. Я так понял, что не работало оно из-за того, что оно было сохранено с опечаткой в коде? (Вы же просто скопировали код из файла?) Я не вижу у себя никаких проблем с этим кодом.
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: nikolz on 26.04.2011, 10:27:59
Добрый день,Heller !
Нет, опечатка была лишь на форуме.
В программах в транзак все верно ( иначе проверку не пройдет)
Но в боевом транзаке рисует горизонтальную линию а Интра рисует правильно.
Переношу просто копированием каталога с программами.
Другие мои индикаторы работают.
Как я понял , у Вас тоже все работает.
Возможно, надо что-либо переустановить?
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: Heller on 26.04.2011, 11:23:26
Попробуйте открыть этот файл редактором ATF, и нажать "Проверить" на боевом Transaq. Вероятно чего-то напишет по этому поводу.
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: nikolz on 26.04.2011, 11:48:25
Проверил написал ОК! Но результат тот же - горизонтальная линия
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: nikolz on 26.04.2011, 12:01:21
Heller!
Если я правильно понял, то поскольку на интра все работает и работает у других пользователей, то проблема очевидно на сервере брокера (финам)
Переустановил транзак обновил но результат все тот же - прямая линия.
Причем на интра все хорошо . копирую каталог sources из каталга транзака для интра в боевой транзак - получаю прямую линию у финам.
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: nikolz on 26.04.2011, 12:03:48
Heller !
Действительно проблема на сервере.
Если без подключения на график накладываю индикатор то все нормально.
Подключаюсь к серверу -прямая линия
Может что в консерватории надо поправить?
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: nxz on 26.04.2011, 12:05:21
, то проблема очевидно на сервере брокера (финам)
Переустановил транзак обновил но результат все тот же - прямая линия.
Причем на интра все хорошо . копирую каталог sources из каталга транзака для интра в боевой транзак - получаю прямую линию у финам.

У меня финам и работает нормально.
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: nikolz on 26.04.2011, 14:14:31
тогда гипотез нет.
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: ddd323 on 26.04.2011, 21:05:38
Я бы попробовал extern заменить на var, а также занести код на боевой транзак обычным копипастом, а не копированием каталогов (а то вдруг разные версии source или внешние переменные по разному читают)
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: nikolz on 26.04.2011, 22:13:02
Спасибо. попробую завтра.
Правда, если к серверу не подключаться, то индикатор рисуется нормально.
после подключения - горизонтальная линия.
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: ddd323 on 27.04.2011, 10:28:42
тогда еще один совет. замените все вары на статики. разница между режимами с сервером и без - количество вызовов калк на свече - один , если без сервера - и много с сервером. вары между калками свое значение сбрасывают до исходного состояния начала свечи (я из-за этого их вообще в коде почти не использую, только если как глобальные и неизменные параметры)
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: nikolz on 27.04.2011, 13:48:14
Благодарю за совет, попробую.
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: nikolz on 27.04.2011, 14:04:12
Heller!
Глюк я нашел. он Ваш, примите поздравления.
Теперь по порядку.
1) откройте график например сбербанк
2) киньте на него мой АМА
В результате все нормально работает
Продолжаем
3) Добавьте индикатор в новое подокно этого окна ,например , Газпром
4) Киньте туда мой AМА
и получите на графике Сбербанка прямую линию.
Ну вот пожалуй и все
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: nikolz on 27.04.2011, 14:31:28
Для всех,кто мне пытался помочь,
 выкладываю последний вариант фильтра Кауфмана:

//индикатор KАМА nikolz
#samewindow
#line 0 dot red
extern period=10;
extern Slow=30;
extern Fast=2;
var FastSCm; var SlowSC;
var Signal;  var SSC; var Noise;
//~~~~~~~~~~~~~~
function init(){ setInitCandles(1);  line[0]=close; Signal=0; Noise=0;  SlowSC=2/(Slow+1);  FastSCm=2/(Fast+1)-SlowSC;   }
//~~~~~~~~~~~~~~
function calc() { Noise=Noise+abs(close-close[-1]);
   if (period>=noCandle()) { line[0]=close;  }
      else{ Noise=Noise-abs(close[-period]-close[-period-1]); Signal=abs(close-close[-period]);
   if (Noise>0) {SSC=Signal*FastSCm/Noise+SlowSC;}
   line[0]=line[0][-1]+SSC*SSC*SSC*(close-line[0][-1]);
      }
 }
Успехов.
Title: Re: Индикатор AMA(фильтр Кауфмана)
Post by: Heller on 28.04.2011, 10:13:02
У нас не воспроизводится. Подождите обновления версии, насколько я помню, у Финама на боевой системе летает довольно старая версия. Вроде уже скоро должно быть обновление.