Пара вопросов
Atom Ответить
27.11.2010


1. Есть ли возможность прописывать в ордера свою информацию, так чтобы она сохранялась при перезапуске S#? ExtendedInfo не сохраняется, Comment при посылке ордера в Quik доходит как строка "S#", но возвращается как пустая строка.

2. В ChartControl не отображаются ордера, я ставил добавку ордеров на событие NewOrders - на чарте ничего нет. Может отображаются только активные, неисполненные ордера?

Теги:


Спасибо:




46 Ответов
< 1 2 
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 03.12.2010
Ответить


Foxbow
В принципе логично.

Подпилил чартинг, когда доведу до ума, перешлю исходники



Выглядит впечатляюще. А что за синяя и желтая линии?
Спасибо:

Foxbow

Фотография
Дата: 03.12.2010
Ответить


синяя - сигналы на открытие, желтая, текущее состояние робота (лонг/шот), но я его в полдень слегка допиливал, привинчивал примитивный анализ свечей, так что трейды не совпадают с состояниями.
Автор топика
Спасибо:

Foxbow

Фотография
Дата: 03.12.2010
Ответить


Mikhail Sukhov

Самое простое решение, которое я собираюсь сделать, заменить класс FUTEVN на SPBFUT и FUTOPT на SPBOPT. Вы можете это и сами
сделать через QuikTrader.PreProcessDdeData.


Неа, никатит... Если я буду слать ордер на вечерку, а бумага, указанная в ордере будет SPBFUT, что будет?
Автор топика
Спасибо:

dart

Фотография
Дата: 03.12.2010
Ответить


Foxbow
синяя - сигналы на открытие, желтая, текущее состояние робота (лонг/шот), но я его в полдень слегка допиливал, привинчивал примитивный анализ свечей, так что трейды не совпадают с состояниями.

Да, картинки классные. Хоть у роботов я графику полностью отключил, но сейчас подумал что для тестирования это было бы самое то.
Вы можете код привести, как стрелками покупки-продажи на графике рисовать?
Спасибо:

Foxbow

Фотография
Дата: 03.12.2010
Ответить


Код

public void AddTrade(MyTrade _trade)
{
    var eb = new EventBullet();
    switch (_trade.Order.Direction)
    {
        case OrderDirections.Buy:
            eb.BulletType = EventBulletType.ArrowUp;
            eb.Fill = Brushes.Green;
            break;
        case OrderDirections.Sell:
            eb.BulletType = EventBulletType.ArrowDown;
            eb.Fill = Brushes.Red;
            break;
    }
    var time = _trade.Trade.Time;
    if (time.Hour > 19)
    {
        time = new DateTime(_trade.Order.Time.Year, _trade.Order.Time.Month, _trade.Order.Time.Day, time.Hour, time.Minute,
                            time.Second);
    }
    eb.DataItem = new EventDataItem
    {
        Value = _trade.Trade.Price,
        Date = time,
        Description =
            string.Format("{0} {4}: {1} #{2} ({3})", _trade.Order.Direction, _trade.Trade.Price, _trade.Trade.Id,
                         time.ToShortTimeString(), _trade.Trade.Volume)
    };
    if (!((CustomChartIndicatorList<Candle>)Candles).ContainsTime(_trade.Trade.Time))
    {
        var candle = new VolumeCandle { Volume = 1, Time = time };
        candle.OpenPrice = candle.ClosePrice = candle.HighPrice = candle.LowPrice = _trade.Trade.Price;

        Candles.Add(candle);
    }
    m_candlesGraph.EventBullets.Add(eb);
}

public void AddMark(DateTime _time, string _description, EventBulletType _bulletType, Brush _brush, bool _onAxis)
{
    var eb = new EventBullet
    {
        Fill = _brush,
        BulletType = _bulletType,
        OnAxis = _onAxis,
        DataItem = new EventDataItem
        {
            Date = _time,
            Description = _description,
        }
    };
    m_candlesGraph.EventBullets.Add(eb);
}
Автор топика
Спасибо: dart a.dobryn

dart

Фотография
Дата: 03.12.2010
Ответить


Спасибо большое!
У меня EventBullet, EventDataItem и m_candlesGraph не находит. Что подключить нужно?
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 03.12.2010
Ответить


Foxbow
Mikhail Sukhov

