0 people like it.

Classifier DSL

sample

 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
open Price

let win = ClassifierWindow()
 
let downUp = sequenceAnd (regression declining) (regression rising) 
let upDown = sequenceAnd (regression rising) (regression declining)

win.Add("Rising", regression rising)
win.Add("Declining", regression declining)
win.Add("Down & Up", downUp)
win.Add("Up & Down", upDown)
win.Add("W pattern", sequenceAnd downUp downUp)
win.Add("Minimum", minimum)
win.Add("Minimum", maximum)
win.Add("Average", average)

let differsBy limit = both minimum maximum |> map (fun (l, h) -> h - l > limit)
win.Add("Rising fast", bothAnd (regression rising) (differsBy 3.0))
win.Add("Declining fast", bothAnd (regression declining) (differsBy 3.0))

win.Add("Difference", both minimum maximum |> map (fun (l, h) -> h - l))

win.Clear()
win.Run("AAPL")
win.Run("MSFT")
win.Stop()
val win : obj

Full name: Script.win
val downUp : obj

Full name: Script.downUp
val upDown : obj

Full name: Script.upDown
val differsBy : limit:'a -> 'b

Full name: Script.differsBy
val limit : 'a

More information

Link:http://fssnip.net/bH
Posted:14 years ago
Author:
Tags: dsl