← Back

Дневник робота

Всем привет! В нашем блоге поместил два поста о результатах работы одного нашего торгового робота. Идея для стратегии моя, реализация - Муханчиков Александр. Первый пост "как бы" двухмесячной давности. Еще тогда хотел поместить его, но ждал, когда на сайте появится раздел Статьи. В итоге решил, что так все интересное пройдет и запостил в блог. Второй пост со свежими данными, только что из печки. Присоединяйтесь к обсуждению и пишите о своих успехах!

Вот выдержка из статьи

Итак, мы имеем систему с очень привлекательными показателями доходности, и нам не хотелось бы отказываться от неё. Что же делать? Давайте вернемся с устойчивости самой системы. График оптимизации значений параметра, как мы помним, имеет плохую картинку, которая предостерегает нас о возможности переоптимизации – подгонки под определенный цикл рынка. Эту подгонку под определенный период рынка мы можем увидеть, посмотрев на распределение прибыли по месяцам. ( В WLD – это вкладка By Period, выбираем период по месяцам). Если стратегия подогнана под определенный рыночный цикл, следует ожидать, что будут сильно выделяться несколько месяцев по прибыли, также будут месяцы по прибыли близкие к 0 или же вовсе убыточные.

торговые роботы

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

Вы хотите работать командой и делиться идеями?

Comments (36)

Login or Create account, Log in or register to leave a comment

Evgeny_K
Evgeny_K

Идея клуба алготрейдеров мне нравится. Я хотел бы участвовать в таком клубе.

StockSharp
StockSharp Author

Evgeny_K: Идея клуба алготрейдеров мне нравится. Я хотел бы участвовать в таком клубе.

Вы в каком городе проживаете?

Evgeny_K
Evgeny_K

Alen:

Evgeny_K: Идея клуба алготрейдеров мне нравится. Я хотел бы участвовать в таком клубе.

Вы в каком городе проживаете?

Люберцы. В Москве бываю не менее раза в неделю. Можно еще в Скайпе встречаться, кстати.

Mikhail Sukhov
Mikhail Sukhov

Evgeny_K:

Alen:

Evgeny_K: Идея клуба алготрейдеров мне нравится. Я хотел бы участвовать в таком клубе.

Вы в каком городе проживаете?

Люберцы. В Москве бываю не менее раза в неделю. Можно еще в Скайпе встречаться, кстати.

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

Church
Church

Идея отличная. Я не в Москве, но бываю раз-два в месяц.

Alexander
Alexander

Предлагаю сегодня как обычно в бар да по бабам.

Mikhail Sukhov
Mikhail Sukhov

Alexander Mukhanchikov: Предлагаю сегодня как обычно в бар да по бабам.

Наберем в скайпе человек 200-300 и будем тусы устраивать на Манежке.😂

StockSharp
StockSharp Author

ПИШЕМ СКАЙП, ДОБАВЛЯЮ В ГРУППУ!

Evgeny_K
Evgeny_K

Alen: ПИШЕМ СКАЙП, ДОБАВЛЯЮ В ГРУППУ!

Мой Скайп: valinn.

Mikhail Sukhov
Mikhail Sukhov

Alen: ПИШЕМ СКАЙП, ДОБАВЛЯЮ В ГРУППУ!

Заполняйте еще и в профайле на сайте.

Лидия
Лидия

lg_lidia Только я совсем начинающий.... Но завтра, надеюсь, все начнет меняться в лучшую сторону :)))) Кстати, а интересно, много ли среди алготрейдеров девушек :) ?

Mikhail Sukhov
Mikhail Sukhov

Лидия: Но завтра, надеюсь, все начнет меняться в лучшую сторону :))))

А что будет завтра?

Лидия
Лидия

Mikhail Sukhov:

Лидия: Но завтра, надеюсь, все начнет меняться в лучшую сторону :))))

А что будет завтра?

Курсы стартуют :)

Church
Church

Скайп ematvey

StockSharp
StockSharp Author

Простите за грамм ошибки,очень спешил ) спешел фо кружок алготрейдинга.

Идея, на которой можно построить торгового робота.

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

