Визарт для стратегий

D

DSDS

New Member
NinjaTrader
  • #1
Здравствуйте все!

Пытаюсь создать простейшую стратегию при помощи визарта, но не получается разместить и убрать ордера.
Создано две стратегии одна чтоб поставить ордер, другая чтобы убрать все ордера. Ничего не работает. Стратегии окрашиваются в желтый цвет. См. скриншоты.
Прошу помощи.
 

Вложения

  • 1.JPG
    47,6 КБ · Просмотры: 381
  • #2
2
 

Вложения

  • 2.JPG
    49 КБ · Просмотры: 342
  • #3
3
 

Вложения

  • 4.JPG
    59,1 КБ · Просмотры: 330
  • #4
4
 

Вложения

  • 5.JPG
    59,2 КБ · Просмотры: 327
  • #5
5
 

Вложения

  • 13.JPG
    29,3 КБ · Просмотры: 325
  • #6
В окне отупута написано:
**NT** Enabling NinjaScript strategy 'VOLORDERPAND/e50834b4185e43c98982c561a1dcbd79' : On starting a real-time strategy - StrategySync=WaitUntilFlat SyncAccountPosition=False EntryHandling=AllEntries EntriesPerDirection=1 StopTargetHandling=PerEntryExecution ErrorHandling=StopStrategyCancelOrdersClosePositions ExitOnClose=True/ triggering 30 before close Set order quantity by=Strategy ConnectionLossHandling=KeepRunning DisconnectDelaySeconds=10 CancelEntryOrdersOnDisable=False CancelExitOrdersOnDisable=True CalculateOnBarClose=True MaxRestarts=4 in 5 minutes
**NT** Enabling NinjaScript strategy 'VOLCLOSE/8c0c1005b63b4ec98186dba8d78615ff' : On starting a real-time strategy - StrategySync=WaitUntilFlat SyncAccountPosition=False EntryHandling=AllEntries EntriesPerDirection=1 StopTargetHandling=PerEntryExecution ErrorHandling=StopStrategyCancelOrdersClosePositions ExitOnClose=True/ triggering 30 before close Set order quantity by=Strategy ConnectionLossHandling=KeepRunning DisconnectDelaySeconds=10 CancelEntryOrdersOnDisable=False CancelExitOrdersOnDisable=True CalculateOnBarClose=True MaxRestarts=4 in 5 minutes
 
  • #7
DSDS сказал(а):
В окне отупута написано:
**NT** Enabling NinjaScript strategy 'VOLORDERPAND/e50834b4185e43c98982c561a1dcbd79' : On starting a real-time strategy - StrategySync=WaitUntilFlat SyncAccountPosition=False EntryHandling=AllEntries EntriesPerDirection=1 StopTargetHandling=PerEntryExecution ErrorHandling=StopStrategyCancelOrdersClosePositions ExitOnClose=True/ triggering 30 before close Set order quantity by=Strategy ConnectionLossHandling=KeepRunning DisconnectDelaySeconds=10 CancelEntryOrdersOnDisable=False CancelExitOrdersOnDisable=True CalculateOnBarClose=True MaxRestarts=4 in 5 minutes
**NT** Enabling NinjaScript strategy 'VOLCLOSE/8c0c1005b63b4ec98186dba8d78615ff' : On starting a real-time strategy - StrategySync=WaitUntilFlat SyncAccountPosition=False EntryHandling=AllEntries EntriesPerDirection=1 StopTargetHandling=PerEntryExecution ErrorHandling=StopStrategyCancelOrdersClosePositions ExitOnClose=True/ triggering 30 before close Set order quantity by=Strategy ConnectionLossHandling=KeepRunning DisconnectDelaySeconds=10 CancelEntryOrdersOnDisable=False CancelExitOrdersOnDisable=True CalculateOnBarClose=True MaxRestarts=4 in 5 minutes

стратегия данная учитывает историю сигнала.........и при включении ее на графике , если сигнал был ранее, то стратегия находится в режиме "симуляции сделки" - желтый цвет.

вам нужно прописать :
либо

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

либо указать "временное окно ....... в которое данный сигнал будет приниматься

Код:
&& ToTime(Time[0]) > 90000 
&& ToTime(Time[0]) < 150000

как примеры

и не обязательно делать 2 стратегии.........
 
  • #8
Спасибо большое Дмитрий!

Не все понял, но буду разбираться.
(Добавление)
Две стратегии - это метод поиска ошибки.
 
  • #9
Вставил то, что Вы написали (хотя до конца не понял в чем дело). Первое решение помогло (ордера позеленели). Второе решение не проходит компиляцию.
Но даже после первого решения зеленый ордер не выполняет свою функцию. Вот его код:

Код:
protected override void OnBarUpdate()
        {

         // Make sure this strategy does not execute against historical data

          if (Historical)       return;
                
            // Condition set 1
            if (VOL()[0] > VOLinput0)
            {
                ExitShort("", "");
                ExitLong("", "");
            }
        }
При запуске VOLinput0 = 1, при этом все ордера при запуске стратегии должны закрываться. А они не закрываются.

Не понимаю почему?
 
  • #10
Еще появился вопрос:
Как после редактирования кода в текстовом редакторе вернуться у его редактированию в визарте?
 
  • #11
DSDS сказал(а):
При запуске VOLinput0 = 1, при этом все ордера при запуске стратегии должны закрываться. А они не закрываются.

Не понимаю почему?

стратегия закроет те сделки........ которые самаже и открыла.
у вас
Код:
 ExitShort("", "");
ExitLong("", "");
закрытие сделки , а не отмена ордера.
 
  • #12
DSDS сказал(а):
Как после редактирования кода в текстовом редакторе вернуться у его редактированию в визарте?
Никак
 
  • #13
Дмитрий и Владко спасибо огромное за ответы.
 
  • #14
Здравствуйте, я пытаюсь создать стратегию с помощью визарта, но не могу понять, как описать условия, чтобы робот входил в позицию после разворота индикатора. Помогите пожалуйста.
 

Вложения

  • bandicam 2013-12-05 22-40-17-728.jpg
    81,6 КБ · Просмотры: 150
  • #15
Вышли индикатор, попробую написать строки обращения стратегии к индикатору. Не всегда это возможно, потому что некоторые индикаторы написаны так, что только визуально их можно наблюдать...
 
  • #16
Это PriceOscillator. Если это возможно сделать с помощью визарта, пожалуйста поясните как. Думаю, что загвоздка в реляционных операторах.
 
  • #17
А в чем проблема сделать это в визарде? Разворот определяется как: [значение 2 бара назад] > [значение 1 бар назад] < [значение на текущем баре]. Все это легко записывается в визарде.
 
  • #18
спасибо большое за помощь
 
  • #19
Если я вас правильно понял, vladko , разворот должен выглядеть так:
 

Вложения

  • bandicam 2014-01-10 16-38-51-920.jpg
    233,4 КБ · Просмотры: 77
  • #20
Похоже на то.
 
Назад
Верх Низ