package statuscode

/**
 * TODO 注意：新增状态码只能往后添加，不能往中间插 ...
 */

// ===== 合约交易模块 [50000, 60000) ===== //
const (
	// VtsHoldIsEmpty 划转
	VtsHoldIsEmpty             = 50000 + iota // 现货账户不存在
	VtsTransferFutNum                         // 数量不正确
	VtsTransferFutNotAvailable                // 可用余额不足
	FutHoldIsEmpty                            // 合约账户不存在
	FutBalanceLessThanBond                    // 钱包余额不满足开此仓位最少起始保证金
	TransferIsNotRepeatSubmit                 // 请勿重复提交
	OtcHoldIsEmpty                            // Otc账户不存在

	// OrderFailed 下单参数检查
	OrderFailed            // 下单失败！
	OrderPriceToHigh       // 买单价格不能高于最新价格的10%
	OrderPriceToLow        // 卖单价格不能低于最新价的10%
	OrderPriceLessThanZero // 非市价单下单价格不能小于0
	OrderNumLessThanZero   // 下单数量不能小于0
	OrderNumTooMuch        // 超过最大下单数量
	OrderTotalTooFew       // 小于最小下单金额
	LackOfDepth            // 深度不足无法下市价单
	OrderTriggerPriceErr   // 触发价格不，不得小于最低0
	OrderBuyTypeErr        // 参数订单状态：BuyType错误
	OrderTooOften          // 下单请求太频繁
	AccountFrozenBalance   // 账户余额不足
	OrderNoExist           // 未查询到相关订单
	OrderClosed            // 已成交订单

	// HavePosition 合约部分
	HavePosition                 // 存在持仓或挂单时不允许调整
	PositionDirectionErr         // 持仓方向跟用户设置的不一样
	UserNotHoldPosition          // 用户未持仓
	UserHoldPositionInsufficient // 平仓数量不能超过仓位可平量
	TheLeverageAmountTooLarge    // 当前杠杆倍数下单金额过大
	StopOrderLimit               // 最大下单数量
	ToOther                      // 其他

	BuyLong   // 开多
	SellLog   // 平多
	SellShort // 开空
	BuyShort  // 平空

	TipOfTheDayVim // 已经是当前状态,无需修改

	IsolatedLeverageNotCut // 逐仓模式下，如果有仓位正在持仓，则不能减少杠杆倍率
	ParamErr               // 请求参数无效
	MarginTypeSame         // 保证金模式一样，无需修改
	CloseBuyErrCancel      // 平仓委托失败，请检查持仓与挂单。 如果当前合约有挂单，请取消该合约的挂单，并再次尝试平仓
	CloseBuyLackOfDepth    // 平仓失败，深度不足
	OrderPriceTooFew       // 小于最小下单价格
	OrderNumTooFew         // 小于最小下单数量

	TransAccountBalanceNotEnough // 账户余额不足
	CrossNotAdjustMargin         // 全仓保证金模式下不能调整保证金
	AdjustMarginAmtMore          // 减少的保证金大于可以减少金额
	MaxLeverErr                  // 杠杆值超过设定最大值
	NewPrice                     // 最新成交价格
	MarkPrice                    // 标记价格
	Perpetual                    // 永续
	OrderClosedCancel            // 已成交订单,无法撤销
	OrderExpiredCancel           // 已过期订单,无法撤销
	OrderCancelErr               // 已撤销订单,无法撤销
	AdjustLeverErr               // 保证金不足，无法调整杠杆倍数
	PriceDigitErr                // 价格精度错误
	TriggerPriceDigitErr         // 触发价格精度错误
	NumDigitErr                  // 数量精度错误

	QueryRangeCannotExceed3M // 查询范围不能超过3个月
	QueryRangeInvalid        // 查询范围无效

	OrderMinTriggerPriceErr // 触发价格不得小于最低价格
	OrderMaxTriggerPriceErr // 触发价格不得大于最高价格
	ReduceReject            // 只减仓委托单被拒绝，请取消勾选后重试

	PosTooMore //最大可开仓位数量

	OrderNumLessCost  // 最小下单数量为xxx张
	OrderNumGrateCost // 最大下单数量为xxx张
)
