|
|
@@ -256,10 +256,21 @@ pub fn generate_msv_by_trades(mut trades: Vec<Trade>, mills_back: Decimal, simpl
|
|
|
// ====================================== 智能填充数据 ===============================================
|
|
|
// 价差及买一、卖一数据处理
|
|
|
if simple_depths.len() > 0 {
|
|
|
- let depth = &simple_depths[max_spread_index];
|
|
|
+ // 数据填充
|
|
|
+ if max_spread_index == 0 {
|
|
|
+ if final_a1s_data.len() > 0 && final_b1s_data.len() > 0 {
|
|
|
+ final_a1s_data.push(vec![index_timestamp, final_a1s_data.last().unwrap()[1]]);
|
|
|
+ final_b1s_data.push(vec![index_timestamp, final_b1s_data.last().unwrap()[1]]);
|
|
|
+ } else {
|
|
|
+ final_a1s_data.push(vec![index_timestamp, Decimal::ZERO]);
|
|
|
+ final_b1s_data.push(vec![index_timestamp, Decimal::ZERO]);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ let depth = &simple_depths[max_spread_index];
|
|
|
|
|
|
- final_a1s_data.push(vec![index_timestamp, depth.a1 - a1_first]);
|
|
|
- final_b1s_data.push(vec![index_timestamp, depth.b1 - b1_first]);
|
|
|
+ final_a1s_data.push(vec![index_timestamp, depth.a1 - a1_first]);
|
|
|
+ final_b1s_data.push(vec![index_timestamp, depth.b1 - b1_first]);
|
|
|
+ }
|
|
|
} else {
|
|
|
final_a1s_data.push(vec![index_timestamp, Decimal::ZERO]);
|
|
|
final_b1s_data.push(vec![index_timestamp, Decimal::ZERO]);
|