ProcessRules
Atom
26.09.2011
raf


Код

protected override void OnStarting()
{
    ProcessRules(() =>
    {
        this
            .When(_tradingStrategy.StrategyNewMyTrades())
            .Do(ReHedge);

        this
            .When(Security.Changed())
            .Do(ReHedge);    
    });

    base.OnStarting();
}



Код

protected override void OnStarting()
{
    ProcessRules(() =>
    {
        this
            .When(_tradingStrategy.StrategyNewMyTrades())
            .Do(ReHedge);
    });

    ProcessRules(() =>
    {
        this
            .When(Security.Changed())
            .Do(ReHedge);    
    });

    base.OnStarting();
}


Оба варианта будут работать одинаково?


Теги:


Спасибо:


Alexander

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


raf
Код

protected override void OnStarting()
{
    ProcessRules(() =>
    {
        this
            .When(_tradingStrategy.StrategyNewMyTrades())
            .Do(ReHedge);

        this
            .When(Security.Changed())
            .Do(ReHedge);    
    });

    base.OnStarting();
}



Код

protected override void OnStarting()
{
    ProcessRules(() =>
    {
        this
            .When(_tradingStrategy.StrategyNewMyTrades())
            .Do(ReHedge);
    });

    ProcessRules(() =>
    {
        this
            .When(Security.Changed())
            .Do(ReHedge);    
    });

    base.OnStarting();
}


Оба варианта будут работать одинаково?



Нет. Во втором случае между первым ProcessRules и вторым ProcessRules могут сработать правила. Т.к. режим не приостановлен, не suspended. А могут и не сработать. От правил зависит.
Спасибо:

raf

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


Код
ProcessRules(() =>
{
  _rule1 = this.When(Rule1()).Do(() => {
    _rule2 = this.When(Rule2()).Do(() =>
    {
            //...
    });
  });
});
base.OnStarting();


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

Alexander

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


raf
Код
ProcessRules(() =>
{
  _rule1 = this.When(Rule1()).Do(() => {
    _rule2 = this.When(Rule2()).Do(() =>
    {
            //...
    });
  });
});
base.OnStarting();


А в таком случае что будет? оба правила буду работать одновременно?


Второй Do() сработает только когда вначале Rule1() станет истиной, затем Rule2() станет истиной.

поэкспериментируйте на реальных примерах. так гораздо проще и быстрее.
поставьте себе туда мессаджбоксы или логгеры.
Спасибо:

raf

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


В четвертой версии ProcessRules упразднили что ли?
Спасибо:

Mikhail Sukhov

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


raf
В четвертой версии ProcessRules упразднили что ли?


SuspendRules
Спасибо:


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

loading
clippy