﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Простейшая стратегия долгосрочного инвестирования.</title>
  <id>~/topic/344/prosteishaya-strategiya-dolgosrochnogo-investirovaniya_/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-10T06:31:08Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=344" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/148/</id>
    <title type="text">Попробуем сделать простейшую стратегию для долгосрочного инвестирования. В качестве рабочего будем и...</title>
    <published>2012-06-07T21:18:52Z</published>
    <updated>2016-07-28T17:57:32Z</updated>
    <author>
      <name>vlad1024</name>
      <uri>https://stocksharp.com/users/768/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Попробуем сделать простейшую стратегию для долгосрочного инвестирования. В качестве рабочего будем использовать дневной таймфрейм. Вся суть стратегии будет заключаться в простейшей идее, что падение рынка обычно связано с более высокой волатильностью, чем в среднем. Соответственно, мы будем покупать, когда волатильность ниже среднего, и выходить из лонга, когда она повышается. В качестве меры волатильности будем использовать размах бара High - Low. Остается один вопрос: как измерить долгосрочное среднее волатильности? Можно использовать среднее (то есть скользящую среднюю, взятую за определенный период). Но так как мы имеем дело с распределением с тяжелыми хвостами, среднее будет плохой оценкой центра распределения. Поэтому будем использовать робастную оценку центра распределения - в нашем случае это будет медиана или, более точно, скользящая медиана, взятая с большим окном. Наши рассуждения напрямую транслируются в код на WealthLab:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;

namespace WealthLab.Strategies
{
	public class MyStrategy : WealthScript
	{
		private StrategyParameter smaPeriod;
		public MyStrategy()
		{
			smaPeriod = CreateParameter(&amp;quot;Range Sma Period&amp;quot;, 1, 1, 50, 1);      
			
		}
		
