61 lines
1.7 KiB
C#
61 lines
1.7 KiB
C#
namespace YLErp.Models
|
|
{
|
|
/// <summary>
|
|
/// 预付金参数Model
|
|
/// </summary>
|
|
public class MarginParamModel
|
|
{
|
|
private double minPriceChange = 0.01;
|
|
|
|
/// <summary>
|
|
/// 预付金比率
|
|
/// </summary>
|
|
public double? MarginRate { get; set; }
|
|
|
|
/// <summary>
|
|
/// Span波动率变动(这个值在页面配置上限制为正数)
|
|
/// </summary>
|
|
public double? VolatilityRate { get; set; }
|
|
|
|
/// <summary>
|
|
/// Span涨跌幅度
|
|
/// </summary>
|
|
public double? UpDownLimit { get; set; }
|
|
|
|
/// <summary>
|
|
/// Span涨跌幅度是否绝对值
|
|
/// </summary>
|
|
public bool IsUpDownLimitFixed { get; set; }
|
|
|
|
/// <summary>
|
|
/// 最小价格变动(默认0.01)(最小取0.01)
|
|
/// </summary>
|
|
public double MinPriceChange
|
|
{
|
|
get { return minPriceChange; }
|
|
set { minPriceChange = value < 0.01 ? 0.01 : value; }
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public static MarginParamModel Create(double? MarginRate, string VolatilityRate, string UpDownLimit, bool checkUpDownLimitFixed)
|
|
{
|
|
var model = new MarginParamModel { MarginRate = MarginRate };
|
|
|
|
if (NumberHelper.TryParse(VolatilityRate?.TrimToNull(), out var dvalue, out var isPercent))
|
|
{
|
|
model.VolatilityRate = dvalue;
|
|
}
|
|
|
|
if (NumberHelper.TryParse(UpDownLimit?.TrimToNull(), out dvalue, out isPercent))
|
|
{
|
|
model.UpDownLimit = dvalue;
|
|
model.IsUpDownLimitFixed = checkUpDownLimitFixed && !isPercent;
|
|
}
|
|
|
|
return model;
|
|
}
|
|
}
|
|
}
|