Существует несколько способов нахождений закономерностей 1) Мы исследуем рынок, и пытаемся найти некую закономерность.
2) мы смотрим на рынок, ищем те движения, которые мы хотели бы научиться брать, и пытаемся найти закономерность, которая привела к этому движению.

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

Наблюдая за рынком, я увидел, что в течение дня, как правило, существует два мощных движения. Если направление этих движений совпадает, получается Ударный День. Если эти движения разнонаправленны, день флетовый.Мне захотелось научиться брать эти движения, что естественно – прибыль там максимальная, а время нахождение в позиции минимально. Да что говорить, все вы знаете, как приятно оказаться в мощном трейде и следить, как быстро растет размер твоего профита.

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

http://pics.livejournal.com/apollon_alen/pic/0001wb4s/

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

http://pics.livejournal.com/apollon_alen/pic/0001xbta/ Надо сказать, что до этого я занимался объёмами, направление в трейдинге, которое старается определить направление рынка с помощью объемов. Большие объемы = большие игроки, и надо понять, куда они намылились. Поэтому под закономерность о пробитии некоторых, часто явных уровней, я придумал следующую теорию, связанную с логикой крупных игроков: в некоторые моменты, на рынке возникает определенность, в какую сторону мы пойдем. Мелкие игроки вполне могут просчитать это направление, крупный игрок так же понимает, что сейчас мы пойдем вверх/вниз. Но, крупному игроку надо набрать позу. Как это сделать, не двинув рынок? Тем более что входить придется рыночными заявками в тот момент, когда рынок и так настроен в определенную сторону такой вход будет на большом проскальзывании. Выход следующий – подтолкнуть рынок в сторону, противоположную текущему настроению, собрать стопы, что позволит войти хорошими объемами без проскальзывания. Я не хочу поднимать тему кукловодства, т.к. считаю, что это отговорки безответственных трейдеров, но такое поведение крупного игрока вполне логично. Ничего личного, надо набрать позицию и это делается за счет спекулянтов. Посмотрите на график с этой точки зрения, увидите, как часто рынок разворачивается после пробоя некого уровня (часто это пики внутри дня). К сожалению такой подход оказалось трудно запрограммировать, определить четкие критерии для описания уровня, после пробития которого надо входить в позицию, я не смог. Одна попытка привела к созданию среднесрочного робота, код которого я выложу в другом посте. Но интрадей робота на этом наблюдении создать не получилось. Я решил зайти с другой стороны и провести исследование, которое мне должно было подсказать, как все-таки брать эти движения.

Был написан код для исследования. Цель исследования заключалась в следующем – найти статистические точки входа, после которых цена минимально идет не в нашу сторону и максимально в нашу.

http://pics.livejournal.com/apollon_alen/pic/0001y7a1/

Для этого мы написали такой код. Если в точке 2 (точка выхода), цена находилась выше точки 1 (точки входа), то в точке 1 задним числом совершалась покупка. И наоборот. Точки 1 и 2 представляли собой точки во времени. Т.е. вход осуществлялся в 10.05, выход в 10.10-10.15-10.20, таким образом, перебираем все временные точки на выход и все временные точки на вход. Конечно это подсматривание, но у нас была цель провести исследование. Его мы и проводим. После результатов теста, нужно было смотреть на показатели Recovery Factor (RF) – он показывает отношение прибыли к максимальной просадке. Соответственно максимальный показатель будет в тех точках, где движение против нас было минимальным, а в нашу сторону максимальным. http://pics.livejournal.com/apollon_alen/pic/0001z0wd/

Вот иллюстрация, какие точки нам должен был показывать RF и как он должен был подсказать нам точки, после которых идет мощный тренд. Исследование дало интересные результаты. РЕЗУЛЬТАТЫ ДЛЯ ЛОНГОВ Вот распределение RF по всем протестированным комбинациям (из выборки были удалены комбинации с средним профитом меньше 0.5%) http://pics.livejournal.com/apollon_alen/pic/00020edd/

Мы видим, что существую точки, где RF существенно отличается от обычного. Особенно сильно идет падение параметра в самом начале. Такой график показывает, что те параметры с хорошим RF, это действительно редкость. Результаты для шортов выкладывать не буду.