		protected override void Execute()
		{
			DataSeries range = High - Low;
			DataSeries rangeSma = new WealthLab.Indicators.SMA(range, smaPeriod.ValueInt, &amp;quot;sma&amp;quot;);
			DataSeries signal = rangeSma -  new WealthLab.Indicators.Median(range, 200, &amp;quot;median&amp;quot;);
			
			for(int bar = 0; bar &amp;lt; Bars.Count; bar++)
			{				
				if (IsLastPositionActive)
				{
					//code your exit rules here
					if (signal[bar] &amp;gt; 0)
						SellAtMarket(bar + 1, LastPosition, &amp;quot;sell&amp;quot;);
				}
				else
				{
					//code your entry rules here
					if (signal[bar] &amp;lt; 0)
						BuyAtMarket(bar + 1, &amp;quot;buy&amp;quot;);
				}
			}
		}
	}
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Единственный параметр - это длина скользящей средней для сглаживания текущего сигнала High-Low (полный аналог ATR). В дальнейшем мы будем его использовать, лишь чтобы сократить количество входов. Установим сначала smaPeriod = 1, то есть не будем использовать сглаживание сигнала.
Получим:&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/101979/img1.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="/file/101980/img2.png" alt="" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Судя по полученным параметрам бэктеста, идея содержит какое-то статистическое преимущество. Теперь попробудем уменьшить количество сигналов, увеличив период фильтрации High-Low. Сначала проверим робастность этого параметра, то есть убедимся, что параметры стратегии сохраняются на широком диапазоне значений параметра. После этого возьмем его, к примеру, равным 12. И как результат получаем:&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/101981/img3.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="/file/101982/img4.png" alt="" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Как видно, стратегия bye &amp;amp; hold принесла за рассматриваемый период нулевую доходность, в то время как наша простейшая система показала небольшую, не совсем стабильную, но прибыль.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/25692/</id>
    <title type="text">ibm_i: Подскажите, пожалуйста, схематично, какие шаги нужно сделать, чтобы реализовать данную страте...</title>
    <published>2013-04-30T18:04:20Z</published>
    <updated>2013-04-30T18:04:20Z</updated>
    <author>
      <name>Кот Матроскин</name>
      <uri>https://stocksharp.com/users/808/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(25669)" rel="nofollow" target="_blank"&gt;ibm_i&lt;/a&gt;:&lt;/strong&gt;
Подскажите, пожалуйста, схематично, какие шаги нужно сделать, чтобы реализовать данную стратегию под Альфа Директ?
А зачем? Внутри дня и на краткосроке она не работает, а начиная со среднесрока и выше - проще руками...&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/25680/</id>
    <title type="text">ibm_i: Добрый день! Подскажите, пожалуйста, схематично, какие шаги нужно сделать, чтобы реализовать ...</title>
    <published>2013-04-30T05:30:23Z</published>
    <updated>2013-04-30T05:30:23Z</updated>
    <author>
      <name>Самунджян Артем</name>
      <uri>https://stocksharp.com/users/675/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(25669)" rel="nofollow" target="_blank"&gt;ibm_i&lt;/a&gt;:&lt;/strong&gt;
Добрый день!
Подскажите, пожалуйста, схематично, какие шаги нужно сделать, чтобы реализовать данную стратегию под Альфа Директ? Совсем для новичка в этом деле. Спасибо заранее.
Добрый день, шаг все &lt;a href="http://stocksharp.com/lesson/sharpcourse.aspx"&gt;один&lt;/a&gt; [biggrin]!&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/25669/</id>
    <title type="text">Добрый день! Подскажите, пожалуйста, схематично, какие шаги нужно сделать, чтобы реализовать данную ...</title>
    <published>2013-04-29T13:47:04Z</published>
    <updated>2013-04-29T13:47:04Z</updated>
    <author>
      <name>ibm_i</name>
      <uri>https://stocksharp.com/users/39099/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день!
Подскажите, пожалуйста, схематично, какие шаги нужно сделать, чтобы реализовать данную стратегию под Альфа Директ? Совсем для новичка в этом деле. Спасибо заранее.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/19663/</id>
    <title type="text">Smelov: vlad1024: 3. range это разница High - Low за период, среднее значение волатильности считаем ...</title>
    <published>2012-06-10T15:37:11Z</published>
    <updated>2012-06-10T15:37:55Z</updated>
    <author>
      <name>vlad1024</name>
      <uri>https://stocksharp.com/users/768/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(19662)" rel="nofollow" target="_blank"&gt;Smelov&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(19660)" rel="nofollow" target="_blank"&gt;vlad1024&lt;/a&gt;:&lt;/strong&gt;
3. range это разница High - Low за период, среднее значение волатильности считаем через медиану за период, затем сравниваем его со сглаженным значеним High-Low, если оно меньше медианного то входим в лонг.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Где задается период для High - Low? Тот же smaPeriod?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;WealthLab.Indicators.SMA(range, smaPeriod.ValueInt, &amp;quot;sma&amp;quot;);
WealthLab.Indicators.Median(range, 200, &amp;quot;median&amp;quot;);&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;какую роль играет range в этих функциях?&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;Выходим когда волатильность больше медианного значения?&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;нигде, период это я не слишком ясно выразился, range = High-Low за все те данные что есть&lt;/li&gt;
&lt;li&gt;range это значения по которым эти функции расчитываются, то есть массив данных каждое значение которого = High - Low свечи.&lt;/li&gt;
&lt;li&gt;да&lt;/li&gt;
&lt;/ol&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/19662/</id>
    <title type="text">vlad1024: 3. range это разница High - Low за период, среднее значение волатильности считаем через ме...</title>
    <published>2012-06-10T15:30:20Z</published>
    <updated>2012-06-10T15:30:20Z</updated>
    <author>
      <name>Smelov</name>
      <uri>https://stocksharp.com/users/27678/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(19660)" rel="nofollow" target="_blank"&gt;vlad1024&lt;/a&gt;:&lt;/strong&gt;
3. range это разница High - Low за период, среднее значение волатильности считаем через медиану за период, затем сравниваем его со сглаженным значеним High-Low, если оно меньше медианного то входим в лонг.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Где задается период для High - Low? Тот же smaPeriod?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;WealthLab.Indicators.SMA(range, smaPeriod.ValueInt, &amp;quot;sma&amp;quot;);
WealthLab.Indicators.Median(range, 200, &amp;quot;median&amp;quot;);&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;какую роль играет range в этих функциях?&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;Выходим когда волатильность больше медианного значения?&lt;/li&gt;
&lt;/ol&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/19660/</id>
    <title type="text">Smelov: Ни разу не работал в WL. Скажите пожалуйста, какова стоимость начального портфеля? Не пробов...</title>
    <published>2012-06-10T14:13:49Z</published>
    <updated>2012-06-10T14:13:49Z</updated>
    <author>
      <name>vlad1024</name>
      <uri>https://stocksharp.com/users/768/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(19636)" rel="nofollow" target="_blank"&gt;Smelov&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Ни разу не работал в WL. Скажите пожалуйста, какова стоимость начального портфеля?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Не пробовали добавлять в систему шорты?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Скажите пожалуйста, как формируется сигнал (согласно вашему коду)? Т.е. текущая волатильность это max - min предыдущего бара. Далее вычисляется СС с заданным периодом. А вот формирование сигнала я почему-то не совсем понял. И зачем переменная range в функциях вычисления СС и медины?&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Заранее благодарю за ответ.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Стоимость в пунктах фьючерса одним контрактом.&lt;/li&gt;
&lt;li&gt;Можно добавить но они должны быть построены на другой идеи, потому что шорт на повышении волы, плохо работает.&lt;/li&gt;
&lt;li&gt;range это разница High - Low за период, среднее значение волатильности считаем через медиану за период, затем сравниваем его со сглаженным значеним High-Low, если оно меньше медианного то входим в лонг.&lt;/li&gt;
&lt;/ol&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/19636/</id>
    <title type="text">Ни разу не работал в WL. Скажите пожалуйста, какова стоимость начального портфеля? Не пробовали доба...</title>
    <published>2012-06-09T12:42:18Z</published>
    <updated>2012-06-09T12:42:18Z</updated>
    <author>
      <name>Smelov</name>
      <uri>https://stocksharp.com/users/27678/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;ol&gt;
&lt;li&gt;Ни разу не работал в WL. Скажите пожалуйста, какова стоимость начального портфеля?&lt;/li&gt;
&lt;li&gt;Не пробовали добавлять в систему шорты?&lt;/li&gt;
&lt;li&gt;Скажите пожалуйста, как формируется сигнал (согласно вашему коду)? Т.е. текущая волатильность это max - min предыдущего бара. Далее вычисляется СС с заданным периодом. А вот формирование сигнала я почему-то не совсем понял. И зачем переменная range в функциях вычисления СС и медины?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Заранее благодарю за ответ.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/19616/</id>
    <title type="text">VoDA: А подобная стратегия может использоваться внутри дня? или есть какие то требования к волатильн...</title>
    <published>2012-06-08T12:30:04Z</published>
    <updated>2012-06-08T12:30:04Z</updated>
    <author>
      <name>vlad1024</name>
      <uri>https://stocksharp.com/users/768/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(19579)" rel="nofollow" target="_blank"&gt;VoDA&lt;/a&gt;:&lt;/strong&gt;
А подобная стратегия может использоваться внутри дня? или есть какие то требования к волатильности или длительности периода, на которых это может работать?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;добавьте еще один параметр medianPeriod, и прооптимизируете на часовиках, посмотрите на поверхность результата, получается не плохо, PF ~ 2, win rate 59% (sma period = 51, median period= 700) . Вопрос в том конечно насколько это переоптимизация, но вроде поверхность выглядит робастной. По крайней мере для трех-строчечной стратегии очень не плохо )&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/19579/</id>
    <title type="text">А подобная стратегия может использоваться внутри дня? или есть какие то требования к волатильности и...</title>
    <published>2012-06-07T14:53:35Z</published>
    <updated>2012-06-07T14:53:35Z</updated>
    <author>
      <name>VoDA</name>
      <uri>https://stocksharp.com/users/27725/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;А подобная стратегия может использоваться внутри дня? или есть какие то требования к волатильности или длительности периода, на которых это может работать?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>