|
@@ -312,7 +312,7 @@ impl AvellanedaStoikov {
|
|
|
pub fn update_flow_ratio(&mut self) {
|
|
pub fn update_flow_ratio(&mut self) {
|
|
|
if self.flow_out_value + self.flow_in_value > dec!(100_000) {
|
|
if self.flow_out_value + self.flow_in_value > dec!(100_000) {
|
|
|
// 使用EMA來更新資金流,確保平滑性
|
|
// 使用EMA來更新資金流,確保平滑性
|
|
|
- let a = Decimal::TWO / Decimal::TEN;
|
|
|
|
|
|
|
+ let a = Decimal::TWO / dec!(50);
|
|
|
let now = (self.flow_in_value - self.flow_out_value) / (self.flow_out_value + self.flow_in_value);
|
|
let now = (self.flow_in_value - self.flow_out_value) / (self.flow_out_value + self.flow_in_value);
|
|
|
self.flow_ratio = a * now + (Decimal::ONE - a) * self.flow_ratio;
|
|
self.flow_ratio = a * now + (Decimal::ONE - a) * self.flow_ratio;
|
|
|
self.flow_ratio_vec.push_back(self.flow_ratio);
|
|
self.flow_ratio_vec.push_back(self.flow_ratio);
|