В итоге у меня вышло, что точки входа с максимальным RF, между 10.40 и 11.40 и выход в 16.30 – 17.30 (для лонгов, для шортов позже допишу). И вторая хорошая точка, с 17.30-40 до 21 часа.

StockSharp
StockSharp Author

Какие минусы у этого исследования. В моем тестовом коде можно было протестить данные только с 07.2010 по сей день, а это маловато.

Какие выводы из исследования - существую точки, в которых можно входить с минимальным риском и после которых идет сильное движение. Точки эти вполне четко определены во времени. Что остается нам - найти паттерны, по которым будем входить в этих точках.

Что бы мне хотелось - напишите код самостоятельно и проведите свои исследования, может увидите то, что я не заметил. Код исследования я выкладывать не буду! Но позже выложу код одной стратегии, которую сделал когда пытался ложные пробои запрограммировать.

nabuke
FinDirector
FinDirector

Для утренних лонгов можно использовать фильтр. Не входить, если есть бар, который закрылся ниже, чем на X пунктов (например, 800) по сравнению с закрытием первой пятиминутки. Возможны варианты, например, не входить, если есть 2 или более таких баров.

gambler_max
gambler_max

В добавление к опубликованной статье хотел бы поделиться рядом своих наблюдений. Данное исследование я провел весной этого года вкопавшись слегка в тему рыночных профилей. Отбросив (а точнее отложив в сторону тот факт, что профиль штука весьма и весьма полезная и продуктивная) заглянем в книжки и рекламные проспекты. В бОльшей части из них указывается на высокую значимость периода открытия рынка (дневной сессии) и дается утверждение, что в более чем 60% случаев на амерофучах как минимуму и на стоках как максимум в течении первого часа формируется хай и лоу рынка. На основе этого факта (точнее утверждения) строится множество систем (привет Киевлянину), рисуются ацццки красивые графики и барыжатся граали. Принимая во внимание тот факт, что Профиль Рынка это круто (и как не странно логичнообоснованно) и, что мы тут не там и у нас свой РТС я решил кой-чего покопать. (я на одном форумевыкладывал уже резалт - на тематическом, но там его как-то странно восприняли - скорее как наезд на классиков) Исследование проводилось на полугодовых данных (взятых у финама) И я пытался выяснить: 1.можно ли по Диапазону Открытия "предположить" развитие торговли внутри дня. 2.действительно ли в течении первого часа торгов формируется экстремум у 60 дней из 100. Все дни разбил по 2м группам: №1 Дни, у которых диапазон открытия >50% от среднедневного диапазона за последние 10 дней. В случае, если мы имеем такое открытие, то с вероятностью 76% один из экстремумов будет на открытии. Всего дней с таким диапазоном было 21 или 16% от общего числа дней. В такие дни логичнее всего торговать отбой от границ открытия №2, те у которых диапазон <50%. Первоначально я сделал большее количество "кучек", но анализ показал, что величина открытия менее 50% не оказывает влияния на судьбу дня. И однозначного ответа торговать пробой открытия "внутрь" или "наружу" нет. Однако! Вспомним про экстремумы. Так вот - экстремум на открытии мы получаем только в примерно 30% случаев. Так-же исследования показали, что в среднем открытие составляет 30% от дневного диапазона. Следовательно если открытие 1000пунктов, то весь диапазон будет около 3000. Так же интересно то, что "расстояние" до ближайшего экстремума примерно 20%-30% от диапазона дня.

Вывод

  • диапазон открытия может дать намек на дальнейшее движение маркета.
  • в более 60% случаев, один из экстремумов формируется на диапазоне открытия утверждение не подтвердилось
  • реальный "диапазон открытия" который влияет на выдаваемые результаты у ФОРТСа несколько длиннее "часа" - для ФОРТСа он составил примерно до 12 часов. Это было связано со временем открытия ММВБ (сейчас то они вместе открываются) и временем открытия Европейских бирж
Mikhail Sukhov
Mikhail Sukhov

