• Demo счет NinjaTrader, регистрируется в брокерской компании NinjaTrader Brokerage . NinjaTrader™, LLC
    Ссылка на демо счет NinjaTrader
    Фид на соединении Continuum/CQG.
    Для справки: Continuum - это брэнд CQG, и ни чем они не отличаются друг от друга.
  • Уважаемые посетители форума!
    При регистрации на форуме отправляется письмо подтверждения на ваш почтовый ящик, если письмо не пришло, просьба проверить папку "спам" вашего почтового ящика, возможно письмо попало туда.
  • Сколько я реально плачу комиссии?
    Подробнее по ссылке

Образцы кодов стратегий для NT 6.5

Дмитрий 1

Active Member
NinjaTrader
#41
Дмитрий К сказал(а):
Даже количество сделок совершенно разное...
проскальзывание ..........

при проигрывании на "плеере" ....... оно учитывается.

а в тестере оно стоит у Вас на значении "0"

при кл-ве сделок 900 шт......... это как минимум 900 пипс

......наверное из-за этого и идет различие.
 

Дмитрий К

New Member
NinjaTrader
#44
Повсюду был установлен период с 17.04.2012 по 18.04.2012 и Session template: Default 24/7. Попробуйте провести тот же эксперимент, но обязательно с "проигрыванием" на периоде.
 

Дмитрий К

New Member
NinjaTrader
#46
vladko сказал(а):
Если находимся НЕ на 5-минутном графике евро и графике Kagi по фунту, то в процедуру инициализации добавляем:
CODE:
Add("6E 06-12",PeriodType.Minute, 5);


И в теле индикатора получаем доступ к тому, что нужно:
CODE:
SMA(Highs[1],14)[0]
Возвращаясь к вопросу об индикаторах "жёстко" привязанных к определённому графику, таймфрейму и валюте, провёл следующий тест на Market Replay:

1. Привязал одну и ту же простейшую стратегию, использующую такую "жёсткую" привязку индикатора на 8 различных графиков.
2. Запустил "плеер" Market Replay и получил одновременную работу стратегии на всех 8 графиках.

По логике хотелось получить одинаковые результаты на всех графиках. Но как видно из скиншота не получилось. Как же всё-таки можно решить такую казалось бы тривиальную задачу корректно? Будьте добры подскажите, пожалуйста!

Код стратеги:

Код:
#region Using declarations
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Xml.Serialization;
using NinjaTrader.Cbi;
using NinjaTrader.Data;
using NinjaTrader.Indicator;
using NinjaTrader.Gui.Chart;
using NinjaTrader.Strategy;
#endregion

// This namespace holds all strategies and is required. Do not change it.
namespace NinjaTrader.Strategy
{
    /// <summary>
    /// Enter the description of your strategy here
    /// </summary>
    [Description("Enter the description of your strategy here")]
    public class LineBreak6S : Strategy
    {
        #region Variables
        // Wizard generated variables
        private int a = 0; // Default setting for A
        private int b = 0; // Default setting for B
        // User defined variables (add any user defined variables below)
        #endregion

        /// <summary>
        /// This method is used to configure the strategy and is called once before any strategy method is called.
        /// </summary>
        protected override void Initialize()
        {   
			Add("6S 06-12",PeriodType.Minute, 1);
			
            CalculateOnBarClose = true;
        }

        /// <summary>
        /// Called on each bar update event (incoming tick)
        /// </summary>
        protected override void OnBarUpdate()
        {
			if (BarsInProgress != 0) return;
			
            // Condition set 1
            if (SMA(Highs[1],2)[1] < SMA(Highs[1],2)[2])
            {
                EnterShort(1, "");
            }
            // Condition set 2
            if (SMA(Highs[1],2)[1] > SMA(Highs[1],2)[2])
            {
                ExitShort("", "");
            }
        }

        #region Properties
        [Description("")]
        [GridCategory("Parameters")]
        public int A
        {
            get { return a; }
            set { a = Math.Max(-5, value); }
        }

        [Description("")]
        [GridCategory("Parameters")]
        public int B
        {
            get { return b; }
            set { b = Math.Max(-5, value); }
        }
        #endregion
    }
}
 

Вложения

  • 130,9 КБ Просмотры: 148

Дмитрий 1

Active Member
NinjaTrader
#49
vladko сказал(а):
Если находимся НЕ на 5-минутном графике евро и графике Kagi по фунту, то в процедуру инициализации добавляем:
Код:
Add("6E 06-12",PeriodType.Minute, 5);
AddKagi("6B 06-12", PeriodType.Minute, 1, 2, ReversalType.Tick, MarketDataType.Last);
И в теле индикатора получаем доступ к тому, что нужно:
Код:
SMA(Highs[1],14)[0]
SMA(Highs[2],14)[0]
Возможно ли использование "не базовых" видов графика в сравнении?

например 5RangeNoGap с 5Минутным
 
#50
Вообще, можно. Ибо есть зарезервированные пользовательские типы баров
Код:
PeriodType.Custom0-9
Но каждый отдельный тип бара надо рассматривать отдельно в плане возможности программного добавления.
Возможно, больше информации найдете тут:
http://www.ninjatrader.com/support/foru ... add+custom
http://www.ninjatrader.com/support/foru ... ustom+type
http://www.ninjatrader.com/support/foru ... +bar+types
http://www.ninjatrader.com/support/foru ... ustom+type
 

Дмитрий К

