#932 - Tue Jan 12 2010 01:41 PM
Несколько вопросов по торговому алгоритму.
|
newbie
Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
|
Я запустил простой торговый алгоритм в работу. Заявки выполняет как надо, стопы меняет и т.д. Вроде бы все хорошо. Но появляются различные нюансы и в связи с этим есть вопросы. Во-первых, как можно влиять на параметры во вкладке "Управление торговлей скриптами"? Например, если я закрою сгенерированную алгоритмом позицию вручную, то параметры "позиции" в указанной вкладке остануются. И скрипт будет генерировать сигналы, опираясь на устаревшие данные. Какие классы посмотреть для этого? Как правильно закрывать созданные скриптом позиции вручную? Второй вопрос, основанный на вашем тестовом примере из хелпа. Допустим, что я запускаю этот торговый скрипт через час после начала торгов. Как он себя должен вести, если например: торги начинаются в 10.30, сигнал по стратегии был в 11 утра и на момент запуска по идее торговой стратегии я уже должен быть в позиции. Как запущенный скрипт должен себя повести: войти при включении по рынку или дождаться следующего сигнала? Как можно регулировать эти моменты? Какими классами? Опять же ваш тестовый скрипт постоянно двигает стоп заявки по уровням. И вот, я опоздал его включением. Он сразу войдет в позицию или начнет просто ставить стоп-заявки по границам канала как будто никаких позиций и не должно быть? Это очень важный момент, потому что могут быть отклонения от расчетной стратегии, а это не гуд И, третье. Есть ли какие-нибудь рекомендации по обеспечению корректного поведения робота в случае разрывов связи, сбоев брокера? На какие классы обратить внимание? Спасибо
|
Наверх
|
|
|
|
#933 - Tue Jan 12 2010 02:13 PM
Re: Несколько вопросов по торговому алгоритму.
[Re: rtstrader]
|
Carpal Tunnel
Registered: Thu Oct 23 2008
Записи: 5492
|
Смотрите окно "менеджер команд". Любую открытую позицию можно закрыть оттуда, через контекстное меню. Так же можно принудительно войти по сигналу, который представлен условной заявкой.
Если вы закрыли позиции вручную, то чтобы скрипт не пытался вести несуществующую позицию ему нужно сменить торговое имя в "управлении портфелем". Либо при закрытии вручную необходимо комментарий к заявке прописать аналогично тому, который создает TSLab.
Если вы запустили скрипт, а он сформировал торговый сигнал, который должен был исполниться раньше, то автоматического исполнения не произойдет, но сигнал будет присутствовать в "менеджере команд" и его можно исполнить вручную.
Что касается алгоритма HiLo, если вы опоздали, никого автоматического входа не будет, условные заявки будут выставлены в соответствии с последними данными.
В случае обрыва связи TSLab восстановит ее самостоятельно, будет закачана история и скрипт продолжит работу (кроме тиковых и секундных интервалов, по которым восстановление истории невозможно). Если во время обрыва необходимо было выйти из позиции, то программа будет вести себя аналогично описанному выше.
Если у вас есть какие-либо идеи касательно того, как должна вести себя программа в таких аварийных ситуациях - предлагайте, обсудим. В любом случае, любой робот требует контроля, особенно, если вы не можете обеспечить стабильное соединение с сервером.
|
Наверх
|
|
|
|
#935 - Tue Jan 12 2010 03:35 PM
Re: Несколько вопросов по торговому алгоритму.
[Re: Nektodron]
|
newbie
Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
|
Благодарю за оперативный ответ. У меня пока нет каких-то конкретных идей, т.к. я запустил скрипт на тестирование только два дня назад. Проверяю стабильность его работы. Пока мне показалось странным, что при первом запуске скрипта у меня вчера и сегодня был вход в позицию по рынку через минуту после старта. Правда, я запускал скрипт не сначала торговой сессии. Я хочу торговать на фортс, а тестируюсь пока на демо-сервере на акциях газпрома. Мне трудно отслеживать адекватность сигналов Наверное, скоро просто перейду на реальный счет и буду работать одним контрактом какое-то время. Тогда будет конечно больше мыслей.
|
Наверх
|
|
|
|
#937 - Tue Jan 12 2010 04:10 PM
Re: Несколько вопросов по торговому алгоритму.
[Re: Nektodron]
|
newbie
Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
|
|
Наверх
|
|
|
|
#962 - Wed Jan 13 2010 01:19 PM
Re: Несколько вопросов по торговому алгоритму.
[Re: Nektodron]
|
Pooh-Bah
Registered: Wed Jan 13 2010
Записи: 1835
|
Уважаемые подскажите как в редакторе скрипта MACD сделать так что бы закрытие позиции было не по пересечению ск.средних а по профиту,допустим 0,2% ,а стоп лось сробатывал как раз по пересечению ск.средних.
_________________________
Делаю простые вещи.
|
Наверх
|
|
|
|
#1021 - Wed Jan 13 2010 11:13 PM
Re: Несколько вопросов по торговому алгоритму.
[Re: Nektodron]
|
newbie
Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
|
Значит заставим ее себя корректно вести Сегодня скрипт работал от начала до конца, разрывы связи были и все было окей. Посмотрим, слишком мало времени прошло )
|
Наверх
|
|
|
|
#1028 - Thu Jan 14 2010 10:45 AM
Re: Несколько вопросов по торговому алгоритму.
[Re: Nektodron]
|
newbie
Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
|
Скажите, а что это может быть за ошибка?
При выставлении заявки у меня появилось сообщение "неверный формат запроса" (см. скрин)
А через минуту заявки нормально выставились.
Я так же приложил к посту кусочек лога.
Attachments
error.GIF (384 downloads)Description: скринlog.txt (216 downloads)Description: лог
|
Наверх
|
|
|
|
#1035 - Thu Jan 14 2010 11:10 AM
Re: Несколько вопросов по торговому алгоритму.
[Re: Nektodron]
|
newbie
Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
|
Ясно. Это странно, потому что торги-то уже шли )
|
Наверх
|
|
|
|
#1054 - Thu Jan 14 2010 01:18 PM
Re: Несколько вопросов по торговому алгоритму.
[Re: Nektodron]
|
newbie
Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
|
Кстати, вот еще один глюк вылез. Скрипт торгует 90% от портфеля газпромом. Зашел в лонг на 1402 акции, а стоп-заявку почему поставил на 1048 акций Она сработала, затем связь с сервером разорвалась, он снова соединился и допродал остаток )) В принципе, я собираюсь фиксированным числом контрактов торговать, так что меня это не очень беспокоит. Просто для информации.
|
Наверх
|
|
|
|
#1153 - Sun Jan 17 2010 02:22 PM
Re: Несколько вопросов по торговому алгоритму.
[Re: Nektodron]
|
newbie
Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
|
Хорошо. В понедельник все приложу. Пока скрипт ведет себя не так как нужно только на открытии торгов. Как правило, сначала он получает от сервера транзака ответы о неверном формате запроса, затем, когда ему удается, входит в рынок не стоп заявкой, а по рынку. Еще меня беспокоит, что у финама с фортса данные идут медленно, медленнее, чем у АйТи инвест, например. И как я понял, это особенность транзака, которую так просто и не устранить. Если на минутках торговать, как я собираюсь, наверное проскальзывание будет сильное ( И как пожелание по улучшению хелпа. Он у Вас очень лаконичный. Не плохо было бы снабдить описание методов и классов примерами, как это сделано в Велслаб. 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]
|
newbie
Registered: Fri Jan 01 2010
Записи: 35
Loc: N.Novgorod
|
Выкладываю логи.
Attachments
Logs.zip (163 downloads)
|
Наверх
|
|
|
|
#1223 - Tue Jan 19 2010 12:02 PM
Re: Несколько вопросов по торговому алгоритму.
[Re: Nektodron]
|
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]
|
Pooh-Bah
Registered: Sat Jan 09 2010
Записи: 2054
|
Поддерживаю вопрос
_________________________
Помогу с реализацией вашей идеи, оценкой системы. Консультации frendwork@rambler.ru
|
Наверх
|
|
|
|
|
|