gambler_max:

  • реальный "диапазон открытия" который влияет на выдаваемые результаты у ФОРТСа несколько длиннее "часа" - для ФОРТСа он составил примерно до 12 часов. Это было связано со временем открытия ММВБ (сейчас то они вместе открываются) и временем открытия Европейских бирж

Тоесть на амерофьючах все укладывается в наши с 10 до 11, а для наших - до 12? Распределение такое же на наших фьючерсах?

gambler_max
gambler_max

Mikhail Sukhov:

gambler_max:

  • реальный "диапазон открытия" который влияет на выдаваемые результаты у ФОРТСа несколько длиннее "часа" - для ФОРТСа он составил примерно до 12 часов. Это было связано со временем открытия ММВБ (сейчас то они вместе открываются) и временем открытия Европейских бирж

Тоесть на амерофьючах все укладывается в наши с 10 до 11, а для наших - до 12? Распределение такое же на наших фьючерсах? Судя по многочисленным заявлениям - у амеров по амерскому времени первый час открытия играет существенно бОльшую роль чем у нас первый час открытия. У нас диапазон открытия (скажем даже так - диапазон который может иметь некую ценность для исследования) это с 10 до 12, В предыдущем посте автор исследовал временные точки входа - и первая такая зона у него не сильно отличается от моей. Т/е/ можно сказать что шанс получить первый дневной экстремум в данном временном отрезке выше

StockSharp
StockSharp Author

Не пощажу ваши экраны.. код ниже.

Стратегия на часовиках

Суть стратегии - если цена прошла вверх Н пунктов, потом вниз столько же, строится уровень по пику, если цена рпобивает этот уровень, ниже этого пика ставится стоп ордер на вход. После входа стоп тянется по пикам.

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;

namespace WealthLab.Strategies
{
	public class MyStrategy : WealthScript
	{

		
		//StrategyParameter Stop;
		StrategyParameter Step;
		StrategyParameter PeakRange;
		StrategyParameter DeltaStop;
		StrategyParameter Mode;
		
		public MyStrategy()
		{
			//Stop = CreateParameter("Stop", 3000, 1000, 5000, 200);
			Step = CreateParameter("Step", 3200, 100, 3500, 100);
			DeltaStop = CreateParameter("DeltaStop", 0, 100, 3500, 100);
			PeakRange = CreateParameter("PeakRange", 2700, 900, 3000, 100);
			Mode = CreateParameter("Mode", 0, -1, 1, 1);
		}

