Pārlūkot izejas kodu

根据仓位绝对值的开仓距离的等差数列,公差为0.5。

skyffire 1 gadu atpakaļ
vecāks
revīzija
becfcd4231
1 mainītis faili ar 2 papildinājumiem un 1 dzēšanām
  1. 2 1
      strategy/src/avellaneda_stoikov.rs

+ 2 - 1
strategy/src/avellaneda_stoikov.rs

@@ -311,7 +311,8 @@ impl AvellanedaStoikov {
     pub fn update_t_diff(&mut self) {
         if self.prev_trade_time > 0 {
             let time_diff_decimal = Decimal::from_i64(Utc::now().timestamp_micros() - self.prev_trade_time).unwrap();
-            self.t_diff = max(Decimal::ONE - time_diff_decimal / Decimal::from_i64(Self::OPEN_DELAY_MICROS).unwrap(), Decimal::ZERO);
+            let diff = Decimal::from_i64(Self::OPEN_DELAY_MICROS).unwrap() * (self.inventory.abs() * dec!(0.5) + Decimal::ONE);
+            self.t_diff = max(Decimal::ONE - time_diff_decimal / diff, Decimal::ZERO);
         } else {
             self.t_diff = Decimal::ONE;
         }