Skip to content

Commit

Permalink
upd
Browse files Browse the repository at this point in the history
  • Loading branch information
m5l14i11 committed Apr 16, 2024
1 parent ddf557e commit bfe89fe
Show file tree
Hide file tree
Showing 8 changed files with 20 additions and 13 deletions.
2 changes: 1 addition & 1 deletion strategy/generator/pulse/braid.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
@dataclass(frozen=True)
class BraidPulse(Pulse):
type: PulseType = PulseType.Braid
smooth_type: Parameter = StaticParameter(Smooth.LSMA)
smooth_type: Parameter = StaticParameter(Smooth.WMA)
fast_period: Parameter = StaticParameter(3.0)
slow_period: Parameter = StaticParameter(14.0)
open_period: Parameter = StaticParameter(7.0)
Expand Down
6 changes: 3 additions & 3 deletions strategy/generator/pulse/wae.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@
class WaePulse(Pulse):
type: PulseType = PulseType.Wae
smooth_type: Parameter = StaticParameter(Smooth.EMA)
fast_period: Parameter = StaticParameter(20.0)
slow_period: Parameter = StaticParameter(40.0)
fast_period: Parameter = StaticParameter(15.0)
slow_period: Parameter = StaticParameter(30.0)
smooth_bb: Parameter = StaticParameter(Smooth.SMA)
bb_period: Parameter = StaticParameter(20.0)
bb_period: Parameter = StaticParameter(15.0)
factor: Parameter = StaticParameter(2.0)
strength: Parameter = StaticParameter(150.0)
atr_period: Parameter = StaticParameter(100.0)
Expand Down
1 change: 1 addition & 0 deletions strategy/generator/signal/bb/macd_bb.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@ class MacdBbSignal(Signal):
fast_period: Parameter = StaticParameter(8.0)
slow_period: Parameter = StaticParameter(26.0)
signal_period: Parameter = StaticParameter(9.0)
bb_smooth: Parameter = StaticParameter(Smooth.SMA)
bb_period: Parameter = StaticParameter(9.0)
factor: Parameter = StaticParameter(0.8)
2 changes: 1 addition & 1 deletion strategy/generator/signal/bb/vwap_bb.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@
class VwapBbSignal(Signal):
type: SignalType = SignalType.VwapBb
period: Parameter = StaticParameter(100.0)
smooth_type: Parameter = StaticParameter(Smooth.EMA)
bb_smooth: Parameter = StaticParameter(Smooth.EMA)
bb_period: Parameter = StaticParameter(50.0)
factor: Parameter = StaticParameter(2.0)
5 changes: 4 additions & 1 deletion ta_lib/strategies/signal/src/bb/macd_bb.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ pub struct MacdBbSignal {
fast_period: usize,
slow_period: usize,
signal_period: usize,
bb_smooth: Smooth,
bb_period: usize,
factor: f32,
}
Expand All @@ -18,6 +19,7 @@ impl MacdBbSignal {
fast_period: f32,
slow_period: f32,
signal_period: f32,
bb_smooth: Smooth,
bb_period: f32,
factor: f32,
) -> Self {
Expand All @@ -26,6 +28,7 @@ impl MacdBbSignal {
fast_period: fast_period as usize,
slow_period: slow_period as usize,
signal_period: signal_period as usize,
bb_smooth,
bb_period: bb_period as usize,
factor,
}
Expand All @@ -48,7 +51,7 @@ impl Signal for MacdBbSignal {
self.signal_period,
);

let (upper_bb, _, lower_bb) = bb(&macd_line, self.smooth_type, self.bb_period, self.factor);
let (upper_bb, _, lower_bb) = bb(&macd_line, self.bb_smooth, self.bb_period, self.factor);

(
macd_line.cross_over(&upper_bb),
Expand Down
8 changes: 4 additions & 4 deletions ta_lib/strategies/signal/src/bb/vwap_bb.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ use volume::vwap;

pub struct VwapBbSignal {
period: usize,
smooth_type: Smooth,
bb_smooth: Smooth,
bb_period: usize,
factor: f32,
}

impl VwapBbSignal {
pub fn new(period: f32, smooth_type: Smooth, bb_period: f32, factor: f32) -> Self {
pub fn new(period: f32, bb_smooth: Smooth, bb_period: f32, factor: f32) -> Self {
Self {
period: period as usize,
smooth_type,
bb_smooth,
bb_period: bb_period as usize,
factor,
}
Expand All @@ -28,7 +28,7 @@ impl Signal for VwapBbSignal {

fn generate(&self, data: &OHLCVSeries) -> (Series<bool>, Series<bool>) {
let vwap = vwap(&data.hlc3(), &data.volume);
let (upper_bb, _, lower_bb) = bb(&vwap, self.smooth_type, self.bb_period, self.factor);
let (upper_bb, _, lower_bb) = bb(&vwap, self.bb_smooth, self.bb_period, self.factor);

(vwap.cross_over(&upper_bb), vwap.cross_under(&lower_bb))
}
Expand Down
3 changes: 2 additions & 1 deletion ta_lib/strategies/trend_follow/src/config/signal_config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -116,12 +116,13 @@ pub enum SignalConfig {
fast_period: f32,
slow_period: f32,
signal_period: f32,
bb_smooth: f32,
bb_period: f32,
factor: f32,
},
VwapBb {
period: f32,
smooth_type: f32,
bb_smooth: f32,
bb_period: f32,
factor: f32,
},
Expand Down
6 changes: 4 additions & 2 deletions ta_lib/strategies/trend_follow/src/mapper/signal_mapper.rs
Original file line number Diff line number Diff line change
Expand Up @@ -237,24 +237,26 @@ pub fn map_to_signal(config: SignalConfig) -> Box<dyn Signal> {
fast_period,
slow_period,
signal_period,
bb_smooth,
bb_period,
factor,
} => Box::new(MacdBbSignal::new(
smooth_deserialize(smooth_type as usize),
fast_period,
slow_period,
signal_period,
smooth_deserialize(bb_smooth as usize),
bb_period,
factor,
)),
SignalConfig::VwapBb {
period,
smooth_type,
bb_smooth,
bb_period,
factor,
} => Box::new(VwapBbSignal::new(
period,
smooth_deserialize(smooth_type as usize),
smooth_deserialize(bb_smooth as usize),
bb_period,
factor,
)),
Expand Down

0 comments on commit bfe89fe

Please sign in to comment.