Страница 1 из 3

Ошибки в FT 2.1 релиз от 24.05.2009

Добавлено: Пн май 25, 2009 8:28 am
Козьма Прутков
Терранин, спасибо за новый релиз 2.1!

Назвал тему "Ошибки" на всякий случай - может, что-нибудь найдется.

Пока заметил только, что хэлп для индикаторов старый и к тому же англоязычный. Так что про новые функции API посмотреть не удалось.

Добавлено: Ср май 27, 2009 12:34 pm
Козьма Прутков
Терранин, есть проблема при установке нового индикатора взамен имеющегося. Если в программе нового индикатора меняются параметры, то при его перезаписи параметры все равно берутся из файла *.opt, и изменений мы не видим.

Решается проблема просто - надо при перезаписи индикатора удалять старый файл *.opt (сейчас приходится закрывать тестер и удалять его вручную). Сделаете?

Добавлено: Чт май 28, 2009 4:53 pm
Terranin
Козьма Прутков писал(а):Терранин, есть проблема при установке нового индикатора взамен имеющегося. Если в программе нового индикатора меняются параметры, то при его перезаписи параметры все равно берутся из файла *.opt, и изменений мы не видим.

Решается проблема просто - надо при перезаписи индикатора удалять старый файл *.opt (сейчас приходится закрывать тестер и удалять его вручную). Сделаете?
Погляжу. Вообще-то насколько я посмотрел, при установке нового индикатора поверх старого файл *.opt этого индикатора удаляется.

Добавлено: Чт май 28, 2009 8:48 pm
Козьма Прутков
Терранин, что-то произошло с версией 2.1. Может, изменилось API, а в дистрибутиве осталась старая версия (от февраля)?

Мой индикатор работает во всех версиях - от 1.12 до 2.0, а в 2.1 получается ерунда. Транслировал с разными API - результат один.

Если в самом деле критично изменилось API - выложите, пожалуйста. Если дело не в этом - в следующий раз выложу скрины и текст.

Добавлено: Чт май 28, 2009 9:27 pm
Terranin
Козьма Прутков писал(а):Терранин, что-то произошло с версией 2.1. Может, изменилось API, а в дистрибутиве осталась старая версия (от февраля)?

Мой индикатор работает во всех версиях - от 1.12 до 2.0, а в 2.1 получается ерунда. Транслировал с разными API - результат один.

Если в самом деле критично изменилось API - выложите, пожалуйста. Если дело не в этом - в следующий раз выложу скрины и текст.
В АПИ ничего не менялось.

Добавлено: Чт май 28, 2009 10:19 pm
Козьма Прутков
Козьма Прутков писал(а):Терранин, что-то произошло с версией 2.1. Может, изменилось API, а в дистрибутиве осталась старая версия (от февраля)?

Мой индикатор работает во всех версиях - от 1.12 до 2.0, а в 2.1 получается ерунда. Транслировал с разными API - результат один.

Если в самом деле критично изменилось API - выложите, пожалуйста. Если дело не в этом - в следующий раз выложу скрины и текст.
Вот что получается с индикатором (смотрите нижнюю половину экрана, на обоих скринах).

Почему-то масштаб в 2.1 нарушен: верхняя точка оси = 1, когда на самом деле там единицы процентов. Что-то там внизу копошится похожее, на растянуть для рассмотрения нельзя.

Добавлено: Чт май 28, 2009 10:23 pm
Козьма Прутков
А вот текст индикатора - это RAVI с добавленными для удобства дискретными значениями.

Добавлено: Сб май 30, 2009 7:25 pm
duh
9. Добавлена возможность установки новых стратегий так же как и индикаторов без перезагрузки программы. См. Файл -> Установить новую стратегию.
Нужна не только возможность добавления, но и возможность удаления(!!!) без перезагрузки, этого нет - или я проглядел? Так как при тестировании приходится постоянно подменять длл-ки, то не плохо было бы без перезагрузки иметь возможность добавить и удалить, так как программа загружается относительно долго и просто добвление эту проблемму не решает, по крайней мере когда я попытался добавить индикатор повторно, то мне выдалось сообщение что он уже добавлен и пришлось перезагружать программу.

И что там за новые функции и как они работают тоже не очень понятно.

