Algorithmischer Handel für .NET und Python✦86+ Konnektoren · Börsen · Broker · Krypto✦S#.Designer · Backtest · optimieren · live gehen✦Eine Community von 31,454+ Tradern und Entwicklern✦Algorithmischer Handel für .NET und Python✦86+ Konnektoren · Börsen · Broker · Krypto✦S#.Designer · Backtest · optimieren · live gehen✦Eine Community von 31,454+ Tradern und Entwicklern✦
как прикрепить рисунок не знаю.
вот код
foreach (var candle in candles)
{
_longSmaSeries.DataPoints.Add(new DataPoint );
_shortSmaSeries.DataPoints.Add(new DataPoint );
_strategy.LongSma.Value и _strategy.ShortSma.Value всегда будут равны
последнему значению индикатора.
там нужно получать значение по дате-времени свечи. как это сделать я
не знаю
Не должны они равняться последнему значению индикатора. Это значение,
вычисляемое по формуле. Что-то не так. Видимо данные не заполняются из
Квика. Посмотрите, правильные ли данные в Sma.Add
_strategy.LongSma.Value содержит последнее значение (т.е. значение
последней добавленной свечи)
поэтому надо заполнять _longSmaSeries по мере поступления свечей,
предварительно пересчитав значение в индикаторе (SMA)
т.е. так - добавил свечу в стратегию, затем добавил пересчитанное
значение индикатора в longSmaSeries
расчет SMA по историческим данным возможен только после загрузки
текстового файла, из Квика данные, даже если есть, не используются.
т.е. свечки отрисовались по квику, а данные для SMA из текстового
файла. Если подождать н-цать минут линии конечно пойдут :(
Так Вы не из текстового файла берете историю? А откуда берете?
Какие данные из Квик не используются?
Не, и свечки и линии берутся из файла + квика. Историия (все что до
сегодняшнего дня) берется из файла. Начиная с текущей сессии - из
Квика... Я не совсем понял. Вы нашли проблему? В чем она?
Это в общем-то мои умозрительные заключения после беглого просмотра.
Сейчас запустил, проверил что история подгружается - результат тот же.
Единственное, сильно уменьшил период SMA что бы было видно
При запуске программы (старте обмена по DDE) рисуются только свечки,
индикаторы не рисуются, т.к. переменная _isTodaySmaDrawn установлена в
false.
При загрузке истории из квика вот этот код sma тоже не рисует, т.к.
_isTodaySmaDrawn == false
_candleManager.NewCandles += (token, candles) =>
{
DrawCandles(candles.Keys);
// если скользящие за сегодняшний день отрисованы, то рисуем в
реальном времени текущие скользящие
if (_isTodaySmaDrawn)
DrawSma();
};
Включается _isTodaySmaDrawn по кнопке запускающей стратегию. Но для
"исторических" свечек значение индикатора уже будет равно значению в
последней свечке! то о чем я и писал в третьем сообщении.
Wir verwenden Cookies, um die beste Erfahrung auf unserer Website zu gewährleisten. Durch die weitere Nutzung unserer Seite stimmen Sie der Verwendung von Cookies zu.
Kommentare (9)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Не понял. Можно рисунок?
как прикрепить рисунок не знаю. вот код foreach (var candle in candles) { _longSmaSeries.DataPoints.Add(new DataPoint ); _shortSmaSeries.DataPoints.Add(new DataPoint );
_strategy.LongSma.Value и _strategy.ShortSma.Value всегда будут равны последнему значению индикатора. там нужно получать значение по дате-времени свечи. как это сделать я не знаю
Не должны они равняться последнему значению индикатора. Это значение, вычисляемое по формуле. Что-то не так. Видимо данные не заполняются из Квика. Посмотрите, правильные ли данные в Sma.Add
_strategy.LongSma.Value содержит последнее значение (т.е. значение последней добавленной свечи) поэтому надо заполнять _longSmaSeries по мере поступления свечей, предварительно пересчитав значение в индикаторе (SMA) т.е. так - добавил свечу в стратегию, затем добавил пересчитанное значение индикатора в longSmaSeries
вот скриншот работы примера
http://stocksharp.googlegroups.com/web/sma1.JPG?gsc=inQvVhYAAAAxOapotRDcoMebuCA4pc7SyCEDhV0fx_noyQINFE7ZEw
Ок, понятно. Посмотрите в метод Sma.Add. По всей видимости туда приходит одно и то же значение.
расчет SMA по историческим данным возможен только после загрузки текстового файла, из Квика данные, даже если есть, не используются. т.е. свечки отрисовались по квику, а данные для SMA из текстового файла. Если подождать н-цать минут линии конечно пойдут :(
Это в общем-то мои умозрительные заключения после беглого просмотра. Сейчас запустил, проверил что история подгружается - результат тот же. Единственное, сильно уменьшил период SMA что бы было видно
http://groups.google.ru/group/stocksharp/web/sma2.jpg
При запуске программы (старте обмена по DDE) рисуются только свечки, индикаторы не рисуются, т.к. переменная _isTodaySmaDrawn установлена в false. При загрузке истории из квика вот этот код sma тоже не рисует, т.к. _isTodaySmaDrawn == false
реальном времени текущие скользящие if (_isTodaySmaDrawn) DrawSma(); };
Включается _isTodaySmaDrawn по кнопке запускающей стратегию. Но для "исторических" свечек значение индикатора уже будет равно значению в последней свечке! то о чем я и писал в третьем сообщении.