У вас не стоит Flash Player
Настройки
#932 - Tue Jan 12 2010 01:41 PM Несколько вопросов по торговому алгоритму.
rtstrader Offline
newbie

Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
Я запустил простой торговый алгоритм в работу. Заявки выполняет как надо, стопы меняет и т.д. Вроде бы все хорошо.

Но появляются различные нюансы и в связи с этим есть вопросы.
Во-первых, как можно влиять на параметры во вкладке "Управление торговлей скриптами"? Например, если я закрою сгенерированную алгоритмом позицию вручную, то параметры "позиции" в указанной вкладке остануются. И скрипт будет генерировать сигналы, опираясь на устаревшие данные. Какие классы посмотреть для этого? Как правильно закрывать созданные скриптом позиции вручную?

Второй вопрос, основанный на вашем тестовом примере из хелпа.
Допустим, что я запускаю этот торговый скрипт через час после начала торгов. Как он себя должен вести, если например: торги начинаются в 10.30, сигнал по стратегии был в 11 утра и на момент запуска по идее торговой стратегии я уже должен быть в позиции. Как запущенный скрипт должен себя повести: войти при включении по рынку или дождаться следующего сигнала? Как можно регулировать эти моменты? Какими классами? Опять же ваш тестовый скрипт постоянно двигает стоп заявки по уровням. И вот, я опоздал его включением. Он сразу войдет в позицию или начнет просто ставить стоп-заявки по границам канала как будто никаких позиций и не должно быть? Это очень важный момент, потому что могут быть отклонения от расчетной стратегии, а это не гуд smile

И, третье. Есть ли какие-нибудь рекомендации по обеспечению корректного поведения робота в случае разрывов связи, сбоев брокера? На какие классы обратить внимание?

Спасибо smile

Наверх
#933 - Tue Jan 12 2010 02:13 PM Re: Несколько вопросов по торговому алгоритму. [Re: rtstrader]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Смотрите окно "менеджер команд". Любую открытую позицию можно закрыть оттуда, через контекстное меню. Так же можно принудительно войти по сигналу, который представлен условной заявкой.

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

Если вы запустили скрипт, а он сформировал торговый сигнал, который должен был исполниться раньше, то автоматического исполнения не произойдет, но сигнал будет присутствовать в "менеджере команд" и его можно исполнить вручную.

Что касается алгоритма HiLo, если вы опоздали, никого автоматического входа не будет, условные заявки будут выставлены в соответствии с последними данными.

В случае обрыва связи TSLab восстановит ее самостоятельно, будет закачана история и скрипт продолжит работу (кроме тиковых и секундных интервалов, по которым восстановление истории невозможно). Если во время обрыва необходимо было выйти из позиции, то программа будет вести себя аналогично описанному выше.

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

Наверх
#935 - Tue Jan 12 2010 03:35 PM Re: Несколько вопросов по торговому алгоритму. [Re: Nektodron]
rtstrader Offline
newbie

Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
Благодарю за оперативный ответ.
У меня пока нет каких-то конкретных идей, т.к. я запустил скрипт на тестирование только два дня назад. Проверяю стабильность его работы.

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

Я хочу торговать на фортс, а тестируюсь пока на демо-сервере на акциях газпрома. Мне трудно отслеживать адекватность сигналов smile Наверное, скоро просто перейду на реальный счет и буду работать одним контрактом какое-то время. Тогда будет конечно больше мыслей.

Наверх
#936 - Tue Jan 12 2010 04:01 PM Re: Несколько вопросов по торговому алгоритму. [Re: rtstrader]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Вход по рынку мог быть, если расчет показывал, что должен был быть вход на последнем баре.

Наверх
#937 - Tue Jan 12 2010 04:10 PM Re: Несколько вопросов по торговому алгоритму. [Re: Nektodron]
rtstrader Offline
newbie

Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
Понятно. Спасибо.

Наверх
#939 - Tue Jan 12 2010 04:42 PM Re: Несколько вопросов по торговому алгоритму. [Re: rtstrader]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Хотя сейчас подумал, что возможно это некорректное поведение для условных заявок.

Наверх
#962 - Wed Jan 13 2010 01:19 PM Re: Несколько вопросов по торговому алгоритму. [Re: Nektodron]
profit Offline
Pooh-Bah

