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

Вопрос к программистам

FOKS

Member
NinjaTrader
#1
При разработке стратегии с торговыми сигналами при пересечении скользящих средних построенных на разных таймфреймах (например 5 мин. и 1 мин.) возникает ошибка с отображением сделок. На графике получаю сильное смещение сделок от точек пересечения построенных скользящих средних. Хотя на одном таймфрейме (например на 5 мин.) всё работает по алгоритму...
И вот собственно вопрос... есть ли у вас подобный опыт написания алгоритма совмещающего два разных таймфрейма в стратегии? В чем может быть проблема?
 

FOKS

Member
NinjaTrader
#2
Господа программисты, не ужели никто не делал стратегии с параметрами из разных таймфреймов? Очень надеюсь на ваш совет ::smile24.gif::
 

anik

Member
NinjaTrader
#3
Приветствую всех. Вопрос програмистам: как в стратегии обратиться к графику Volume1000 ? если стратегия стоит на другом...
Заранее спасибо.
 

anik

Member
NinjaTrader
#5
Спасибо, Владимир. Я жду, когда Ваша платформа начнет торговать! Удачи Вам!!!
 

anik

Member
NinjaTrader
#6
if (BarsInProgress ==1)return;

Объясните, пожалуйста, это выражение обозначает продолжение формирования 0-го бара или что ?
Мне нужно запретить открытие позиции на том же баре, на котором сделано закрытие позиции.
 

anik

Member
NinjaTrader
#7
У меня предложение переименовать ветку в "Вопросы без ответов".
Я думаю, что модераторы подумают над тем, как наладить работу форума и в частности - хотя бы отвечать...
Очередной вопрос в никуда : как сформулировать фразу:
Если приращение депозита сегодня (в результате нескольких сделок) X баксов (или пипсов), то остановить торговлю.
В мт4 это было очень просто, там была масса советников от Кима, из которых можно было взять любой блок или цитату. А в Си-шарпе надо выпрашивать на форуме каждую строчку.
ААААУУУУУУУУУУУ, программисты......
 

Alexander

Administrator
Команда форума
Помогли тебе - помоги другим!
#8
anik сказал(а):
У меня предложение переименовать ветку в "Вопросы без ответов".
Я думаю, что модераторы подумают над тем, как наладить работу форума и в частности - хотя бы отвечать...
Очередной вопрос в никуда : как сформулировать фразу:
Если приращение депозита сегодня (в результате нескольких сделок) X баксов (или пипсов), то остановить торговлю.
В мт4 это было очень просто, там была масса советников от Кима, из которых можно было взять любой блок или цитату. А в Си-шарпе надо выпрашивать на форуме каждую строчку.
ААААУУУУУУУУУУУ, программисты......
Форум предоставляет площадку по обмену опытом и взаимопомощи.
Все присутствующие тут независимые программисты помогают на сугубо добровольной основе (за что им большое спасибо) и заставить/требовать их силой отвечать мы не можем.
В NijaTrader есть подробный Help по NinjaScript.
Попробую связаться с образовательными ресурсами на счет организации платных ( бесплатно никто не будет делать как понимаю, если есть желающие- напишите) обучающих курсов по языку программирования в NT7.
 

Дмитрий 1

Active Member
NinjaTrader
#9
anik сказал(а):
как сформулировать фразу:
Если приращение депозита сегодня (в результате нескольких сделок) X баксов (или пипсов), то остановить торговлю.

Код:
// Condition set 1

if (Position.MarketPosition == MarketPosition.Flat
&& Performance.AllTrades.TradesPerformance.TradesPerDay < 10
&& Performance.AllTrades.TradesPerformance.MaxConsecLoser < 5
&& Performance.AllTrades.TradesPerformance.Points.CumProfit/TickSize < 100  
&& Performance.AllTrades.TradesPerformance.Points.CumProfit/TickSize > -50
по порядку:
сделка открывается, только если по инструменту нет открытых сделок этим роботом.
максимальное количество сделок с момента включения! робота (10) - 11 ю сделку он уже проигнорирует.
максимальное количество последовательных! сделок с отрицательным итогом с момента включения робота (5) - дальше робот сигналы будет игнорировать.
максимальная величина прибыли с момента включения робота - пересчитывается после закрытия! каждой сделки (100) - при итоге торгов свыше +100 пипс...... робот сигналы дальнейшие игнорирует.
максимальный отрицательный итог в торгах с момента включения робота.


P.S. для двух последних параметров........ лучше заменить их для проверки торгового счета, а не итога торгов............. это будет надежнее с тех. стороны.


Код:
&& GetAccountValue(AccountItem.CashValue) < maxCash 
&& GetAccountValue(AccountItem.CashValue) > minCash
вот так например......... тогда данные параметры будут не измены при сбое связи и вкл/выкл робота в период торгов.

и не забудте (для рабочего варианта) прописать условие


Код:
// Make sure this strategy does not execute against historical data
			
			if (Historical)	return;
 

Ernest

New Member
NinjaTrader
#10
Всем добрый день! хочу, написать робота но не-могу найти документацию по программированию на NT , помогите ко может.Желательно на русском.
 

Kotyk

Member
NinjaTrader
#14
Подскажите выдает ошибку при компиляции стратегии. Принт скрин добавлен. В чем проблема?
 

Вложения

Привал

Well-Known Member
NinjaTrader
#15
Код:
        protected override void Initialize()
        {
            Add(PriorDayHLR(radius));
            Enabled = true;                    // сразу запускаться
            CalculateOnBarClose = true;      // Вычисляем по окончании каждого бара
            ExitOnClose            = true;     // выходить в конце сессии
        }

        /// <summary>
        /// Called on each bar update event (incoming tick)
        /// </summary>
        protected override void OnBarUpdate()
        {
                if(Position.MarketPosition == MarketPosition.Flat)  
                    {   
                        EnterShortLimit(PriorDayHLR(radius).PriorR_Up[0], "");
                        EnterLongLimit(PriorDayHLR(radius).PriorR_Dn[0], "");
                    }
               
        }
Почему то не получается установить сразу два лимитника. Ставиться только тот что прописан первым. Если поменять местами, то ставится EnterLongLimit
а EnterShortLimit не проходит.
Почему не могу понять. Такое ощущение что есть какоето ограничение на количество лимитных ордеров... хотя я могу и ошибатся.
Подскажите как выставить сразу два лимитника на краях канала Up и Dn.
Заранее спасибо и всех с наступающим.
 
Вверх Снизу