ProcessRules
Atom
9/26/2011


raf

Avatar
Code

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

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

    base.OnStarting();
}



Code

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

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

    base.OnStarting();
}


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


Tags:


Thanks:


Alexander

Avatar
Date: 9/26/2011
Reply


raf Go to
Code

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

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

    base.OnStarting();
}



Code

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

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

    base.OnStarting();
}


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



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

raf

Avatar
Date: 9/26/2011
Reply


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


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

Alexander

Avatar
Date: 9/26/2011
Reply


raf Go to
Code
ProcessRules(() =>
{
  _rule1 = this.When(Rule1()).Do(() => {
    _rule2 = this.When(Rule2()).Do(() =>
    {
            //...
    });
  });
});
base.OnStarting();


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


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

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

raf

Avatar
Date: 12/9/2011
Reply


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

Mikhail Sukhov

Avatar
Date: 12/11/2011
Reply


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


SuspendRules
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy