Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
помогла последняя Ваша фишка. Но мы тогда лишаем потенциального клиента тестирования продукта уже после покупки?
Короче говоря, чо-та с валидацией намудрили, по полной. Простейший индюк на МТ5 в маркет не пролазит, хотя МТ4-рошный залетает.
помогла последняя Ваша фишка. Но мы тогда лишаем потенциального клиента тестирования продукта уже после покупки?
Короче говоря, чо-та с валидацией намудрили, по полной. Простейший индюк на МТ5 в маркет не пролазит, хотя МТ4-рошный залетает.
Допустим купили индюк, пишем робота, тестируем и чо?
Вы скорее всего не совсем понимаете разницу между тестированием (оптимизацией) и тестированием с визуализацией. Чтобы понимать о чём речь вот такая ситуация: когда вы пишите робота и запускаете его в тестере, то робот не ориентируется на графические объекты (если только объекты не используется явно, например зоны поддержки/сопротивления сделанные в виде графических объектов - "прямоугольник" и/или "трендовая линия"), а берёт значения из буферов нужного индикатора, поэтому "обычному" роботу не важно, что на экране (какие графические объекты), важно, что в буфере. Обратите внимание на опцию "визуализация" в окне тестера стратегий и запустите советник для сравнения с включенной опцией и без неё. При тестировании индикатора эту опцию выключить нельзя, но для советников можно, в приведённом мною примере ускорения кода, как раз используется эта особенность разницы тестирования "с" и "без".
Вы скорее всего не совсем понимаете разницу между тестированием (оптимизацией) и тестированием с визуализацией. Чтобы понимать о чём речь вот такая ситуация: когда вы пишите робота и запускаете его в тестере, то робот не ориентируется на графические объекты (если только объекты не используется явно, например зоны поддержки/сопротивления сделанные в виде графических объектов - "прямоугольник" и/или "трендовая линия"), а берёт значения из буферов нужного индикатора, поэтому "обычному" роботу не важно, что на экране (какие графические объекты), важно, что в буфере. Обратите внимание на опцию "визуализация" в окне тестера стратегий и запустите советник для сравнения с включенной опцией и без неё. При тестировании индикатора эту опцию выключить нельзя, но для советников можно, в приведённом мною примере ускорения кода, как раз используется эта особенность разницы тестирования "с" и "без".
я всё понимаю.
визуализация будет работать.
тестирование советника с использованием купленного индикатора без визуализации работать не будет.
это нарушение условий маркета и ограничение возможностей в использовании продукта потенциального покупателя.
поясню:
графических объектов нет, вообще
у меня не проходит обычное вычисление буфера индикатора, я как бэ отключил...) В маркет залетает, но...
вычисляется у меня с постоянным пересчетом от конкретной метки времени, поэтому вычисление лишь последнего бара, как принято в 5-рке мне не подходит и поэтому на каждом тике происходит повторное вычисление всех значений буфера. К сожалению, такой индюк маркет не принимает по таймауту, типа долго считает.
я всё понимаю.
визуализация будет работать.
тестирование советника с использованием купленного индикатора без визуализации работать не будет.
это нарушение условий маркета и ограничение возможностей в использовании продукта потенциального покупателя.
Смотря для чего вы используете граф объекты в индикаторе!? Если они значащие и индикатор без них теряет функциональность, тогда так делать нельзя. В моём случае объекты лишь добавляют информативность (визуальное восприятие), и функциональность индикатора при его использовании в советнике не изменяется.
выше дописал...
Это ошибка, так делать нельзя, в вашем случае ограничьте количество общих рассчитываемых баров например до 1000.
//кусок из OnCalculate
int limit=prev_calculated-1; if(BarsToAnalyze>0) limit=fmin(rates_Total-BarsToAnalyze-1,limit);
for (int i=limit; i<rates_total; i++)
{
//блок пересчёта буферов
}
Это ошибка, так делать нельзя, в вашем случае ограничьте количество общих рассчитываемых баров например до 1000.
//кусок из OnCalculate
int limit=rates_total-1; if(BarsToAnalyze>0) limit=fmin(BarsToAnalyze,limit);
for (int i=0; i<=limit; i++)
{
//блок пересчёта буферов
}
Правильно что вас банят по скорости, я бы ещё и по алгоритму банил! Высчитывается всё, передаётся в обработку, обрабатывается, открываются-не открывается И ТОЛЬКО потом рисуется. А тут наоборот, рисуем, меняем, хз что делаем, а потом разок открыли, перед этим 100000 вычислений и 1000 объектов. А виноват маркет ?