class Signals::RangeSignal
一定期間のレートデータを元に値を算出するシグナルの基底クラス
Public Class Methods
new(range = 25)
click to toggle source
コンストラクタ
- range
-
集計期間
# File src/jiji/model/agents/builtin_files/signals.rb, line 10 def initialize(range = 25) @data = [] # レートを記録するバッファ @range = range end
Public Instance Methods
next_data(data)
click to toggle source
次のデータを受け取って指標を返します。
- data
-
次のデータ
- 戻り値
-
指標。十分なデータが蓄積されていない場合nil
# File src/jiji/model/agents/builtin_files/signals.rb, line 18 def next_data(data) # バッファのデータを更新 @data.push data @data.shift if @data.length > @range # バッファサイズが十分でなければ、nilを返す。 return nil if @data.length != @range # 算出 calculate(@data) end