﻿<?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">RangeCandles</title>
  <id>~/topic/1328/rangecandles/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-08T10:24:15Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=1328" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/5590/</id>
    <title type="text">Valdis: да я уже свои свечки сделал . Через CandleManager или просто перебор тиков? По идее должно р...</title>
    <published>2011-01-24T08:58:18Z</published>
    <updated>2016-08-15T23:46:37Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(5560)" rel="nofollow" target="_blank"&gt;Valdis&lt;/a&gt;:&lt;/strong&gt;
да я уже свои свечки сделал .&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Через CandleManager или просто перебор тиков? По идее должно работать через наследование от RangeCandleFactory (в доке я описал, как регистрировать свои фабрики). И код, судя по алго, должен быть таким:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;class MyRangeCandleFactory : RangeCandleFactory
{
	public override bool IsCandleFinished(CandleToken token, RangeCandle currentCandle, Trade trade)
	{
		return
			trade.Price &amp;lt; (double)(currentCandle.HighPrice - currentCandle.PriceRange) ||
			trade.Price &amp;gt; (double)(currentCandle.LowPrice + currentCandle.PriceRange);
	}
}
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(5560)" rel="nofollow" target="_blank"&gt;Valdis&lt;/a&gt;:&lt;/strong&gt;
а насчет рэйндж свечей , Range-бары строятся следующим образом: как только размах колебаний цен (High-Low) внутри текущего бара достигнет заданного порогового уровня, с приходом нового тика выше High или ниже Low сразу начнет строиться новый бар. В результате все бары будут иметь примерно одинаковый размах колебаний High-Low. Но при этом период времени, в течение которого будет строиться каждый из баров, будет различным для каждого бара.&lt;/p&gt;
&lt;p&gt;range=100;
if (high-low)&amp;gt; range  рисуется следующая свечка
причем учитываются текущие high и low цены  внутри свечи, ведь к примеру цена сходив вверх но не превысив границ диапазона может уйти вниз .&lt;/p&gt;
&lt;p&gt;а в вашем варианте if (high-open) &amp;gt; range else (open-low) &amp;gt;range рисуется новая свечка
например ставим рейндж =100 , открытие 120000 затем цена сбегала на 120050, не дойдя до верхней границы и развенулась вниз, до 119950, у вас еще свечка не закончилась, а рейндж от хая до лоу уже 100 пунктов
далее цена ушла до 119900 где у вас закончилась эта свеча, а рейндж внутри неё уже 150 пунктов, при заданном начально в 100п
в итоге диапазон внутри свечи иногда может быть больше  чем заданный рейндж, что на мой взгляд не верно,&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Мне Ваш алгоритм больше нравиться. И как сказал коллега &lt;a href="http://stocksharp.com/users/4/"&gt;Pike&lt;/a&gt;, в Кванте такой же алгоритм. Куда я против вас двоих?&lt;/p&gt;
&lt;p&gt;В следующей версии сделаю как Вы написали.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(5560)" rel="nofollow" target="_blank"&gt;Valdis&lt;/a&gt;:&lt;/strong&gt;
p.s.
в текущей реализации рэйндж бары из s# это фактически крестики-нолики :)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Не понял аналогии.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/5591/</id>
    <title type="text">Mikhail Sukhov: Через CandleManager или просто перебор тиков? да, через перебор тиков, в событии New...</title>
    <published>2011-01-24T09:25:09Z</published>
    <updated>2011-01-24T09:25:09Z</updated>
    <author>
      <name>Valdis</name>
      <uri>https://stocksharp.ru/users/28545/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(5590)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;
Через CandleManager или просто перебор тиков?
да, через перебор тиков, в событии NewTrades вызываю метод , строящий свечки&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/5560/</id>
    <title type="text">да я уже свои свечки сделал . а насчет рэйндж свечей , Range-бары строятся следующим образом: как то...</title>
    <published>2011-01-21T11:15:15Z</published>
    <updated>2011-01-21T11:20:13Z</updated>
    <author>
      <name>Valdis</name>
      <uri>https://stocksharp.ru/users/28545/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;да я уже свои свечки сделал .
а насчет рэйндж свечей , Range-бары строятся следующим образом: как только размах колебаний цен (High-Low) внутри текущего бара достигнет заданного порогового уровня, с приходом нового тика выше High или ниже Low сразу начнет строиться новый бар. В результате все бары будут иметь примерно одинаковый размах колебаний High-Low. Но при этом период времени, в течение которого будет строиться каждый из баров, будет различным для каждого бара.&lt;/p&gt;
&lt;p&gt;range=100;
if (high-low)&amp;gt; range  рисуется следующая свечка
причем учитываются текущие high и low цены  внутри свечи, ведь к примеру цена сходив вверх но не превысив границ диапазона может уйти вниз .&lt;/p&gt;
&lt;p&gt;а в вашем варианте if (high-open) &amp;gt; range else (open-low) &amp;gt;range рисуется новая свечка
например ставим рейндж =100 , открытие 120000 затем цена сбегала на 120050, не дойдя до верхней границы и развенулась вниз, до 119950, у вас еще свечка не закончилась, а рейндж от хая до лоу уже 100 пунктов
далее цена ушла до 119900 где у вас закончилась эта свеча, а рейндж внутри неё уже 150 пунктов, при заданном начально в 100п
в итоге диапазон внутри свечи иногда может быть больше  чем заданный рейндж, что на мой взгляд не верно,
но на вкус и цвет товарищей нет :) поэтому каждый может строить свечки как хочет.
p.s.
в текущей реализации рэйндж бары из s# это фактически крестики-нолики :)&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/5554/</id>
    <title type="text">Valdis: Михаил, а почему у вас RangeCandles строятся по диапазону от открытия свечи , а не по настоя...</title>
    <published>2011-01-21T08:52:38Z</published>
    <updated>2011-01-21T08:52:38Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(5542)" rel="nofollow" target="_blank"&gt;Valdis&lt;/a&gt;:&lt;/strong&gt;
Михаил, а почему у вас RangeCandles строятся по диапазону от открытия свечи ,
а не по настоящему рейнджу от хая до лоу ?
это же в текущей реализации кресто-нули какие то .&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Это не понял, что значит настоящий.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(5542)" rel="nofollow" target="_blank"&gt;Valdis&lt;/a&gt;:&lt;/strong&gt;
в итоге у меня 100п свечи выглядят так :
open,high,low,close
185100, 185150,185000,185000
получается рейдж свечи 150 п а не 100 как я думал регистрируя&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Была свечка на 99п. Пока заканчивать формирование рано. Потом приходит сделка в 5 п. И уже больше чем 100, на чем и заканчивается. У Вас так?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/5542/</id>
    <title type="text">Михаил, а почему у вас RangeCandles строятся по диапазону от открытия свечи , а не по настоящему рей...</title>
    <published>2011-01-20T10:14:51Z</published>
    <updated>2011-01-20T10:15:27Z</updated>
    <author>
      <name>Valdis</name>
      <uri>https://stocksharp.ru/users/28545/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Михаил, а почему у вас RangeCandles строятся по диапазону от открытия свечи ,
а не по настоящему рейнджу от хая до лоу ?
это же в текущей реализации кресто-нули какие то .
в итоге у меня 100п свечи выглядят так :
open,high,low,close
185100, 185150,185000,185000
получается рейдж свечи 150 п а не 100 как я думал регистрируя
_candleManager.RegisterRangeCandles(_RIH, 100);
или я не прав и у вас реализован реальный диапазон от хая до лоу и это я где то неверно написал код ?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>