New Member
NinjaTrader
#51
Дмитрий К сказал(а):
Проделал следующие манипуляции:
1. погрузил данные по инструменту "6Е 06-12" через File-Utilities-Download Replay Data... (L1 и L2)
2. подключился к Market Replay Connection
3. открыл график "6Е 06-12" (Last, Tick, 1)
4. подключил к нему стандартную стратегию SampleMACrossOver
5. проиграл данные за период 16.04.2012 по 17.04.2012

Затем прогнал эту же стратегию на том же периоде с данными Data Series (Last, Tick, 1) и теми же параметрами, что и на Market Replay и получил КАРДИНАЛЬНО ДРУГИЕ результаты.
В чём может быть причина таких расхождений? И как же тогда настроить параметры тестирования, чтобы они хоть как-то совпадали с Real-Time?
Повторял неоднократно уже подобный эксперимент и с разными стратегиями - результат тот же! Точнее полное расхождение тестирования на тиковом графике с проигрыванием на Market Replay! Как можно после этого вообще писать стратегии и потом их ещё оптимизировать, если с реальностью результаты теста вообще никак не связаны?! Где эта "Ахилесова пята"?

Будьте добры, помогите, пожалуйста, разобраться в этом вопросе!
 
#52
Я же показал скрин с полностью совпадающими результатами. Следовательно, вы где-то делаете ошибку. Вспомните ваше предыдущее обращение на форум...

А, вообще, "результаты тестов с реальностью" действительно мало связаны.
 

Дмитрий К

New Member
NinjaTrader
#53
А ваш результат был после проигрывания на Market Play? Я вполне допускаю, что мною сделана ошибка, но чтобы понять, где она нужно для начала понять у меня ли одного такая ошибка.
 

Дмитрий К

New Member
NinjaTrader
#55
vladko сказал(а):
А, вообще, "результаты тестов с реальностью" действительно мало связаны.
То есть смысла в программировании стратегий нет? Видимо разработчики NT просто создали "ЭЛЕКТРОННУЮ ИГРУШКУ" для любителей поковыряться в кодах? Странно это слышать от человека, занимающегося профессионально программированием для NT. Всегда есть объективные причины влияния рынка на расхождения результатов back-test и real-time торгов, но чтобы вот так утверждать, что результаты мало связаны.... Если бы я на собственном опыте на "игрушечной" MT4 не убедился в обратном, может быть я бы вам и поверил. Но при всей настроенности MT4 в пользу брокера (взять хотя бы отсутствие тиковой истории) и технических махинаций со стороны опять же брокеров, расхождения результатов теста и реальной торговли были вполне приемлемы, а в те периоды, кода исполнение со стороны брокера не вызывает нареканий совпадение вообще близко к 100%.
 
#56
Вы все неправильно поняли. Результаты тестов с реальностью (работой в реал-тайм) мало связаны просто потому, что никакое тестирование на истории никогда не даст уверенности в том, что и на реал-тайме будет то же самое. А сравнивать МТ и прямой биржевой терминал - ну, просто нет слов...
 

Дмитрий К

New Member
NinjaTrader
#57
Я так понимаю вся путаница в исторических данных - где же можно прочесть полный хелп по данной теме? Как они хранятся в каком виде, как вызываются? Мне кажется, именно с этой теории хелп начинаться должен. Жаль конечно, что вы один на этом форуме за всех разработчиков "отдуваетесь"... Спасибо, что хоть вы тут есть!
(Добавление)
Я даже мысли не допускаю, сравнивать NT и МТ - это как сравнить истребитель последнего поколения с Ладой "Калина" ))
 
#58
Дмитрий К сказал(а):
где же можно прочесть полный хелп по данной теме?
Во встроенной справке ниндзи. Также на их официальном форуме.
http://www.ninjatrader.com/support/forum/index.php

Дмитрий К сказал(а):
Жаль конечно, что вы один на этом форуме за всех разработчиков "отдуваетесь"
На самом деле я никакого отношения к разработчикам ниндзи не имею)))
 

Alexander

Administrator
Команда форума
Помогли тебе - помоги другим!
#59
Дмитрий К сказал(а):
Я так понимаю вся путаница в исторических данных - где же можно прочесть полный хелп по данной теме? Как они хранятся в каком виде, как вызываются? Мне кажется, именно с этой теории хелп начинаться должен. Жаль конечно, что вы один на этом форуме за всех разработчиков "отдуваетесь"... Спасибо, что хоть вы тут есть!
(Добавление)
Я даже мысли не допускаю, сравнивать NT и МТ - это как сравнить истребитель последнего поколения с Ладой "Калина" ))
Русскоязычных разработчиков нет в NinjaTrader , так и нет русского (других языков) мануала и не будет, только английский.

Этот форум является частной инициативой, с целью разобраться в платформе, обменяться опытом, собрать всю доступную информацию на русском языке, приумножить её и сделать доступной.
Огромную и неоценимую помощь трейдерам на форуме оказывает брокер Mirius Futures Светлана Орловская (broker_mirus), а также другие уважаемые форумчане. При выявлении «багов» в платформе сообщаем разработчику.
Всем миром тут и разбираемся с ней. ::smile24.gif::
 

Alexander

Administrator
Команда форума
Помогли тебе - помоги другим!
#60
Дмитрий К сказал(а):
То есть смысла в программировании стратегий нет?
Есть конечно, только для тестирования нужны качественные исторические тиковые данные за долгий период, а не выкаченные данные с демо (в истории могут быть разрывы и прочее). Приобрести их можно с разных источников.
Попробую попросить график доходности робота у одного трейдера торгующего в Мирусе, если согласиться показать, то выложу.
Я его видел, и скажу что стоит программировать доходные стратегии.
 
Вверх Снизу