Когда работает When
Atom Ответить
21.12.2010


Приветствую уважаемых Михаила и коллег!

Очень нравится реализация ActionToken и метода When (Do, MakePeriodical и тд). Расскажите поподробней, пжл.
1. можно ли их использовать вне стратегий?

2. Что нужно для работы When? Реально подключение к Квику? Заполнение каких структур? нужен ли manager стратегий?
3. И почему, например не работает такой код?

Код

namespace TestWhen
{
using System;
using System.Linq;
using System.Threading;
using System.Collections.Generic;
using System.ComponentModel;

using Ecng.Trading.Algo;
using Ecng.Trading.Algo.Candles;
using Ecng.Trading.Algo.Strategies;
using Ecng.Trading.Algo.Logging;
using Ecng.Trading.BusinessEntities;
using Ecng.Trading.Quik;
using Ecng.Interop;
using Ecng.Data;
using Ecng.Common;
using Ecng.ComponentModel;


class Program
{
private static StrategyManager _manager;

static void Main(string[] args)
{
var trader = new QuikTrader();
_manager = new StrategyManager(trader);
var MAS = new ActionStrategy();
_manager.Register(MAS, new Portfolio(), new Security());
MAS.When(() => true).Do(() => Console.WriteLine("MASqq"));
MAS.Start();
var st = Console.ReadLine();
}
}
}



Под "не работает", имеется в виду, почему код этот не выводит "MASqq"

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

Теги:


Спасибо:




2 Ответов
Mikhail Sukhov

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


ActionToken - это структура, которая содержит условие и действие. ActionStrategy проверяет коллекцию таких токенов путем вызова условия. Если оно сработало (возвратило true), то вызывается действие. В Вашем случае ActionStrategy отсутствует. Да и смысл писать такое, если можно проще и понятнее.
Спасибо:

ustas

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


Спасибо.

Сам отвечу на свой же вопрос. Этот код заработал надо было добавить.

Код
trader.Connect();


при этом Quik должен быть присоединён.

Спасибо и с уважением!
Автор топика
Спасибо:


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

loading
clippy