﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Торговая система Kaufman's Adaptive Moving Average Binary Wave</title>
  <id>~/topic/335/torgovaya-sistema-kaufmans-adaptive-moving-average-binary-wave/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-26T21:33:51Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=335" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/166/</id>
    <title type="text">Описание KAMA - Адаптивная скользящая средняя была разработана Перри Кауфманом и впервые опубликован...</title>
    <published>2013-09-24T15:54:34Z</published>
    <updated>2013-09-24T15:54:34Z</updated>
    <author>
      <name>Валентин Мирошниченко</name>
      <uri>https://stocksharp.ru/users/6156/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;b&gt;Описание&lt;/b&gt;&lt;br /&gt;KAMA - Адаптивная скользящая средняя была разработана Перри Кауфманом и впервые опубликована в его книге &amp;#171;Умный трейдинг&amp;#187; в 1995 году. Отличие адаптивной скользящей средней от ее сестер состоит в том, что период вычисления скользящей средней напрямую зависит от состояния рынка и динамики цен – при резких трендовых движениях период скользящей средней постепенно уменьшается для большей чувствительности, ну а в моменты затухания рынка и снижения активности период скользящей средней увеличивается, тем самым фильтруются незначительные колебания. В итоге, адаптивная скользящая средняя избавилась от извечных недостатков скользящих средних – запаздываний при увеличении периода и ложных срабатываний при его уменьшении.&lt;br /&gt;Filter вычисляет разброс значений KAMA за определенный период с помощью стандартного отклонения. Если этот разброс не превышает определённую величину то используется предыдущее значения фильтра, если же оно превышает заданный порог происходит присвоение новой величины.&lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_5485404d0e624b30a75d4100de674c6f');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_5485404d0e624b30a75d4100de674c6f' style='display:none'&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
using Community.Indicators; // ER is here

namespace WealthLab.Strategies
{
	public class KAMABinaryWave : WealthScript
	{
		private StrategyParameter paramPeriod;
		private StrategyParameter paramFilter;
		
		public KAMABinaryWave()
		{
			paramPeriod = CreateParameter(&amp;quot;Period&amp;quot;, 10, 1, 100, 1);
			paramFilter = CreateParameter(&amp;quot;Filter %&amp;quot;, 15, 1, 100, 1);
		}
		
		protected override void Execute()
		{
			int Periods = paramPeriod.ValueInt;
			double FilterPercent = paramFilter.Value;
			KAMA k = KAMA.Series( Close,Periods );
			ER e = ER.Series( Close,Periods );
			DataSeries bWave = new DataSeries(Bars,&amp;quot;KAMA Binary Wave&amp;quot;);
			
			DataSeries Filter = FilterPercent * StdDev.Series(k - (k&amp;gt;&amp;gt;1),Periods,StdDevCalculation.Sample);
			double AMALow = 0;
			double AMAHigh = 0;
			
			for(int bar = Periods; bar &amp;lt; Bars.Count; bar++)
			{
				AMALow = k[bar] &amp;lt; k[bar-1] ? k[bar] : AMALow;
				AMAHigh = k[bar] &amp;gt; k[bar-1] ? k[bar] : AMAHigh;
				
				if( ( k[bar] - AMALow ) &amp;gt; Filter[bar] )
					bWave[bar] = 1.0;
				else
					if( ( AMAHigh - k[bar] ) &amp;gt; Filter[bar] )
					bWave[bar] = -1.0;
				
				if (IsLastPositionActive)
				{
					if( bWave[bar] &amp;lt; 0 )
						SellAtMarket( bar+1,LastPosition );
				}
				else
				{
					if( bWave[bar] &amp;gt; 0 )
						BuyAtMarket( bar+1 );
				}
			}
			
			ChartPane bwPane = CreatePane( 30,true,true );
			PlotSeries( bwPane, bWave, Color.Blue, LineStyle.Solid, 1 );
			PlotSeries( PricePane, k, Color.Red, LineStyle.Solid, 1 );
		}
	}
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/25686/</id>
    <title type="text">Да</title>
    <published>2013-04-30T14:43:19Z</published>
    <updated>2013-04-30T14:43:19Z</updated>
    <author>
      <name>Валентин Мирошниченко</name>
      <uri>https://stocksharp.ru/users/6156/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Да</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/25685/</id>
    <title type="text">Добрый день. Будут ли в дальнейшем здесь рассматриваться интересные торговые идеи, коды торговых сис...</title>
    <published>2013-04-30T14:16:39Z</published>
    <updated>2013-04-30T14:16:39Z</updated>
    <author>
      <name>DM23</name>
      <uri>https://stocksharp.ru/users/38960/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Добрый день. Будут ли в дальнейшем здесь рассматриваться интересные торговые идеи, коды торговых систем подобно тому, что есть на сайте Игоря Чечета?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>