Добавлено: Сб май 30, 2009 10:19 pm
Terranin
duh писал(а):
9. Добавлена возможность установки новых стратегий так же как и индикаторов без перезагрузки программы. См. Файл -> Установить новую стратегию.
Нужна не только возможность добавления, но и возможность удаления(!!!) без перезагрузки, этого нет - или я проглядел? Так как при тестировании приходится постоянно подменять длл-ки, то не плохо было бы без перезагрузки иметь возможность добавить и удалить, так как программа загружается относительно долго и просто добвление эту проблемму не решает, по крайней мере когда я попытался добавить индикатор повторно, то мне выдалось сообщение что он уже добавлен и пришлось перезагружать программу.

И что там за новые функции и как они работают тоже не очень понятно.
Если такая стратегия найдена программа спрашивает перезаписать ее или нет? Если перезаписать то она перезаписывает новой версией. Перезагружать программу не нужно. Тоже самое с индикатором.

Новые функции пока в документации не описаны но их можно посмотреть в файле StrategiesInterface это TimeCurrent - получить текущее время (последнего тика) и SetIndicatorBuffStyle - после создания индикатора можно изменить цвет его линий, стиль и толщину. Например если нужно создать 2 MA с разным цветом.

Добавлено: Вс май 31, 2009 7:00 am
duh
Terranin писал(а):
Если такая стратегия найдена программа спрашивает перезаписать ее или нет? Если перезаписать то она перезаписывает новой версией. Перезагружать программу не нужно. Тоже самое с индикатором.
Спасибо! Все разобрался, я просто по привычке кинул стратегию в папку стратегий при запущенном ФТ, ну и естественно что ФТ отказался добавлять стратегию, так как она уже была в папке - не мог ведь он перезаписать файл сам на себя - кстати этот вариант в программе тоже можно было бы обработать - если стратегия уже лежит в папке стратегий, то выполнить все кроме копирования. И почему-то я из этого сделал вывод что стратегию можно добавить только один раз в том числе и из другой папки.

Добавлено: Вс май 31, 2009 7:19 am
duh
Кстати я уже где-то говорил, что в коде для С++ есть ошибка в файле TechnicalFunctions.h, по крайней мере мой компилятор ругается на этот код:

Код: Выделить всё

  // Calculating sums for regression line
  int i = Offset;
  for (int x=0; x < period; x++)
  {
 ...
  }
 ...
  // Calculating channel height
  i = Offset;
  max = 0;
  for (int x=0; x < period; x++)
  {
 ...
  }
Пишет что переменная x два раза определена как int - ну так и есть, я уж не первый раз это исправляю - выношу определение за циклы. Предлагаю вам тоже это исправить, а то у некоторых могут возникнуть затруднения, может быть ваш компилятор и не считает это за ошибку, а у других посчитает.

Добавлено: Вс май 31, 2009 3:58 pm
Terranin
duh писал(а):Кстати я уже где-то говорил, что в коде для С++ есть ошибка в файле TechnicalFunctions.h, по крайней мере мой компилятор ругается на этот код:

Код: Выделить всё

  // Calculating sums for regression line
  int i = Offset;
  for (int x=0; x < period; x++)
  {
 ...
  }
 ...
  // Calculating channel height
  i = Offset;
  max = 0;
  for (int x=0; x < period; x++)
  {
 ...
  }
Пишет что переменная x два раза определена как int - ну так и есть, я уж не первый раз это исправляю - выношу определение за циклы. Предлагаю вам тоже это исправить, а то у некоторых могут возникнуть затруднения, может быть ваш компилятор и не считает это за ошибку, а у других посчитает.
Хорошо, исправлю. Я в С слабо разбираюсь, поэтому бывают ошибки.

Добавлено: Вс май 31, 2009 5:01 pm
Terranin
Козьма Прутков писал(а):А вот текст индикатора - это RAVI с добавленными для удобства дискретными значениями.
Ошибку с масштабированием исправил скоро выложу. Там у Вас просто 2 буфера у которых значения всегда постоянные, в этом случае лучше было бы вместо буферов добавить 2 уровня через AddLevel, тогда этой ошибки не будет. Но я ее исправил в программе, так что будет работать и с таким кодом.

