Trading algorítmico para .NET y Python✦86+ conectores · exchanges · brókers · cripto✦S#.Designer · backtest · optimizar · en vivo✦Una comunidad de 31,454+ traders y desarrolladores✦Trading algorítmico para .NET y Python✦86+ conectores · exchanges · brókers · cripto✦S#.Designer · backtest · optimizar · en vivo✦Una comunidad de 31,454+ traders y desarrolladores✦
как прикрепить рисунок не знаю.
вот код
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 по кнопке запускающей стратегию. Но для
"исторических" свечек значение индикатора уже будет равно значению в
последней свечке! то о чем я и писал в третьем сообщении.
Utilizamos cookies para garantizar la mejor experiencia en nuestro sitio web. Al continuar utilizando nuestro sitio, usted acepta el uso de cookies.
Comentarios (9)
Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario
Не понял. Можно рисунок?
как прикрепить рисунок не знаю. вот код 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 по кнопке запускающей стратегию. Но для "исторических" свечек значение индикатора уже будет равно значению в последней свечке! то о чем я и писал в третьем сообщении.