Индикаторы - совместный проект~/topic/1620/indikatory---sovmestnyi-proekt/Copyright @ StockSharp Platform LLC 2010 - 20242024-03-28T14:02:53Zhttps://stocksharp.com/images/logo.pnghttps://stocksharp.com/posts/m/16845/Обновил таски. Есть желающие заняться документацией по индикаторам?2012-02-29T14:31:32Z2016-08-16T00:05:54ZAlexanderhttps://stocksharp.com/users/2826/info@stocksharp.comОбновил <a href="http://stocksharp.com/posts/m/12158/" title="http://stocksharp.com/posts/m/12158/">таски</a>.<br />Есть желающие заняться документацией по индикаторам?Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/10981/Для MACD файл не заливал, т.к. не получалось выгрузить данные, чтобы совпал EMA. Если ручками поправ...2011-09-12T14:57:23Z2016-08-16T00:01:18Zartemoxhttps://stocksharp.com/users/490/info@stocksharp.com<div class="quote"><span class="quotetitle">esper <a href="https://stocksharp.com/posts/m/10973/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Для MACD файл не заливал, т.к. не получалось выгрузить данные, чтобы совпал EMA.</div></div><br />Если ручками поправить первое расчетное значение не проходит тест?<br /><br /><div class="quote"><span class="quotetitle">esper <a href="https://stocksharp.com/posts/m/10973/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Еще возник вопрос по Trough и Peak, для них сейчас тесты не проходят, они раньше работали?</div></div><br />Вроде нет <a href="http://stocksharp.com/posts/m/8891/" title="http://stocksharp.com/posts/m/8891/">http://stocksharp.com/posts/m/8891/</a>Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/9584/Эти индикаторы делал я Здравствуйте. Так Peak и Trough работают как в WL ? Да. http://www2.wealth-la...2011-07-14T16:38:02Z2016-08-16T00:00:23ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.com<div class="quote"><span class="quotetitle">Maxim <a href="https://stocksharp.com/posts/m/9581/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote"><div class="quote"><span class="quotetitle">freelancer <a href="https://stocksharp.com/posts/m/9579/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote"><div class="quote"><span class="quotetitle">Maxim <a href="https://stocksharp.com/posts/m/9575/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Эти индикаторы делал я</div></div><br />Здравствуйте. Так Peak и Trough работают как в WL ?</div></div><br /><br />Да.<br /><a target="_blank" rel="nofollow" href="https://stocksharp.com/away/?u=AQAAAAAAAACAf055gYlUZrDBiDZ5UZ3iqeNWDV14I2vhU8aQT2hccwZOYmcARIc7Ogdf-7AvOHc" title="http://www2.wealth-lab.com/WL5Wiki/Peak.ashx ">http://www2.wealth-lab.com/WL5Wiki/Peak.ashx </a><br /><br />Совсем забыл.<br />С этими индикаторами был вопрос, который не знаю, закрыли или нет:<br /><a href="http://stocksharp.com/posts/m/8891/" title="http://stocksharp.com/posts/m/8891/">http://stocksharp.com/posts/m/8891/</a></div></div><br /><br />Я так понимаю об этом как раз и спрашивали.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/9581/Эти индикаторы делал я Здравствуйте. Так Peak и Trough работают как в WL ? Да. http://www2.wealth-la...2011-07-14T15:46:29Z2016-08-16T00:00:23ZMaximhttps://stocksharp.com/users/6182/info@stocksharp.com<div class="quote"><span class="quotetitle">freelancer <a href="https://stocksharp.com/posts/m/9579/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote"><div class="quote"><span class="quotetitle">Maxim <a href="https://stocksharp.com/posts/m/9575/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Эти индикаторы делал я</div></div><br />Здравствуйте. Так Peak и Trough работают как в WL ?</div></div><br /><br />Да.<br /><a target="_blank" rel="nofollow" href="https://stocksharp.com/away/?u=AQAAAAAAAACAf055gYlUZrDBiDZ5UZ3iqeNWDV14I2vhU8aQT2hccwZOYmcARIc7Ogdf-7AvOHc" title="http://www2.wealth-lab.com/WL5Wiki/Peak.ashx ">http://www2.wealth-lab.com/WL5Wiki/Peak.ashx </a><br /><br />Совсем забыл.<br />С этими индикаторами был вопрос, который не знаю, закрыли или нет:<br /><a href="http://stocksharp.com/posts/m/8891/" title="http://stocksharp.com/posts/m/8891/">http://stocksharp.com/posts/m/8891/</a>Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/9535/Индикаторы Peak и Trough. Вопрос: какой вариант реализуем в S#? Михаил, есть ответ на этот вопрос ? ...2011-07-13T13:08:05Z2016-08-16T00:00:22ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.com<div class="quote"><span class="quotetitle">freelancer <a href="https://stocksharp.com/posts/m/9533/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote"><div class="quote"><span class="quotetitle">Maxim <a href="https://stocksharp.com/posts/m/8891/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Индикаторы Peak и Trough.<br /><br />Вопрос: какой вариант реализуем в S#?</div></div><br />Михаил, есть ответ на этот вопрос ?<br /><br /><a href="http://stocksharp.com/posts/m/8891/" title="http://stocksharp.com/posts/m/8891/">http://stocksharp.com/posts/m/8891/</a></div></div><br /><br />Насчет реализации? Предлагаю так, как оно описано в книжках, по формуле.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/9533/Индикаторы Peak и Trough. Вопрос: какой вариант реализуем в S#? Михаил, есть ответ на этот вопрос ? ...2011-07-13T13:00:28Z2016-08-16T00:00:21Zfreelancerhttps://stocksharp.com/users/28572/info@stocksharp.com<div class="quote"><span class="quotetitle">Maxim <a href="https://stocksharp.com/posts/m/8891/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Индикаторы Peak и Trough.<br /><br />Вопрос: какой вариант реализуем в S#?</div></div><br />Михаил, есть ответ на этот вопрос ?<br /><br /><a href="http://stocksharp.com/posts/m/8891/" title="http://stocksharp.com/posts/m/8891/">http://stocksharp.com/posts/m/8891/</a>Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/9005/Те, кто пока не уехал в отпуск, может продолжим? После чистки кода предлагаю еще раз список передела...2011-06-20T08:21:45Z2016-08-16T00:00:01ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.comТе, кто пока не уехал в отпуск, <a href="http://stocksharp.com/forum/1669/Indikator---riefaktoringh/" title="http://stocksharp.com/forum/1669/Indikator---riefaktoringh/">может продолжим</a>? После чистки кода предлагаю еще раз список переделать и понять, что осталось, а что уже сделано.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/8484/Приветствую всех участников! Месяц назад я публиковал призыв о совместной разработке индикаторов на ...2011-05-31T14:47:53Z2016-08-15T23:59:14ZSergey Masyurahttps://stocksharp.com/users/701/info@stocksharp.com<div class="quote"><span class="quotetitle">Mikhail Sukhov <a href="https://stocksharp.com/posts/m/8480/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Приветствую всех участников!<br /><br />Месяц назад я <a href="http://stocksharp.com/forum/1491/A-nie-zabatsat--li-nam-indiuki/" title="http://stocksharp.com/forum/1491/A-nie-zabatsat--li-nam-indiuki/">публиковал призыв</a> о совместной разработке индикаторов на базе C#. Прошел месяц, мною было сделано 3 стандартных индикатора SMA, EMA и WMA. И ни строчки кода ни от одного пользователя S#. Каждый день задают вопросы (причем, большинство явно не относящиеся к S# как таковому), получают ответы, но свою помощь предложить не хотят. Стесняются, наверное.<br /><br />Я понимаю, что дело в мотивации. Зачем помогать делать что-то, если можно подождать пару месяцев (пол года) или сделать самому, а потом пересесть на стандартное. Поэтому я решил найти мотивацию. И я ее нашел. Это лето объявляется летом "<b>Ты мне - я тебе</b>".<br /><br />Схема простая. Вы делаете индикатор - я отвечаю на <b>три любых</b> вопроса. Вопросы по глюкам S# остаются как есть и раньше - ответ всегда получите. Но вопросы по C#, WFP, примерам, документации, Квику и всему прочему - только за индикатор.[smile] Я думаю честно. Тем более, сделав 5 индикаторов, вы получается доступ к репозитарию навсегда, а так же майку с символикой S#.<br /><br />Архив с кодом сделанных индюков прилагается в архиве. Это можно рассматривать как пример.</div></div><br /><br />Предлагаю работать с кодом через репозиторий stocksharp connectors на codeplex.<br /><br /><a target="_blank" rel="nofollow" href="https://stocksharp.com/away/?u=AQAAAAAAAAAbncQVTu8T5yVB2LlB47S-PJDLGaYubv1FRazqsqMptukXVyYIWO0DW7kiS9-qUq4RyrYpTnUQx_bHJWTscuH9l4oG1ZGoH1kqGucbaxuaaQ" title="http://stocksharpconnectors.codeplex.com/SourceControl/changeset/changes/3952
">http://stocksharpconnect.../changeset/changes/3952
</a><br /><br />Залил туда начальную версию.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/8480/Приветствую всех участников! Месяц назад я публиковал призыв о совместной разработке индикаторов на ...2011-05-31T14:06:06Z2016-08-15T23:59:13ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.comПриветствую всех участников!<br /><br />Месяц назад я <a href="http://stocksharp.com/forum/1491/A-nie-zabatsat--li-nam-indiuki/" title="http://stocksharp.com/forum/1491/A-nie-zabatsat--li-nam-indiuki/">публиковал призыв</a> о совместной разработке индикаторов на базе C#. Прошел месяц, мною было сделано 3 стандартных индикатора SMA, EMA и WMA. И ни строчки кода ни от одного пользователя S#. Каждый день задают вопросы (причем, большинство явно не относящиеся к S# как таковому), получают ответы, но свою помощь предложить не хотят. Стесняются, наверное.<br /><br />Я понимаю, что дело в мотивации. Зачем помогать делать что-то, если можно подождать пару месяцев (пол года) или сделать самому, а потом пересесть на стандартное. Поэтому я решил найти мотивацию. И я ее нашел. Это лето объявляется летом "<b>Ты мне - я тебе</b>".<br /><br />Схема простая. Вы делаете индикатор - я отвечаю на <b>три любых</b> вопроса. Вопросы по глюкам S# остаются как есть и раньше - ответ всегда получите. Но вопросы по C#, WFP, примерам, документации, Квику и всему прочему - только за индикатор.[smile] Я думаю честно.<br /><br />Сделав 5 индикаторов, вы получается бонус - <b><a href="http://stocksharp.com/forum/1713/Futbolki/" title="http://stocksharp.com/forum/1713/Futbolki/">кружку с символикой S#</a></b>.<br /><br />Репозитарий с исходниками расположен по адресу <a target="_blank" rel="nofollow" href="https://stocksharp.com/away/?u=AQAAAAAAAAAbncQVTu8T5yVB2LlB47S-PJDLGaYubv1FRazqsqMptpWSlWya4U--cPlt8kMBhHc" title="http://stocksharpconnectors.codeplex.com">http://stocksharpconnectors.codeplex.com</a> Чтобы получить доступ на запись регистрируйтесь на сайте, пишите в эту тему свой логин и какие индюки хотите сделать. Стиль кодирование указывается через R#. Настройки в репозитарии.<br /><br /><b>Что сделано сейчас</b>:<br /><ol><br /><li>Acceleration<br /><li>Alligator<br /><li>AwesomeOscillator<br /><li>Fractals<br /><li>GatorOscillator<br /><li>MarketFacilitationIndex<br /><li>BollingerBands<br /><li>ExponentialMovingAverage<br /><li>Macd<br /><li>ParabolicSar<br /><li>RAVI<br /><li>SimpleMovingAverage<br /><li>SmoothedMovingAverage<br /><li>StandartDeviation<br /><li>VolumeWeightedMovingAverage<br /><li>WeightedMovingAverage<br /><li>WilderMovingAverage<br /><li>Adx<br /><li>Atr<br /><li>ChandeMomentumOscillator<br /><li>CommodityChannelIndex<br /><li>DiMinus<br /><li>DiPlus<br /><li>Dx<br /><li>Ichimoku<br /><li>Momentum<br /><li>RateOfChange<br /><li>RelativeStrengthIndex<br /><li>RVI<br /><li>TrueRange<br /><li>DetrendedPriceOscillator<br /><li>Highest<br /><li>LinearReg<br /><li>LinearRegression<br /><li>LinearRegSlope<br /><li>Lowest<br /><li>MeanDeviation<br /><li>MedianPrice<br /><li>Peak<br /><li>PeakBar<br /><li>QStick<br /><li>RSquared<br /><li>StandardError<br /><li>StochK<br /><li>Sum<br /><li>Trix<br /><li>Trough<br /><li>TroughBar<br /><li>UltimateOsc<br /><li>VerticalHorizontalFilter<br /><li>Vidya<br /><li>Volatility<br /><li>WilliamsR<br /></ol>Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/26888/проблема решена2013-08-03T15:10:41Z2013-08-03T15:10:41Zalex123456https://stocksharp.com/users/6228/info@stocksharp.comпроблема решенаCopyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/26744/Не рисуется ни один индикатор в версии сборки 4.1.15(пробовал также 4.1.14, 4.1.13, 4.1.11). Свечной...2013-07-22T14:23:20Z2013-07-23T06:45:30Zalex123456https://stocksharp.com/users/6228/info@stocksharp.comНе рисуется ни один индикатор в версии сборки 4.1.15(пробовал также 4.1.14, 4.1.13, 4.1.11). Свечной график рисуется нормально, как с промежутками(пустые места), так и без них. А вот индикаторы не рисуются как в самой области свечного графика(Are1), так и в отдельной области(Area2), как с пустыми местами (NoGapMode="False") так и без них (NoGapMode="true"), как со связаной областью(IsAligned = true), так и раздельной областью (IsAligned = false). Хотя в версии сборки 4.1.4 все строилось отлично, но MsChart был недостаток не было подсказок по свече(легенды), сейчас есть и легенда и подсказки по осям, но теперь не добавляется индикатор (Объём, Простая скользящая средняя и т.д.)<br />В версии сборки 4.1.4 ошибка ArgumentNullException решалась через добавление кода <div class="code"><strong>Code</strong><div class="innercode"><pre class="brush:xml">
<SX:Chart x:Name="_chart" IsIndexed ="False"/></pre>
</div></div> - ряды не индексированы. Сейчас это не помогает. Мне думается проблема ещё со StockSharp.Xaml(см прилагаемые файлы). Прошу помощи?Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/25809/У всех есть эта программа. Paint называется. Замечательно сохраняет в PNG. Благодарю, век живи - век...2013-05-04T17:23:10Z2013-05-04T17:23:10ZUsilaDobryhttps://stocksharp.com/users/28825/info@stocksharp.com<div class="quote"><span class="quotetitle">VassilSanych <a href="https://stocksharp.com/posts/m/25807/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">У всех есть эта программа. Paint называется.<br />Замечательно сохраняет в PNG.</div></div><br /><br />Благодарю, век живи - век учись...Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/25807/У всех есть эта программа. Paint называется. Замечательно сохраняет в PNG.2013-05-04T16:27:20Z2013-05-04T16:27:20ZVassilSanychhttps://stocksharp.com/users/6491/info@stocksharp.comУ всех есть эта программа. Paint называется.<br />Замечательно сохраняет в PNG.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/25805/ P.S.: Скриншоты не стоит запихивать в doc. Согласен, но у меня под рукой нет программы, чтобы сохра...2013-05-04T16:04:38Z2013-05-04T16:04:38ZUsilaDobryhttps://stocksharp.com/users/28825/info@stocksharp.com<div class="quote"><span class="quotetitle">Moadip <a href="https://stocksharp.com/posts/m/25804/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote"><br />P.S.: Скриншоты не стоит запихивать в doc.</div></div><br /><br />[biggrin] Согласен, но у меня под рукой нет программы, чтобы сохранить в графическом формате... Вот и впихиваю, благо, что впихуемое...[biggrin] Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/25804/у меня не показывается легенда ни по индикатору, ни по свечам Может потому что их надо вкючить? priv...2013-05-04T14:22:51Z2013-05-04T14:22:51ZMoadiphttps://stocksharp.com/users/5973/info@stocksharp.com<div class="quote"><span class="quotetitle">Quote:</span><div class="innerquote">у меня не показывается легенда ни по индикатору, ни по свечам</div></div><br />Может потому что их надо вкючить?<br /><div class="code"><strong>Code</strong><div class="innercode"><pre class="brush:csharp">
private void btnCrossHair_Click(object sender, RoutedEventArgs e)
{
if (btnCrossHair.IsChecked.HasValue && btnCrossHair.IsChecked.Value)
Chart.CrossHair = true;
else
Chart.CrossHair = false;
}
private void btnToolTip_Click(object sender, RoutedEventArgs e)
{
if (btnToolTip.IsChecked.HasValue && btnToolTip.IsChecked.Value)
Chart.CrossHairTooltip = true;
else
Chart.CrossHairTooltip = false;
}
</pre>
</div></div><br /><br /><div class="quote"><span class="quotetitle">Quote:</span><div class="innerquote">А меняю таймфрейм, так он вообще всё одной полосой выводит...похоже масштабирование глючит... </div></div><br />Слева же видно что есть несколько точек по 0 цене, поэтому и перемасштабировано, чтобы все показать. Достаточно график прокрутить, чтобы не захватывались эти точки.<br /><br />P.S.: Скриншоты не стоит запихивать в doc.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/25798/Я сделал вывод на график по Вашему примеру, у меня не показывается легенда ни по индикатору, ни по с...2013-05-04T08:58:11Z2013-05-04T09:46:16ZUsilaDobryhttps://stocksharp.com/users/28825/info@stocksharp.comЯ сделал вывод на график по Вашему примеру, у меня не показывается легенда ни по индикатору, ни по свечам, и автопрокрутка не работает...<br /><br /><div class='spoilertitle'><input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_578722d61a784542ad81cd898a187950');" title='Show spoiler' /></div><div class='spoilerbox' id='spolier_578722d61a784542ad81cd898a187950' style='display:none'><div class="code"><strong>Code</strong><div class="innercode"><pre class="brush:csharp">
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Media;
using System.Windows.Shapes;
using Ecng.Collections;
using Ecng.Xaml;
using StockSharp.Algo;
using StockSharp.Algo.Candles;
using StockSharp.Algo.Indicators;
using StockSharp.Algo.Indicators.Trend;
using StockSharp.Logging;
using StockSharp.Quik;
using StockSharp.TraderConnection;
using StockSharp.Xaml;
namespace MARKET_SUCCESS
{
/// <summary>
/// Логика взаимодействия для MainWindow.xaml
/// </summary>
public partial class MainWindow
{
private CandleManager _candleManager; //Менеджер свечей
private readonly ChartCandleElement _chartCandleElement; //Графический элемент свечи
private readonly ChartIndicatorElement _chartParabolicElement; //Графический элемент Parabolic SAR
public MainWindow()
{
try
{
InitializeComponent();
ConnectionInterface.SafeConnection = new SafeConnection(new QuikTrader(QuikTerminal.GetDefaultPath()));
ConnectionInterface.SafeConnection.NewException += exc => this.GuiAsync(() => MessageBox.Show(exc.ToString()));
_logManager.Listeners.Add(new GuiLogListener(MonitorControl));
_logManager.Listeners.Add(new FileLogListener("log.txt"));
_logManager.Sources.Add(ConnectionInterface.SafeConnection.Trader);
var area = new ChartArea();
Chart.ChartTheme = "ExpressionDark";
_chartCandleElement = new ChartCandleElement
{
Antialiasinig = false,
UpBodyColor = Colors.Chartreuse,
UpWickColor = Colors.Chartreuse,
DownBodyColor = Colors.Red,
DownWickColor = Colors.Red,
IsLegend = true,
};
_chartParabolicElement = new ChartIndicatorElement
{
Antialiasinig = false,
Color = Colors.Turquoise,
IsLegend = true,
Indicator = new ParabolicSar(),
Title = "Parabolic Sar",
DrawStyle = ChartIndicatorDrawStyles.Dot,
};
_chartParabolicElement.DrawTemplate.VisualTree.SetValue(Shape.FillProperty, new SolidColorBrush(Colors.Turquoise));
area.Elements.Add(_chartCandleElement);
area.Elements.Add(_chartParabolicElement);
Chart.Areas.Add(area);
Chart.IsAutoScroll = true;
}
catch (Exception exc)
{
MessageBox.Show(exc.ToString());
}
}
private readonly LogManager _logManager = new LogManager();
private void ChartButton_Click(object sender, RoutedEventArgs e)
{
//Проверяем, чтобы значение тайм-фрейма было указано
if (TpTimeFrame.Value == null)
{
MessageBox.Show("Введите значение таймфрейм");
return;
}
//Получаем тайм-фрейм
var timeFrame = TpTimeFrame.Value.Value.TimeOfDay;
//Инициируем процесс получения свечей и дальнейшей отрисовки
RunProcessGetCandles(timeFrame);
}
/// <summary>
/// Метод инициирования среды для получения свечей и дальнейшей отрисовки
/// </summary>
/// <param name="timeFrame">Тайм-фрейм для свечей</param>
private void RunProcessGetCandles(TimeSpan timeFrame)
{
//Создаем менеджер свечей
_candleManager = new CandleManager(ConnectionInterface.SafeConnection.Trader);
//Получаем торговый инструмент
var security = ConnectionInterface.SelectedSecurity;
//Создаем серию свечей
var series = new CandleSeries(typeof(TimeFrameCandle), security, timeFrame);
//_candleSeries.WorkingTime.Times[0].Min = TimeSpan.FromHours(0);
//_candleSeries.WorkingTime.Times[0].Max = TimeSpan.FromHours(24);
//Подписываемся на событие обработки свечи
_candleManager.Processing += ProcessCandle;
//Запускаем получение свечей
_candleManager.Start(series);
}
private void ProcessCandle(CandleSeries series, Candle candle)
{
try
{
if (candle.State == CandleStates.Finished)
{
var value = _chartParabolicElement.Indicator.Process(new CandleIndicatorValue(candle) { IsFinal = true });
this.GuiAsync(() => Chart.ProcessValues(candle.OpenTime, new Dictionary<IChartElement, object>
{
{_chartCandleElement, candle},
{_chartParabolicElement, new ChartIndicatorValue(_chartParabolicElement.Indicator, value)}
}));
}
else
{
this.GuiAsync(() => Chart.ProcessCandle(_chartCandleElement, candle));
}
}
catch (Exception exc)
{
MessageBox.Show(exc.ToString());
}
}
}
}</pre>
</div></div></div><br /><br />А меняю таймфрейм, так он вообще всё одной полосой выводит...похоже масштабирование глючит...Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/25782/http://i48.fastpic.ru/thumb/2013/0502/e7/c360bd341ef679cb70a984794acc14e7.jpeg http://i46.fastpic.ru...2013-05-02T17:48:32Z2013-05-02T17:48:32ZMoadiphttps://stocksharp.com/users/5973/info@stocksharp.com<a target="_blank" rel="nofollow" href="https://stocksharp.com/away/?u=AQAAAAAAAAB4188gSPdA0wg5SG_vUH_m_obNx5gbD55Mndxoa3yM2tF5LU3tSeKI95JXG8jZEs8U2zLcKrr8TrKQtjTlQREhU1vGlKqC0fxTC2muh6iGaQ" title="http://fastpic.ru/view/48/2013/0502/c360bd341ef679cb70a984794acc14e7.png.html"><a href='http://i48.fastpic.ru/thumb/2013/0502/e7/c360bd341ef679cb70a984794acc14e7.jpeg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="http://i48.fastpic.ru/thumb/2013/0502/e7/c360bd341ef679cb70a984794acc14e7.jpeg" style='max-width: 600px;' alt=""/></a></a><br /><br /><a target="_blank" rel="nofollow" href="https://stocksharp.com/away/?u=AQAAAAAAAAB4188gSPdA0wg5SG_vUH_mjv6tYvJz6eh3GAwKdImxYMus-nFy1QmUvBsEJcfjTkrVvJ26wA6PM3P5-Srz3CIguWEzJrKa8IoMjpNOm5XSTw" title="http://fastpic.ru/view/46/2013/0502/5a5e308a4871e79bc60448416baf95cf.png.html"><a href='http://i46.fastpic.ru/thumb/2013/0502/cf/5a5e308a4871e79bc60448416baf95cf.jpeg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="http://i46.fastpic.ru/thumb/2013/0502/cf/5a5e308a4871e79bc60448416baf95cf.jpeg" style='max-width: 600px;' alt=""/></a></a><br /><br /><b>xaml:</b><br /><div class='spoilertitle'><input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_41afed73f110419493546be1f1e0b1ca');" title='Show spoiler' /></div><div class='spoilerbox' id='spolier_41afed73f110419493546be1f1e0b1ca' style='display:none'><br /><div class="code"><strong>Code</strong><div class="innercode"><pre class="brush:csharp">
<Window x:Class="Test.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:xaml="clr-namespace:StockSharp.Xaml;assembly=StockSharp.Xaml"
Title="MainWindow" Height="408" Width="683">
<DockPanel LastChildFill="True">
<StackPanel Orientation="Horizontal" Height="23" DockPanel.Dock="Top">
<Button Content="Connect" Name="btnConnect" Width="100" Click="btnConnect_Click" />
<Button Content="Draw Candle" Name="btnDraw" Width="100" Click="btnDraw_Click" />
<ToggleButton Content="CrossHair" Name="btnCrossHair" Width="100" Click="btnCrossHair_Click" />
<ToggleButton Content="ToolTip" Name="btnToolTip" Width="100" Click="btnToolTip_Click" />
</StackPanel>
<xaml:SciChart x:Name="Chart"/>
</DockPanel>
</Window>
</pre>
</div></div><br /></div><br /><b>cs:</b><br /><div class='spoilertitle'><input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_7392704dcc394e5fa1ce02ac975e6608');" title='Show spoiler' /></div><div class='spoilerbox' id='spolier_7392704dcc394e5fa1ce02ac975e6608' style='display:none'><br /><div class="code"><strong>Code</strong><div class="innercode"><pre class="brush:csharp">
namespace Test
{
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Windows;
using System.Windows.Media;
using System.Windows.Shapes;
using Ecng.Common;
using Ecng.Xaml;
using StockSharp.Algo.Candles;
using StockSharp.Algo.Indicators;
using StockSharp.Algo.Indicators.Trend;
using StockSharp.BusinessEntities;
using StockSharp.Quik;
using StockSharp.Xaml;
public partial class MainWindow
{
private QuikTrader _trader;
private CandleManager _candleManager;
private Security _security;
private const string _securityCode = "RIM3";
private const string _path = @"E:\Program Files\QUIK\";
private readonly ChartCandleElement _chartCandleElement;
private readonly ChartIndicatorElement _chartIndicatorElement;
public MainWindow()
{
InitializeComponent();
var area = new ChartArea();
Chart.ChartTheme = "ExpressionDark";
_chartCandleElement = new ChartCandleElement()
{
Antialiasinig = false,
UpBodyColor = Colors.White,
UpWickColor = Colors.Black,
DownBodyColor = Colors.Black,
DownWickColor = Colors.Black,
};
_chartIndicatorElement = new ChartIndicatorElement
{
Antialiasinig = false,
Color = Colors.DarkBlue,
IsLegend = true,
Indicator = new ParabolicSar(),
Title = "Parabolic Sar",
DrawStyle = ChartIndicatorDrawStyles.Dot,
};
_chartIndicatorElement.DrawTemplate.VisualTree.SetValue(Shape.FillProperty, new SolidColorBrush(Colors.DarkBlue));
area.Elements.Add(_chartCandleElement);
area.Elements.Add(_chartIndicatorElement);
Chart.Areas.Add(area);
Chart.IsAutoScroll = true;
}
protected override void OnClosing(CancelEventArgs e)
{
if (_trader != null)
{
_trader.StopExport();
_trader.Disconnect();
}
base.OnClosing(e);
}
private void btnConnect_Click(object sender, RoutedEventArgs e)
{
_trader = new QuikTrader(_path);
_candleManager = new CandleManager(_trader);
_trader.NewSecurities += securities =>
{
if (_security.IsNull())
_security = securities.FirstOrDefault(sec => sec.Code == _securityCode);
};
_trader.Connected += () => _trader.StartExport();
_trader.Connect();
}
private void btnDraw_Click(object sender, RoutedEventArgs e)
{
_candleManager.Processing += ProcessCandle;
var series = new CandleSeries(typeof(TimeFrameCandle), _security, TimeSpan.FromMinutes(1));
_candleManager.Start(series);
}
private void ProcessCandle(CandleSeries series, Candle candle)
{
if (candle.State == CandleStates.Finished)
{
var value = _chartIndicatorElement.Indicator.Process(new CandleIndicatorValue(candle) { IsFinal = true });
this.GuiAsync(() => Chart.ProcessValues(candle.OpenTime, new Dictionary<IChartElement, object>
{
{_chartCandleElement, candle},
{_chartIndicatorElement, new ChartIndicatorValue(_chartIndicatorElement.Indicator, value)}
}));
}
else
{
this.GuiAsync(() => Chart.ProcessCandle(_chartCandleElement, candle));
}
}
private void btnCrossHair_Click(object sender, RoutedEventArgs e)
{
if (btnCrossHair.IsChecked.HasValue && btnCrossHair.IsChecked.Value)
Chart.CrossHair = true;
else
Chart.CrossHair = false;
}
private void btnToolTip_Click(object sender, RoutedEventArgs e)
{
if (btnToolTip.IsChecked.HasValue && btnToolTip.IsChecked.Value)
Chart.CrossHairTooltip = true;
else
Chart.CrossHairTooltip = false;
}
}
}
</pre>
</div></div><br /></div>Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/25774/ О каком индикаторе вообще идет речь? На картинке какие то линии без опознавательных знаков. Речь ид...2013-05-02T13:54:43Z2013-05-02T14:10:01ZUsilaDobryhttps://stocksharp.com/users/28825/info@stocksharp.com<div class="quote"><span class="quotetitle">Moadip <a href="https://stocksharp.com/posts/m/25733/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote"><br />О каком индикаторе вообще идет речь? На картинке какие то линии без опознавательных знаков.</div></div><br /><br />Речь идет об индикаторе Parabolic SAR, на картинке он светло-голубого цвета. Каждый раз после запуска вывода на графике новая версия изображения, на картинке видно, как цена зашкаливает индикатор, а он не переключается, при этом значения индикатора подтверждают график в Квике, полное совпадение с графиком индикатора в Квике.<br />И еще, на графике явное смещение значения индикатора. Текущее значение индикатора с индексом [0] соответствует на графике свечке с индексом [2].<br /><br /><div class="quote"><span class="quotetitle">Quote:</span><div class="innerquote"><br />Т.е. все таки индикатор рассчитывается верно, но проблема с выводом на график? <br />Тогда могу предположить что вы что то не так делаете, т.к. SciChart отрисовывает то, что ему передается.</div></div><br /><br />Вывод индикатора на график делаю четко по изложенному материалу в в видео-уроке.<br /><br />1. инициализация<br /><br /><div class="code"><strong>Code</strong><div class="innercode"><pre class="brush:csharp">
if (SarCheckBox.IsChecked == true)
{
_parabolic = new ParabolicSar
{
AccelerationStep = decimal.Parse(FactorSarTextBox.Text),
AccelerationMax = decimal.Parse(MaximumSarTextBox.Text)
};
_chartParabolicElement = new ChartIndicatorElement
{
Title = "Parabolic",
Color = Colors.Aqua,
Indicator = _parabolic
};
_chartArea.Elements.Add(_chartParabolicElement);
}</pre>
</div></div><br />2. получение значения индикатора<br /><br /><div class="code"><strong>Code</strong><div class="innercode"><pre class="brush:csharp">
if (_parabolic != null)
{
var valueSar = _parabolic.Process(candle);
_chartParabolicValue = new ChartIndicatorValue(_parabolic, valueSar);
}</pre>
</div></div><br /><br />3. вывод на график<br /><br /><div class="code"><strong>Code</strong><div class="innercode"><pre class="brush:csharp">
if (_chartParabolicElement != null && _chartParabolicValue != null)
{
this.GuiAsync(() => Chart.ProcessValues(candle.OpenTime, new Dictionary<IChartElement, object>
{
{_chartParabolicElement, _chartParabolicValue} //для Parabolic SAR_
}));</pre>
</div></div><br /><br />Что касается SciChart. Не я первый здесь об этом пишу. У меня например заявки в виде стрелок выводятся на экран, а потом убегают в левый край экрана...Об этом уже здесь писалось... Индикатор Bolliger тоже может нарисовать абсолютно прямымCopyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/25733/Похоже библиотечный индикатор считает как то не так...Цена не может зашкаливать индикатор. Это похож...2013-05-02T08:57:46Z2013-05-02T08:57:46ZMoadiphttps://stocksharp.com/users/5973/info@stocksharp.com<div class="quote"><span class="quotetitle">UsilaDobry <a href="https://stocksharp.com/posts/m/25682/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Похоже библиотечный индикатор считает как то не так...Цена не может зашкаливать индикатор.<br />Это похоже на некорректный вывод на график значений индикатора, потому что каждый раз на графике появляется изображение индикатора в новом исполнении.<br /><br />Я проверил значения индикатора на графике Quik, индикатор считает корректно, это SciChart выводит значения индикатора некорректно. На работу стратегии это не влияет, но визуально вводит в заблуждение. Сигналы стратегии лучше смотреть на графике Quik.<br /><br />Возможно ли как-то это исправить?</div></div><br /><br />О каком индикаторе вообще идет речь? На картинке какие то линии без опознавательных знаков.<br /><br /><div class="quote"><span class="quotetitle">Quote:</span><div class="innerquote">Я проверил значения индикатора на графике Quik, индикатор считает корректно, это SciChart выводит значения индикатора некорректно.</div></div><br />Т.е. все таки индикатор рассчитывается верно, но проблема с выводом на график? <br />Тогда могу предположить что вы что то не так делаете, т.к. SciChart отрисовывает то, что ему передается.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/25716/Уважаемые разработчики прошу помочь. Никак не выходит "каменный цветок"... Пытаюсь вывести на график...2013-05-01T16:57:49Z2013-05-01T16:59:34ZUsilaDobryhttps://stocksharp.com/users/28825/info@stocksharp.comУважаемые разработчики прошу помочь. Никак не выходит "каменный цветок"... Пытаюсь вывести на график индикатор Fractals, не получается. В чем ошибка?<br />На курсе обучения порекомендовали обратиться на общий форум, где-то ошибка в формировании индикатора.<br />1. Инициализация<br /><div class='spoilertitle'><input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_6ff0306ecb314dba94e5c7605c29bfeb');" title='Show spoiler' /></div><div class='spoilerbox' id='spolier_6ff0306ecb314dba94e5c7605c29bfeb' style='display:none'><div class="code"><strong>Code</strong><div class="innercode"><pre class="brush:csharp">
if (FractalCheckBox.IsChecked == true)
{
_fractals = new Fractals
{
Length = 5,
};
_chartFractalsElement = new ChartIndicatorElement
{
Title = "Fractal",
Color = Colors.Chartreuse,
Indicator = _fractals
};
//Добавляем графический элемент индикатора в коллекцию области
_chartArea.Elements.Add(_chartFractalsElement);
}</pre>
</div></div></div><br /><br />2. Получение значения<br /><div class='spoilertitle'><input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_bcfd43b304a44e58869ba55203dc56c6');" title='Show spoiler' /></div><div class='spoilerbox' id='spolier_bcfd43b304a44e58869ba55203dc56c6' style='display:none'><div class="code"><strong>Code</strong><div class="innercode"><pre class="brush:csharp">
var buffer = new List<Candle>(5);
if (_fractals != null)
{
buffer.Add(candle);
if(buffer.Count != 5) return;
if(buffer.Count > 5) buffer.RemoveAt(0);
foreach (var x in buffer)
_fractals.Process(x);
if (_fractals.IsFormed)
{
var valueFractals = _fractals.GetCurrentValue();
_chartFractalsValue = new ChartIndicatorValue(_fractals, valueFractals);
}
}</pre>
</div></div></div><br /><br />3. Вывод на график<br /><br /><div class='spoilertitle'><input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_ceff68add3c1483cb8afcae655293a69');" title='Show spoiler' /></div><div class='spoilerbox' id='spolier_ceff68add3c1483cb8afcae655293a69' style='display:none'><div class="code"><strong>Code</strong><div class="innercode"><pre class="brush:csharp">
if (candle.State == CandleStates.Finished) //только законченные свечи
{
if (_chartFractalsValue != null && _chartFractalsValue != null)
{
this.GuiAsync(() => Chart.ProcessValues(candle.OpenTime, new Dictionary<IChartElement, object>
{
{_chartFractalsElement, _chartFractalsValue} //для Fractals
}));
}
}</pre>
</div></div></div><br /><br />Где ошибка кроется? Я варианты все исчерпал...Copyright @ StockSharp Platform LLC 2010 - 2024