		protected override void Execute()
		{
			
			//double stoploss = Stop.Value;
			double stoploss = Step.Value + DeltaStop.Value;
			
			double StopPrice = 0;
			double TakePrice = 0;
			double price,LowestLow,HighestHigh;
			double delta;
			
			
			DataSeries Peaks = Peak.Series( High, PeakRange.ValueInt, PeakTroughMode.Value);			
			DataSeries Troughs = Trough.Series( Low, PeakRange.ValueInt, PeakTroughMode.Value);
			
			//DataSeries HighestSeries = Highest.Series(High,Period.ValueInt);
			//DataSeries LowestSeries = Lowest.Series(Low,Period.ValueInt);
				
			double LastPeakSignalPrice = 0;
			double WorkingPeak = 0;
			double WorkingHigh = 0;
			double PeakSignalPrice = 0;			
			bool SetShortOrderMode = false;

			double LastTroughSignalPrice = 0;
			double WorkingTrough = 0;
			double WorkingLow = 0;
			double TroughSignalPrice = 0;			
			bool SetBuyOrderMode = false;
			
			double trailingStop;
			
			DataSeries PeakSignalPriceSeries = new DataSeries(Bars,"PeakSignalPriceSeries");
			DataSeries TroughSignalPriceSeries = new DataSeries(Bars,"PeakSignalPriceSeries");
			
			
			for(int bar = 20; bar < Bars.Count; bar++)
			{		
						
				PeakSignalPriceSeries[bar] = Close[bar];
				TroughSignalPriceSeries[bar] = Close[bar]; 
				
				foreach( Position p in Positions )
				{
					if ( p.Active )
					{
						if (p.PositionType == PositionType.Short)					
						{
							trailingStop = p.TrailingStop;							
							if (Peaks[bar]!= WorkingPeak)
								if (p.TrailingStop > Peaks[bar]) trailingStop = Peaks[bar];
							if (!Bars.IsLastBarOfDay(bar)) ExitAtTrailingStop(bar+1,p,trailingStop,"ExitAtTrailingStop");
						}
						if (p.PositionType == PositionType.Long)					
						{
							trailingStop = p.TrailingStop;
							if (Troughs[bar]!= WorkingTrough)
								if (p.TrailingStop < Troughs[bar]) trailingStop = Troughs[bar];
							if (!Bars.IsLastBarOfDay(bar)) ExitAtTrailingStop(bar+1,p,trailingStop,"ExitAtTrailingStop");
						}						
					}
				}				
						
				if (Mode.Value != 1)
					if (High[bar-1]>Peaks[bar-1])
					{											
						WorkingPeak	= Peaks[bar-1];
						if (WorkingHigh<High[bar-1]) WorkingHigh=High[bar-1];
						PeakSignalPrice = WorkingPeak - Step.Value;	
						SetShortOrderMode = true;
					}
							
				if ((SetShortOrderMode)&&(LastPeakSignalPrice != PeakSignalPrice))
				{
					Position p = null;
					if (!Bars.IsLastBarOfDay(bar-1))
					{
						p = ShortAtStop(bar, PeakSignalPrice);		
						PeakSignalPriceSeries[bar] = PeakSignalPrice;
					}
					if (p != null) 
					{							
						SetShortOrderMode = false;	
						LastPeakSignalPrice = PeakSignalPrice;		
						trailingStop = p.EntryPrice + stoploss;
						ExitAtTrailingStop(bar+1,p,trailingStop,"ExitAtTrailingStop");
					}
				}			
				
				if (Mode.Value != -1)
					if (Low[bar-1]<Troughs[bar-1])
					{								
						WorkingTrough = Troughs[bar-1];
						if (WorkingLow>Low[bar-1]) WorkingLow=Low[bar-1];
						TroughSignalPrice = WorkingTrough + Step.Value;	
						SetBuyOrderMode = true;
					}
							
				if ((SetBuyOrderMode)&&(LastTroughSignalPrice != TroughSignalPrice))
				{
					Position p = null;
					if (!Bars.IsLastBarOfDay(bar-1))
					{
						p = BuyAtStop(bar, TroughSignalPrice);			
						TroughSignalPriceSeries[bar] = TroughSignalPrice;
					}
					if (p != null) 
					{							
						SetBuyOrderMode = false;	
						LastTroughSignalPrice = TroughSignalPrice;
						trailingStop = p.EntryPrice - stoploss;
						ExitAtTrailingStop(bar+1,p,trailingStop,"ExitAtTrailingStop");
					}
				}	


				
			}//for

			PlotSeries( PricePane, Peaks, Color.Green, LineStyle.Dots, 3 );
			PlotSeries( PricePane, Troughs, Color.Red, LineStyle.Dots, 3 );
			
			PlotSeries( PricePane, PeakSignalPriceSeries, Color.Green, LineStyle.Solid, 1 );
			PlotSeries( PricePane, TroughSignalPriceSeries, Color.Red, LineStyle.Solid, 1 );
			
		}
	}
}
Alexander
Alexander

Грааль? Может удалить пока никто не спалил?

Ariloum
Ariloum

мой ник в скайпе - ariloum.

Почитал ветку, интересные наблюдения насчет привязки движений рынка ко времени.. Для одной из своих стратегий пару лет назад делал что-то подобное - разбивал все сделки по времени с задаваемым шагом и рисовал табличку этого распределения, в которой было видно прибыль/убытки для каждого интервала времени. Пробовал исключать "плохие" интервалы, это дало небольшой прирост прибыли.

Насчет клуба алготрейдеров - хорошая идея, буду рад принять посильное участие в брэйнштормах и тестировании идей.

Ariloum
Ariloum

2 Ален

У меня есть похожая стратегия, суть ее в следующем : По 2м последним пикам рисуется линия, если последний пик ниже(выше) предыдущего пика происходит вход в лонг(шорт) на пробое линии. Пики по хаям - для входа в лонг, по лоям - для шортов, визуально получаются линии "" и "/". Трейлинг стоп в процентах, для примера - каждые 5% стоп подтягивается на 2-3%.

StockSharp
StockSharp Author

Ariloum: 2 Ален

У меня есть похожая стратегия, суть ее в следующем : По 2м последним пикам рисуется линия, если последний пик ниже(выше) предыдущего пика происходит вход в лонг(шорт) на пробое линии. Пики по хаям - для входа в лонг, по лоям - для шортов, визуально получаются линии "" и "/". Трейлинг стоп в процентах, для примера - каждые 5% стоп подтягивается на 2-3%.

как результаты? лучше или сравнимы?

Ariloum
Ariloum

Alen: как результаты? лучше или сравнимы?

Да наверное примерно так же, в последний раз в 2009 году тестировал.. Может быть и чуть похуже т.к. часто входит против тренда (для улучшения нужно прикрутить трендовый фильтр).

Хотел попробовать скормить твою стратежку веалзлабу, не получается - график багается вот так:

У тебя веалзлаб какой версии? Я поставил 5.4.20. Еще у ВЛД довольно специфичный импорт котировок - нельзя сразу указать нормальный таймфрейм (те же часовики).

Что означают цифры у этих параметров? Step = CreateParameter("Step", 3200, 100, 3500, 100); DeltaStop = CreateParameter("DeltaStop", 0, 100, 3500, 100); PeakRange = CreateParameter("PeakRange", 2700, 900, 3000, 100); Mode = CreateParameter("Mode", 0, -1, 1, 1);

По описанному мной алго попозже выложу статистику.

StockSharp
StockSharp Author

Alen: У тебя веалзлаб какой версии? Я поставил 5.4.20. Еще у ВЛД довольно специфичный импорт котировок - нельзя сразу указать нормальный таймфрейм (те же часовики).

Что означают цифры у этих параметров? Step = CreateParameter("Step", 3200, 100, 3500, 100); DeltaStop = CreateParameter("DeltaStop", 0, 100, 3500, 100); PeakRange = CreateParameter("PeakRange", 2700, 900, 3000, 100); Mode = CreateParameter("Mode", 0, -1, 1, 1);

По описанному мной алго попозже выложу статистику.

У меня тоже 5.4

Step = на каком удалении от хая ставится ордер на вход DeltaStop = на сколько пунктов за хай относить стоп PeakRange = размер движения, который должна совершить цена, чтобы отрисовался пик Mode = только шорт, только лонг, оба направления.

Evgeny_K
Evgeny_K

Еще у ВЛД довольно специфичный импорт котировок - нельзя сразу указать нормальный таймфрейм (те же часовики). Выбирай при импорте 60 минут.

Ariloum
Ariloum

Еще у ВЛД довольно специфичный импорт котировок - нельзя сразу указать нормальный таймфрейм (те же часовики). Выбирай при импорте 60 минут.

А там есть такая возможность? Я пробовал импортировать .wl файлы котировок ММВБ(скачанные с рутрекера) и .txt(скачанные с Финама). И там и там возможные интервалы представлены следующие: Tick Secont Minute Daily ... Yearly

Я не очень понимаю логику девелоперов - почему после минутного таймфрейма идут дневки?

destr
destr

Ariloum: Я не очень понимаю логику девелоперов - почему после минутного таймфрейма идут дневки? Потому что любое время меньшее дня, но большее минуты можно задать в следующем поле Bar Interval. Т.е. часы задёшь как минуты с Bar interval 60

Evgeny_K
Evgeny_K

А там есть такая возможность? Я пробовал импортировать .wl файлы котировок ММВБ(скачанные с рутрекера) и .txt(скачанные с Финама). И там и там возможные интервалы представлены следующие: Tick Secont Minute Daily ... Yearly

Да. Выбираешь Minute, а в следующем поле печатаешь 60.

Ariloum
Ariloum

С таймфреймами велза разобрался, спасибо. Удивляюсь, что не понял сразу сам) Подзабыл уже эти па с импортом за 3 года, что не видел влд.