Самое простое решение, которое я собираюсь сделать, заменить класс FUTEVN на SPBFUT и FUTOPT на SPBOPT. Вы можете это и сами
сделать через QuikTrader.PreProcessDdeData.


Неа, никатит... Если я буду слать ордер на вечерку, а бумага, указанная в ордере будет SPBFUT, что будет?


А разве класс не на след торговой сессии меняется?
Спасибо:

Foxbow

Фотография
Дата: 03.12.2010
Ответить


dart
Спасибо большое!
У меня EventBullet, EventDataItem и m_candlesGraph не находит. Что подключить нужно?


В этой теме Михаил выкладывал исходники CandleChart, посмотрите на первой странице, а лучше скачайте примеры отсюда AmChart

>>А разве класс не на след торговой сессии меняется?
Э, не понял, поясните.

Кстати, хочу похвастаться, вчера мой робот взял 16%, пилю дальше.
Автор топика
Спасибо:

MCTuTeJ|19951995

Фотография
Дата: 03.12.2010
Ответить


FoxBow, а какой компонент AmCharts Вы используете ? StockChart ?
Спасибо:

Foxbow

Фотография
Дата: 03.12.2010
Ответить


MCTuTeJ|19951995
FoxBow, а какой компонент AmCharts Вы используете ? StockChart ?


Именно, хотя на своей работе мы все еще юзаем обычный, но у нас там огромные объемы для отображения, приходится искусственно прорежать, чтобы машинки не умирали.
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 05.12.2010
Ответить


Foxbow

>>А разве класс не на след торговой сессии меняется?
Э, не понял, поясните.


Я к тому, что FUTEVN - это информационный инструмент, и что по нему невозможно создавать заявки. Или это не так?
Спасибо:

Foxbow

Фотография
Дата: 05.12.2010
Ответить


врать не буду, робота на вечерке не запускал, не знаю
Автор топика
Спасибо:

dart

Фотография
Дата: 06.12.2010
Ответить


Foxbow
dart
Спасибо большое!
У меня EventBullet, EventDataItem и m_candlesGraph не находит. Что подключить нужно?


В этой теме Михаил выкладывал исходники CandleChart, посмотрите на первой странице, а лучше скачайте примеры отсюда AmChart

спасибо, и всё-таки я не нашёл как подключать пространство имён EventBulletType и Brush
Спасибо:

Foxbow

Фотография
Дата: 06.12.2010
Ответить


AmCharts.Windows.Stock.Primitives.EventBulletType
System.Windows.Media.Brush
Автор топика
Спасибо:

ustas

Фотография
Дата: 15.12.2010
Ответить


а кто-нибудь разобрался как в amcharts двигать границы отображаемого периода? например так чтобы показывался постоянно полследний час и не надо было руками двигать ползунки. Есть примеры?

Спасибо и с уважением!
Спасибо:

Foxbow

Фотография
Дата: 15.12.2010
Ответить


Код

public void ShowAll()
{
    _stockChart.StartDate = Candles.First().Time;
    _stockChart.EndDate = Candles.Last().Time;
}
Автор топика
Спасибо: ustas

ustas

Фотография
Дата: 15.12.2010
Ответить


супер, попробую ...
Спасибо:

ustas

Фотография
Дата: 16.12.2010
Ответить


Foxbow
Код

public void ShowAll()
{
    _stockChart.StartDate = Candles.First().Time;
    _stockChart.EndDate = Candles.Last().Time;
}

Использую пример Михаила SampleCandles там в контроле ChartWindow нет свойств ни StartDate ни EndDate Confused
Проясните, пжл

Спасибо и с уважением!
Спасибо:

Foxbow

Фотография
Дата: 16.12.2010
Ответить


В этой теме Михаил выкладывал исходники контрола для чартинга, там ничего сложного. Почитайте всю тему.
Автор топика
Спасибо: ustas

ustas

Фотография
Дата: 22.12.2010
Ответить


Foxbow
В этой теме Михаил выкладывал исходники контрола для чартинга, там ничего сложного. Почитайте всю тему.


Да, так и сделал. Получилось.

Спасибо и с уважением!
Спасибо:

a.dobryn

Фотография
Дата: 06.06.2011
Ответить


а у меня не может найти ContainsTime
Спасибо:
< 1 2 

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy