[rules-users] Help on writing a rule

Demian Calcaprina calcacuervo at gmail.com
Tue Oct 22 16:51:09 EDT 2013


Mauricio,

In fact, I used to have this and the price change without window:length..
but
when
                t : PriceChange()
                signal : Signal( id == "1234" )
                not OrderCreated( id == "1234" ) over window:time (1m)

But this will cause more and more duplicates orders (and it have sense!). I
added the length window to 1, as I would only like to create an order if
there is some signal in the window, it can place an order..


On Tue, Oct 22, 2013 at 5:42 PM, Mauricio Salatino <salaboy at gmail.com>wrote:

> Just curious here, why do you have this -> signal : Signal( id == "1234"
> ) over window:length(1)?
>
>
> On Tue, Oct 22, 2013 at 9:40 PM, Davide Sottara <dsotty at gmail.com> wrote:
>
>> Am I wrong or do you have two PriceChange events - 392 and 394 ?
>> If so, you can expect two activations.. when you fire al rules, one of
>> the two
>> will insert the OrderCreated, which in turn will cancel the other
>>
>> On 10/22/2013 01:34 PM, calcacuervo wrote:
>> > Hi Guys. I have one quesiton on how could I implement my rule.
>> > I have this rule:
>> > when
>> >               t : PriceChange() over window:length(1)
>> >               signal : Signal( id == "1234" ) over window:length(1)
>> >               not OrderCreated( id == "1234" ) over window:time (1m)
>> >       then
>> >                 insert(new OrderCreated("1234));
>> >
>> > Basically, when there is some signal and some price change, create a new
>> > order if  there has no been any other order in the last minute.
>> > But this sometimes is being fired twice:
>> > 12:31:01,121 INFO  [org.drools.audit.WorkingMemoryConsoleLogger] (Camel
>> > (camel-1) thread #4 - JmsConsumer[marketDataTopic]) ACTIVATION CREATED
>> > rule:ertetr activationId:ertetr [393, 392, 0] declarations:
>> t=PriceChange
>> > [](392); signal=Signal at 1413ddef(393)
>> > 12:31:01,160 INFO  [org.drools.audit.WorkingMemoryConsoleLogger] (Camel
>> > (camel-1) thread #4 - JmsConsumer[marketDataTopic]) ACTIVATION CREATED
>> > rule:ertetr activationId:ertetr [393, 394, 0] declarations:
>> t=PriceChange
>> > [](394); signal=Signal at 1413ddef(393)
>> >
>> > I think that, when the 1m window have passed, it creates twice the
>> > activations, as I have not called fire all rules yet. Does is make
>> sense? Do
>> > you have some idea on how could I implement this rule? "when there has
>> been
>> > some price change and some signal, and I did not create a new order in
>> the
>> > last minute, just create a new order".
>> >
>> > Thanks in advance!
>> >
>> > Demian
>> >
>> >
>> >
>> > --
>> > View this message in context:
>> http://drools.46999.n3.nabble.com/Help-on-writing-a-rule-tp4026461.html
>> > Sent from the Drools: User forum mailing list archive at Nabble.com.
>> > _______________________________________________
>> > rules-users mailing list
>> > rules-users at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>
>
>
> --
>  - MyJourney @ http://salaboy.com <http://salaboy.wordpress.com>
>  - Co-Founder @ http://www.jugargentina.org
>  - Co-Founder @ http://www.jbug.com.ar
>
>  - Salatino "Salaboy" Mauricio -
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20131022/cee013db/attachment.html 


More information about the rules-users mailing list