Alen: У меня тоже 5.4

Step = на каком удалении от хая ставится ордер на вход DeltaStop = на сколько пунктов за хай относить стоп PeakRange = размер движения, который должна совершить цена, чтобы отрисовался пик Mode = только шорт, только лонг, оба направления.

Занятный метод отрисовки пиков - дожидаться такого же движения назад. А если уменьшить размер минимального обратного движения в 2-4 раза, и таймфрейм поменьше - 5-15м, и интрадей?

Насчет статистики по той стратежке, что я описывал - пока что у меня нет времени и желания ее реанимировать, т.к. писалась она очень давно и под старый движок моей МТС, функционал которой ушел вперед, и многих старых функций уже просто нет. Я уже не воссоздам всех подробностей, помню пробовал сделать механизм поиска 2х последних уровней среди других уровней в пучине истории, а с тех пор уровни у меня из массива мутировали в объекты.. Еще были эксперименты с простыми условиями на вход/фильтрами тренда на дневках и др. тф типа if Close(Today) > Open(Today) = лонг. Тестировал в основном Сбер, только лонг, 2007-2009г. Теоретический профит около 600-1500%. Просадка примерно как в твоей системе по пикам, около 30-50% в 2008 Эксперименты в этом направлении могут оказаться полезными если вдруг захочется написать алгоритм для рисования наклонных трендовых линий. Математика расчета точки Y3 (если Х3 за пределами отрезка, заданного 2мя точками) - штука любопытная. Еще интереснее научить робота правильно рисовать линии тренда, точнее правильно их фильтровать, и делать это быстро. Кто-нибудь пробовал это сделать?) На неделе планирую подумать над реализацией.

Сейчас пишу функционал для работы с ОИ (откр. интерес), получилась вот такая елка (видимо готовлюсь к НГ) :

Зеленые свечки - преобладание лонг-позиций, синие - закрытие лонгов. Красный - шорты, фиолетовый - их закрытие. На нижнем графике гирлянда из ОИ, значения по У - объемы - что-то вроде примерного перевеса сил. Пока я нашел только грубый метод подсчета ОИ : его значения беру из ТТП ("таблица тек. парам." в Квике), в которой, увы, приходят склеенные объемы из нескольких сделок (их гораздо меньше, чем в ТВС - "табл. всех сделок"), и к тому же нет направления последней сделки. А в ТВС есть направление, но нет ОИ. Пока не знаю, возможно ли синхронизировать "вручную" ТТП и ТВС.. В саппорте Квика сказали, что ТВС и ТТП это у них отдельные 2 потока от биржи, и синхронизировать врят ли получится.

То есть такую выборку можно приблизительно оценить только за какой-то длинный период времени(всмысле 1-5мин), а что именно происходило - по каким ценам и в каких объемах - увы.

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

StockSharp
StockSharp Author

Прошло еще чуть больше двух месяцев после запуска нового робота. Продолжаю рассказывать об одной нашей стратегии. Подробно расписывал особенность стратегии в двух постах по ссылкам ниже. 1 и 2 часть stocksharp.blogspot.com/2011/10/blog-post.html#comment-form stocksharp.blogspot.com/2011/10/blog-post_03.html#comment-form

Если вкратце – мы бросили вызов одному из правил оптимизации, график оптимизируемого параметра должен быть ровным и прибыльным на большем количестве своих значений. Мы нашли такую стратегию, которая работает на очень ограниченном количестве значений параметра (возможно, что это подгонка и неустойчивая стратегия), но показатели риск/прибыль впечатлили, поэтому было решено запустить стратегию. Если бы стратегия побила свою максимальную просадку * 2, мы бы признали эксперимент неудавшимся. Но, прошло > 4 месяцев. Результат работы по тестам +120%, на реальном счету + 140% (т.к. запустили в самом начале после неск. убыточных сделок, а не 1го числа) На данный момент стратегия продолжает работать

Результаты стратегии с момента её запуска

Эксперимент выходит успешным. Выходит, что можно брать нестабильные параметры, при высоких показателях стратегии. Зная на что мы идем, принять риск, но… внимательно отслеживать просадку.

StockSharp
StockSharp Author