Добавлено: Вс май 31, 2009 8:35 pm
duh
1 Такой момент, я в стратегии создал индикатор МА, вроде все нормально, индикатор появляется и работает, даже новая функция его вид меняет, но в журнале пишется такая фраза:
.2009.06.01 00:11:10 Wrong option value: Simple (SMA), (Moving average)
.2009.06.01 00:11:10 Created new indicator: MovingAverage.dll, (8;0;Simple (SMA);Open)
.2009.06.01 00:11:10 Indicator added to chart EURUSD: 0
Вроде что-то не нравится программе, а что не понятно. Или так и должно быть?


2 Если я отключаю стратегию и потом подключаю (или прерываю тестирование и потом продолжаю его), то вместо того что-бы использовать старые индикаторы, которые уже были созданы, создаются новые и индикаторов становится в два раза больше - что тоже не очень хорошо. И наверно так не должно быть?

Код такой:

Код: Выделить всё

EXPORT void __stdcall  ResetStrategy()
{
sprintf(buff, "%d;%d;%s;%s", MAs3, 0, StrMAType(ma_SMA), StrPriceType(pt_Open));
	IndMAs3 = CreateIndicator(Currency, Timeframe, "MovingAverage", buff);
	SetIndicatorBuffStyle(IndMAs3, 0, psSolid, 1, clYellow);
}
где
char buff[1000];
int MAs3 = 8;
int Timeframe = 60;
PChar Currency = "EURUSD"

Добавлено: Вс май 31, 2009 9:50 pm
Terranin
duh писал(а):1 Такой момент, я в стратегии создал индикатор МА, вроде все нормально, индикатор появляется и работает, даже новая функция его вид меняет, но в журнале пишется такая фраза:
.2009.06.01 00:11:10 Wrong option value: Simple (SMA), (Moving average)
.2009.06.01 00:11:10 Created new indicator: MovingAverage.dll, (8;0;Simple (SMA);Open)
.2009.06.01 00:11:10 Indicator added to chart EURUSD: 0
Вроде что-то не нравится программе, а что не понятно. Или так и должно быть?


2 Если я отключаю стратегию и потом подключаю (или прерываю тестирование и потом продолжаю его), то вместо того что-бы использовать старые индикаторы, которые уже были созданы, создаются новые и индикаторов становится в два раза больше - что тоже не очень хорошо. И наверно так не должно быть?

Код такой:

Код: Выделить всё

EXPORT void __stdcall  ResetStrategy()
{
sprintf(buff, "%d;%d;%s;%s", MAs3, 0, StrMAType(ma_SMA), StrPriceType(pt_Open));
	IndMAs3 = CreateIndicator(Currency, Timeframe, "MovingAverage", buff);
	SetIndicatorBuffStyle(IndMAs3, 0, psSolid, 1, clYellow);
}
где
char buff[1000];
int MAs3 = 8;
int Timeframe = 60;
PChar Currency = "EURUSD"
Там в старой документации описано меньше параметров, чем надо передавать. Вместо параметров '8;5;Simple (SMA);Close' надо передавать '8;5;0;Simple (SMA);Close'. Добавился еще один параметр. Вообще при создании индикатора надо передавать столько параметров и в таком же порядке как видно в его диалоге параметров при создании вручную.

Добавлено: Пн июн 01, 2009 3:42 pm
duh
Terranin писал(а): Там в старой документации описано меньше параметров, чем надо передавать. Вместо параметров '8;5;Simple (SMA);Close' надо передавать '8;5;0;Simple (SMA);Close'. Добавился еще один параметр. Вообще при создании индикатора надо передавать столько параметров и в таком же порядке как видно в его диалоге параметров при создании вручную.
Ну и намучался я вчера с этим, документацию-то я последнюю смотрел - из 2.1 - там ничего о 5 параметрах не сказано, мог бы конечно догадаться, но копипаст работает качественно :)

Добавлено: Пн июн 01, 2009 6:20 pm
Terranin
Закачал исправленную версию как обновление на сайт, чтобы установить зайдите в меню Помощь -> Проверить обновления.

Добавлено: Пн июн 01, 2009 9:17 pm
Козьма Прутков
Terranin писал(а):Закачал исправленную версию как обновление на сайт, чтобы установить зайдите в меню Помощь -> Проверить обновления.
Заработало, спасибо!

В индикаторе я проводил линии с настраиваемыми значениями, а не с константами, так что рисовать их через индексный буфер было необходимостью.

