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

Historical Data Простая RSI стратегия пытается открывать ордера в реале вместо симуляции

artemiusgreat

New Member
NinjaTrader
#1
Пытаюсь разобраться с тестированием АТС

1. нагенерил простую RSI стратегию, managed mode, live ******************* account
2. попытался запустить ее на графике MSFT и еще нескольких US stocks
3. при запуске в режиме "Order Fill Resolution" = "Standard" стратегия кое-как выполняется
4. при запуске в режиме "Order Fill Resolution" = "High" / 1 Tick стратегия с какого-то перепуга пытается открыть позицию, получает ошибку "Trading session closed" и отключается
5. также пробовал тестировать и запускать АТС из консоли, без привязки к графику, тогда выдает другую ошибку - что нет Market Data, хотя я подгрузил Historical Data для MSFT и AMZN с *******************

Вопросы:

1. почему именно при тестировании на тиках, даже на симуляции стратегия пытается выставлять реальный ордер?
2. есть ли в NT8 режим тестирования похожий на MetaTrader, когда котировки не за раз подгружаются, а симулируют реальные торги, где бары по одному отрисовываются?

Во вложении скрины с настройкаим стратегии и CS файл с кодом.
 

Вложения

Последнее редактирование:

Nikolaevich

Well-Known Member
NinjaTrader
#3
когда котировки не за раз подгружаются, а симулируют реальные торги, где бары по одному отрисовываются?
да есть и такое , в разделе подключение в самом низу подключиться к симулейтед дата фид .
По простому можно пояснить что должна делать стратегия по задумке ?
 

artemiusgreat

New Member
NinjaTrader
#4
Так вы запустите тестер стратегий, на анг. версии Stratagy Analyzer. Там и тестируйте. Так же можно подгрузить данные в марке реплей, и прогнать как на мт4.
Да, спасибо, в Strategy Analyzer нормально запускается, правда, есть еще непонятные моменты

1. вроде Historical Data загружена за последний год, с 2017-01-01 по 2017-11-11, и вроде ордера выставляются начиная с января, но в разделе Analysis, там где график прибыли, почему-то показаны сделки только с 2017-05-31

2. сейчас у меня в Market Replay ничего нельзя сделать, наверное, потому что нет истории, мой брокер имеет минутную историю для US stocks, но я могу сгенерировать тиковые данные из МТ5, можно ли как-то подставить их в Market Replay или это только за деньги с серверов NinjaTrader?

3. если я хочу сделать произвольный трейлинг, это только через Unmanaged Orders делается?

Алгоритм трейлинга:

1. запомнить текущую прибыль по открытым позициям
2. как только текущая прибыль становится меньше 90% от последней запомненной, начинать трейлинг

Это улучшает стратегии, т.к. изначально не реагирует на шум на рынке ниже определенного порога. Так делал в МТ5:

Код:
void OnTick()
{
    double aim = 0;
    double income = 0;
    double commission = 0;
    double equity = AccountInfoDouble(ACCOUNT_EQUITY);

    int count = iExperts.Total();

    for (int k = 0; k < count; k++)
    {
        CExpert * expert = iExperts.At(k);

        double point = SymbolInfoDouble(expert.iSymbol, SYMBOL_POINT);
        double volumeBuy = expert.iPositions.getPositionsSize(expert.iSymbol, 1);
        double volumeSell = expert.iPositions.getPositionsSize(expert.iSymbol, -1);
        double volume = volumeBuy + volumeSell;

        income += iTrades.getPositionsIncome(expert.iSymbol);
        aim += iHelpers.pipsToMoney(expert.iSymbol, MathMin(volumeBuy, volumeSell), InpLevel);
        commission += iHelpers.getTickCost(expert.iSymbol, volume) * InpCommission * volume * 2;  // считаем накопленную комиссию
    }

    if ((income < iIncome * 0.9 && income > commission * 10)) // если профит по позам окупил комиссию, и начал уменьшаться, то начинаем трейлить или кроемся
    {
        iIncome = 0;
        iTrades.closeOrders();
        iTrades.closePositions();
        iBalance = AccountInfoDouble(ACCOUNT_EQUITY);
        return;
    }

    for (int k = 0; k < count; k++)
    {
        CExpert * expert = iExperts.At(k);
        expert.tick(1);
    }

    iIncome = MathMax(iIncome, income); // запоминаем профит на предыдущем шаге чтобы если мы начнем терять деньги, то цена развернулась и пора крыть позиции
}
 

artemiusgreat

New Member
NinjaTrader
#5
да есть и такое , в разделе подключение в самом низу подключиться к симулейтед дата фид .
По простому можно пояснить что должна делать стратегия по задумке ?
по простому, дубовая RSI стратегия, которая при пересечении снизу-вверх делает Buy
закрывается только по достижению опр. профита, самое простое - Take Profit ордер в 2 раза больше Stop Loss, чтобы улучшить показатель надо добавить трал как описал выше
на рынке акций это работает потому что

1. там нет свопов как в CFD или Forex
2. голубые фишки практически всегда растут, т.е. надо ловить только тренд вверх
3. даже если встрял с позой, то крыть не обязательно, т.к. нормальные компании платят дивиденды
 

artemiusgreat

New Member
NinjaTrader
#6
на картинке примерный профит, только надо

1. прогнать на тиках
2. добавить трал
3. найти, где в настройках NT8 устанавливается депозит для тестирования, чтобы знать, достаточно ли для этой стратегии, к примеру $1К или $5К

на аккаунте Sim101 почему-то всегда стоит $100000, можно как-то изменить значение денег на тестовом счете?
 

Вложения

  • 378,2 КБ Просмотры: 12