Registered: Wed Jan 13 2010
Записи: 1835
Уважаемые подскажите как в редакторе скрипта MACD сделать так что бы закрытие позиции было не по пересечению ск.средних а по профиту,допустим 0,2% ,а стоп лось сробатывал как раз по пересечению ск.средних.
_________________________
Делаю простые вещи.

Наверх
#1021 - Wed Jan 13 2010 11:13 PM Re: Несколько вопросов по торговому алгоритму. [Re: Nektodron]
rtstrader Offline
newbie

Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
Значит заставим ее себя корректно вести smile
Сегодня скрипт работал от начала до конца, разрывы связи были и все было окей.

Посмотрим, слишком мало времени прошло )

Наверх
#1028 - Thu Jan 14 2010 10:45 AM Re: Несколько вопросов по торговому алгоритму. [Re: Nektodron]
rtstrader Offline
newbie

Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
Скажите, а что это может быть за ошибка?

При выставлении заявки у меня появилось сообщение "неверный формат запроса" (см. скрин)

А через минуту заявки нормально выставились.

Я так же приложил к посту кусочек лога.


Attachments
error.GIF (375 downloads)
Description: скрин

log.txt (209 downloads)
Description: лог



Наверх
#1029 - Thu Jan 14 2010 10:51 AM Re: Несколько вопросов по торговому алгоритму. [Re: rtstrader]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Такое сообщение иногда выдает сервер Транзак. Обычно оно бывает, когда заявки пытаются выставить до или после торгов. Страшного в этом ничего нет, но будем дальше с ними разбираться.

Наверх
#1035 - Thu Jan 14 2010 11:10 AM Re: Несколько вопросов по торговому алгоритму. [Re: Nektodron]
rtstrader Offline
newbie

Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
Ясно.
Это странно, потому что торги-то уже шли )

Наверх
#1037 - Thu Jan 14 2010 11:17 AM Re: Несколько вопросов по торговому алгоритму. [Re: rtstrader]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Ну и говорю, что обычно. Я сам такие сообщения иногда вижу. С нашей стороны формат отсылаемых им запросов всегда одинаков...

Наверх
#1054 - Thu Jan 14 2010 01:18 PM Re: Несколько вопросов по торговому алгоритму. [Re: Nektodron]
rtstrader Offline
newbie

Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
Кстати, вот еще один глюк вылез. Скрипт торгует 90% от портфеля газпромом. Зашел в лонг на 1402 акции, а стоп-заявку почему поставил на 1048 акций smile

Она сработала, затем связь с сервером разорвалась, он снова соединился и допродал остаток ))

В принципе, я собираюсь фиксированным числом контрактов торговать, так что меня это не очень беспокоит. Просто для информации.

Наверх
#1148 - Sat Jan 16 2010 10:08 PM Re: Несколько вопросов по торговому алгоритму. [Re: rtstrader]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Пришлите, пожалуйста, лог за эти дни, когда скрипт торговал.

Наверх
#1153 - Sun Jan 17 2010 02:22 PM Re: Несколько вопросов по торговому алгоритму. [Re: Nektodron]
rtstrader Offline
newbie

Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
Хорошо.
В понедельник все приложу.

Пока скрипт ведет себя не так как нужно только на открытии торгов. Как правило, сначала он получает от сервера транзака ответы о неверном формате запроса, затем, когда ему удается, входит в рынок не стоп заявкой, а по рынку.