Добавлено: Пт июн 05, 2009 7:27 pm
Козьма Прутков
Терранин, у меня выскакивает сообщение об ошибке. Генерирую тики, запускаю стратегию, все работает. Останавливаю, перегенерирую тики (неважно, для другой валюты или для той же), стартую стратегию, выбираю "Тестирование с первой даты в истории" - и выскакивает ошибка. Проверял несколько раз - эффект стабильный. Лечится только перезагрузкой тестера.

Кстати, обратите внимание на ошибку с слове strategy в этом сообщении.

Добавлено: Пт июн 05, 2009 9:08 pm
Terranin
Козьма Прутков писал(а):Терранин, у меня выскакивает сообщение об ошибке. Генерирую тики, запускаю стратегию, все работает. Останавливаю, перегенерирую тики (неважно, для другой валюты или для той же), стартую стратегию, выбираю "Тестирование с первой даты в истории" - и выскакивает ошибка. Проверял несколько раз - эффект стабильный. Лечится только перезагрузкой тестера.

Кстати, обратите внимание на ошибку с слове strategy в этом сообщении.
Это только с конкретной стратегией или с любой? Возможно ошибка в самой стратегии?

Добавлено: Пт июн 05, 2009 9:17 pm
Козьма Прутков
Terranin писал(а):
Козьма Прутков писал(а):Терранин, у меня выскакивает сообщение об ошибке. Генерирую тики, запускаю стратегию, все работает. Останавливаю, перегенерирую тики (неважно, для другой валюты или для той же), стартую стратегию, выбираю "Тестирование с первой даты в истории" - и выскакивает ошибка. Проверял несколько раз - эффект стабильный. Лечится только перезагрузкой тестера.

Кстати, обратите внимание на ошибку с слове strategy в этом сообщении.
Это только с конкретной стратегией или с любой? Возможно ошибка в самой стратегии?
Проверил с другой стратегией - эффект тот же самый, сообщение точно такое же.

Добавлено: Пт июн 05, 2009 10:22 pm
Terranin
Козьма Прутков писал(а):
Terranin писал(а):
Козьма Прутков писал(а):Терранин, у меня выскакивает сообщение об ошибке. Генерирую тики, запускаю стратегию, все работает. Останавливаю, перегенерирую тики (неважно, для другой валюты или для той же), стартую стратегию, выбираю "Тестирование с первой даты в истории" - и выскакивает ошибка. Проверял несколько раз - эффект стабильный. Лечится только перезагрузкой тестера.

Кстати, обратите внимание на ошибку с слове strategy в этом сообщении.
Это только с конкретной стратегией или с любой? Возможно ошибка в самой стратегии?
Проверил с другой стратегией - эффект тот же самый, сообщение точно такое же.
Буду смотреть.

Добавлено: Вс июн 07, 2009 8:16 pm
Козьма Прутков
Терранин, еще ошибка нашлась.

При генерации тиков выбранная дата начала генерации ни на что не влияет - тики генерируются с начала загруженной истории.

Добавлено: Вс июн 07, 2009 8:35 pm
Козьма Прутков
Терранин, Вы поправили ошибку, после чего мой индикатор заработал правильно. Обновление произошло автоматически, все в порядке.

Однако на сайте по-прежнему выложена версия от 24.05.2009, где эта ошибка осталась. Откуда же берутся обновления???

И где взять для бука обновленную версию (с подключением его к нормальному интернету - проблемы, могу использовать только GPRS)?

Добавлено: Вс июн 07, 2009 8:53 pm
Terranin
Козьма Прутков писал(а):Терранин, Вы поправили ошибку, после чего мой индикатор заработал правильно. Обновление произошло автоматически, все в порядке.

Однако на сайте по-прежнему выложена версия от 24.05.2009, где эта ошибка осталась. Откуда же берутся обновления???

И где взять для бука обновленную версию (с подключением его к нормальному интернету - проблемы, могу использовать только GPRS)?
Обновления берутся из другого источника. Релиз на сайте будет обновлен. Дату генерации проверил - все работает. При истории загруженной с 2001 сделал генерацию с 2004 - все правильно сгенерировалось. Начните тестирование новое и увидите что данные поступают с момента генерации тиков, а до этого вы просто видите результаты прошлого тестирования возможно с другой даты.