• Тинькофф Банк-лучшие банковские продукты еще выгоднее
    Выбирайте продукт от банка Тинькофф
  • Уважаемые форумчане, друзья и посетители!
    Поступило предложение ( ссылка на обсуждение ) на сбор средств поддержания форума в рабочем состоянии с 1 июня ( оплата хостинга, бэкап ежедневный на другой хостинг и тд), отчетность будет предоставляться ежемесячно. Пока на ЮMoney ( яндекс деньги), доступно картой перевод, далее добавлю другие способы. Сумму перевода указывайте на ваш выбор исходя из своих возможностей.
    Форум продолжает свою работу благодаря Вашим пожертвованиям.

Образцы кодов стратегий для NT 6.5

Ninjatrader сказал(а):
Есть конечно, только для тестирования нужны качественные исторические тиковые данные за долгий период, а не выкаченные данные с демо (в истории могут быть разрывы и прочее).
Большое спасибо за внимание к моему вопросу! Но я так понимаю в моём случае речь больше идёт о настройках и механизме тестирования, чем о максимальном сходстве с реальными рыночными условиями. Ведь я оба варианта (Back Test vs Market Replay) провожу на одних и тех же данных, а результат у меня расходится. И количество сделок тоже в разы разбегается. Вот я и хочу понять причину этого расхождения - мой это недосмотр или может глюк или ещё что? Если не сложно попробуйте также провести этот эксперимент.
 
Ninjatrader сказал(а):
Попробую попросить график доходности робота у одного трейдера торгующего в Мирусе, если согласиться показать, то выложу.




Это робот, все что дал, никто свой «грааль» палить не будет..
 
В век алгоритмический торговли, Вы можете заработать руками в том случае: если владеете техникой VSA , анализ ленты , объемов . ИМХО
 
Ninjatrader сказал(а):
В век алгоритмический торговли, Вы можете заработать руками в том случае: если владеете техникой VSA , анализ ленты , объемов . ИМХО
Полностью согласен! Для меня сейчас вопрос номер один - выбор параметров бэктеста для максимальной точности результатов. Вот и ставлю эксперименты с настройками на стандартных стратегиях. Кстати в не пытались попробовать сравнить результаты теста и "проигрывания" стратегии на Market Rуplay? Или может вы подскажите как можно достичь максимально точных результатов тестирования?
 
Простой вопрос - если NT подключен к Market Replay соединению, то Back Test проходит по тем же котировкам, что и "проигрывание" или всё же нет?
 
Подскажите как сделать что бы при перезапуске стратегии, она (стратегия) видела что уже есть открытая позиция. И выдавала объем этой позиции и есть ли у неё (позиции) стоп лос на весь объем.
Код:
        protected override void OnBarUpdate()
        {
            if (Historical)	return;
if (Bars.FirstBarOfSession)
				{	
				}
			
            if (Position.MarketPosition == MarketPosition.Flat)
            {
                EnterShort(DefaultQuantity, "123");
            }
			else 
			{
				// Condition set 2
            	if (Position.MarketPosition == MarketPosition.Long)
            	{
                	PrintWithTimeStamp("Мы в лонге");
            	}	

            	// Condition set 3
            	if (Position.MarketPosition == MarketPosition.Short)
            	{
                	PrintWithTimeStamp("Мы в шорте");
            	}
			}
Этот код при каждом запуске будет открывать шорт (не видит он .... предыдущий шорт). Как заставить его видеть ?
Спасибо
 
по-моему, стратегии нинзя видят только свои открытые позиции. Если стратегия открывает свою позицию и тем самым закрывает ранее существовавшую, то стратегия будет считать свою позицию открытой и "закроет" ее своим стоплоссом или тейк-профитом... Чужие позиции она не видит. Если кто знает как, пропишите ей очки...
 
Код:
			if(Close[0]>Open[0])
			{
				if(TP>0)	SetProfitTarget(CalculationMode.Ticks, TP);
				if(SL>0)	SetStopLoss(CalculationMode.Ticks, SL);
				entryOrder1=EnterLong(DefaultQuantity, "");
				Print("Вход в лонг " + Position.AvgPrice+" "+Position.Quantity);
            }

1. Как узнать на каком уровне установился SL и TP ?
 
Привал сказал(а):
1. Как узнать на каком уровне установился SL и TP ?
Отвечу сам себе. Может кому и пригодиться...
Код:
        protected override void OnPositionUpdate(IPosition position)
        {            
		// вывод информации изменения позиции
			string str="";
			str=DateTime.Now + " " + position.Instrument.ToString();
			str=str+ " AvgPrice="+position.AvgPrice.ToString();			
			if(stopOrder!=null) str=str+" SL=" + stopOrder.StopPrice.ToString();
			//else Print("SL - нету");
			if(targetOrder!=null) str=str+ " TP=" + targetOrder.LimitPrice.ToString();
			//else Print("TP - нету");
			Print(str);
        }
 
Назад
Верх Низ