Прошло еще чуть больше двух месяцев после запуска нового робота. Продолжаю рассказывать об одной нашей стратегии. Подробно расписывал особенность стратегии в двух постах по ссылкам ниже. 1 и 2 часть stocksharp.blogspot.com/2011/10/blog-post.html#comment-form stocksharp.blogspot.com/2011/10/blog-post_03.html#comment-form

Если вкратце – мы бросили вызов одному из правил оптимизации, график оптимизируемого параметра должен быть ровным и прибыльным на большем количестве своих значений. Мы нашли такую стратегию, которая работает на очень ограниченном количестве значений параметра (возможно, что это подгонка и неустойчивая стратегия), но показатели риск/прибыль впечатлили, поэтому было решено запустить стратегию. Если бы стратегия побила свою максимальную просадку * 2, мы бы признали эксперимент неудавшимся. Но, прошло > 4 месяцев. Результат работы по тестам +120%, на реальном счету + 140% (т.к. запустили в самом начале после неск. убыточных сделок, а не 1го числа) На данный момент стратегия продолжает работать

Результаты стратегии с момента её запуска

Эксперимент выходит успешным. Выходит, что можно брать нестабильные параметры, при высоких показателях стратегии. Зная на что мы идем, принять риск, но… внимательно отслеживать просадку.

Mikhail Sukhov JakeGreen
Yakovlev
Yakovlev

Здравствуйте уважаемые трейдеры. Хотелось бы подискутировать в более оживленной обстановке чем форум, поэтому просьба включить меня в клуб, если спустя 2 года со дня его формирования он еще "жив". Есть множество идей и реализаций разного рода мат алгоритмов, последние 6 лет занимался написанием приложений (C#) для поиска закономерностей в области ответных реакций человеческого организма на внешние воздействия, у нас были сильные математики. Теперь НИИ расформировали, на текущей работе коснулся отраслей которые приносят неплохой доход и мелькнула мысль - покупать акции некоторых компаний, месяц назад начал искать материалы по этому поводу и как следствие я здесь, уже интересна не просто покупка как инвест инструмент, а анализ и если позволите - некоторая "спекуляция" хотя, я не люблю это слово. В общем применить свои знания и навыки на фондовом рынке. Как трейдера можно считать меня - самым что ни на есть новичком, но желание преуспеть в алготрейде укоренилось. Если есть готовые опытные и искушенные люди которые готовы взять, что называется - в ученики, то, я посчитаю это за честь. Со своей стороны могу предоставить все чем я владею. Если же нет, то вполне могу всему обучаться просто беседуя предлагая свои теории и практические реализации и никому не насаждать.

Скайп: yakovlev_anatoly

Bond
Bond

Yakovlev: Здравствуйте уважаемые трейдеры. Хотелось бы подискутировать в более оживленной обстановке чем форум, поэтому просьба включить меня в клуб, если спустя 2 года со дня его формирования он еще "жив". Есть множество идей и реализаций разного рода мат алгоритмов, последние 6 лет занимался написанием приложений (C#) для поиска закономерностей в области ответных реакций человеческого организма на внешние воздействия, у нас были сильные математики. Теперь НИИ расформировали, на текущей работе коснулся отраслей которые приносят неплохой доход и мелькнула мысль - покупать акции некоторых компаний, месяц назад начал искать материалы по этому поводу и как следствие я здесь, уже интересна не просто покупка как инвест инструмент, а анализ и если позволите - некоторая "спекуляция" хотя, я не люблю это слово. В общем применить свои знания и навыки на фондовом рынке. Как трейдера можно считать меня - самым что ни на есть новичком, но желание преуспеть в алготрейде укоренилось. Если есть готовые опытные и искушенные люди которые готовы взять, что называется - в ученики, то, я посчитаю это за честь. Со своей стороны могу предоставить все чем я владею. Если же нет, то вполне могу всему обучаться просто беседуя предлагая свои теории и практические реализации и никому не насаждать.

Скайп: yakovlev_anatoly

Добрый день! С какими конкретно математическими моделями поиска закономерностей вы знакомы? Методы оптимизации? Кластеризация?