Еще меня беспокоит, что у финама с фортса данные идут медленно, медленнее, чем у АйТи инвест, например. frown И как я понял, это особенность транзака, которую так просто и не устранить. Если на минутках торговать, как я собираюсь, наверное проскальзывание будет сильное (

И как пожелание по улучшению хелпа. Он у Вас очень лаконичный. Не плохо было бы снабдить описание методов и классов примерами, как это сделано в Велслаб.

Code:
IsLastBarOfDay
bool IsLastBarOfDay(int bar)

Returns true if this is the last bar of a particular day for intraday data.  If the Bars object contains non-intraday data, IsLastBarOfDay always returns false.  If bar equals the last bar of data in the chart, IsLastBarOfDay finds the previous bar that was the last bar of the day, and compares the time values to determine if the bar is in fact the last bar of the current day.


--------------------------------------------------------------------------------

Example
protected override void Execute(){
    // Daytrading SMA crossover script (backtesting only) 
    // that closes all positions at the end of the day.

    DataSeries hMAFast = SMA.Series( Close, 10 );
    DataSeries hMASlow = SMA.Series( Close, 30 );
    PlotSeries( PricePane, hMAFast, Color.Green, WealthLab.LineStyle.Solid, 1 );
    PlotSeries( PricePane, hMASlow, Color.Red, WealthLab.LineStyle.Solid, 1 );
    
    for(int bar = hMASlow.FirstValidValue; bar < Bars.Count; bar++)
    {
        if (!IsLastPositionActive)
        {
            if ( Bars.IsLastBarOfDay( bar ) == false )
                if ( CrossOver( bar, hMAFast, hMASlow ) )
                BuyAtMarket( bar+1, "XOver" );
        }
        else
        {
            Position p = LastPosition;
            if ( Bars.IsLastBarOfDay( bar ) == true )
                SellAtClose( bar, p, "EOD" );
            else
            {
                // normal intraday exit logic
                if ( CrossUnder( bar, hMAFast, hMASlow ) )
                    SellAtMarket( bar+1, p, "XUnder" );
                }
        }
    }
}




Отредактировано rtstrader (Sun Jan 17 2010 02:52 PM)

Наверх
#1181 - Mon Jan 18 2010 10:25 AM Re: Несколько вопросов по торговому алгоритму. [Re: rtstrader]
rtstrader Offline
newbie

Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
Выкладываю логи.


Attachments
Logs.zip (156 downloads)


Наверх
#1215 - Tue Jan 19 2010 11:04 AM Re: Несколько вопросов по торговому алгоритму. [Re: rtstrader]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Да, действительно, из-за того, что заявка в 1402 лота заполнилась не сразу, а партиями. Сначала в 6 сделок на 1048 лотов, а через минуту докупились остальные 354.
Стоп был выставлен после первой части в 1048 и он велся, пока не исполнился. После чего система сразу же продала по рынку 354 лота и свела баланс в 0.

Да, это не есть корректное поведение и будет исправлено.

PS. Как я понял у вас стоят нулевые проскальзывания, если указать проскальзывание больше нуля, то такой ситуации скорее всего бы не произошло.


Отредактировано Nektodron (Tue Jan 19 2010 11:06 AM)

Наверх
#1223 - Tue Jan 19 2010 12:02 PM Re: Несколько вопросов по торговому алгоритму. [Re: Nektodron]
rtstrader Offline
newbie

Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
Да, стоят нулевые проскальзывания. Буду учитывать эту особенность.

У меня скрипт торгует на минутном графике, и исполняется раз в минуту. А можно сделать так, чтобы он чаще исполнялся?

Например, для того, чтобы после входа в сделку стоп выставлялся быстрее чем через минуту?


Отредактировано rtstrader (Tue Jan 19 2010 12:56 PM)

Наверх
#2142 - Sat Feb 13 2010 06:59 AM Re: Несколько вопросов по торговому алгоритму. [Re: rtstrader]
Frend Online   content
Pooh-Bah

Registered: Sat Jan 09 2010
Записи: 2054
Поддерживаю вопрос
_________________________
Помогу с реализацией вашей идеи, оценкой системы. Консультации
frendwork@rambler.ru

Наверх
#2143 - Sat Feb 13 2010 11:39 AM Re: Несколько вопросов по торговому алгоритму. [Re: Frend]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Я уже объяснял это.
Сделать можно легко. Достаточно включить режим пересчета "сделка", вместо "интервал".
Но что мы получаем в итоге. Скрипт будет рассчитывать индикаторы на незакрытых барах. Незакрытый бар после каждой сделки может случайным образом изменить минимум, максимум и закрытие. Т.е. может произойти пересечение сглаженных кривых и т.п. Иными словами будут появляться "неучтенные" сигналы.
На самом деле, если у вас такие короткие сделки (1-3 бара), что важно выставить стоп сразу после входа, то нужно уменьшать базовый интервал с минут в 5-20сек.

Наверх


Moderator:  ViL, sar