1、策略下单
This commit is contained in:
@ -396,6 +396,14 @@
|
||||
<template v-if="inForm.price_pattern === 'mixture'" slot="append">{{ comTakePrice }}</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="inForm.price_pattern === 'mixture' ? '止损价格' : '止损价百分比'" prop="stop_loss">
|
||||
<el-input
|
||||
v-model="inForm.stop_loss"
|
||||
min="0"
|
||||
type="number"
|
||||
:placeholder="inForm.price_pattern === 'mixture' ? '止损价格' : '止损价百分比'"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="止盈数量百分比" prop="profit_num_ratio">
|
||||
<el-input v-model="inForm.profit_num_ratio" placeholder="止盈数量百分比" />
|
||||
</el-form-item>
|
||||
@ -481,14 +489,6 @@
|
||||
<el-radio label="0">直接执行</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item :label="inForm.price_pattern === 'mixture' ? '止损价格' : '止损价百分比'" prop="stop_loss">
|
||||
<el-input
|
||||
v-model="inForm.stop_loss"
|
||||
min="0"
|
||||
type="number"
|
||||
:placeholder="inForm.price_pattern === 'mixture' ? '止损价格' : '止损价百分比'"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="减仓策略">
|
||||
<el-select
|
||||
v-model="inForm.reduce_strategy_id"
|
||||
@ -821,6 +821,8 @@ export default {
|
||||
],
|
||||
profit: [{ required: true, message: '请输入', trigger: 'blur' },
|
||||
{ validator: this.validateProfit, trigger: 'blur' }],
|
||||
|
||||
stop_loss: [{ required: true, message: '请输入止损', trigger: 'blur' }, { validator: this.validateStopLoss, trigger: 'blur' }],
|
||||
reduce_price: [
|
||||
{ required: true, message: '主单亏损不能为空', trigger: 'blur' },
|
||||
{ validator: this.validateReducePrice, trigger: 'blur' }],
|
||||
@ -968,6 +970,16 @@ export default {
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
/** 主单止损价 */
|
||||
validateStopLoss(rule, value, callback) {
|
||||
if (value < 0) {
|
||||
callback(new Error('止损价不能小于0'))
|
||||
} else if (this.form.price_pattern !== 'mixture' && value > 100) {
|
||||
callback(new Error('止损价不能大于100'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
},
|
||||
validatePercentage(rule, value, callback) {
|
||||
if (value <= 0 || value === undefined || value === null || value === '') {
|
||||
callback(new Error('百分比必须大于0'))
|
||||
|
||||
@ -505,11 +505,11 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="策略类型">
|
||||
<el-radio-group v-model="form.strategy_template_type" @input="changeStrategyTemplateType">
|
||||
<!-- :disabled="item.value === 1" -->
|
||||
<el-radio
|
||||
v-for="(item, index) in strategyTemplateTypeOptions"
|
||||
:key="'strategyTemplateType' + index"
|
||||
:label="item.value"
|
||||
:disabled="item.value === 1"
|
||||
>{{ item.label }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
@ -597,6 +597,14 @@
|
||||
<template v-if="form.price_pattern === 'mixture'" slot="append">{{ comTakePrice }}</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="form.price_pattern === 'mixture' ? '止损价格' : '止损百分比'" prop="stop_loss">
|
||||
<el-input
|
||||
v-model="form.stop_loss"
|
||||
min="0"
|
||||
type="number"
|
||||
:placeholder="form.price_pattern === 'mixture' ? '止损价格' : '止损价百分比'"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="止盈数量百分比" prop="profit_num_ratio">
|
||||
<el-input v-model="form.profit_num_ratio" placeholder="止盈数量百分比" />
|
||||
</el-form-item>
|
||||
@ -634,14 +642,6 @@
|
||||
<el-radio label="0">直接执行</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item :label="form.price_pattern === 'mixture' ? '止损价格' : '止损价百分比'" prop="stop_loss">
|
||||
<el-input
|
||||
v-model="form.stop_loss"
|
||||
min="0"
|
||||
type="number"
|
||||
:placeholder="form.price_pattern === 'mixture' ? '止损价格' : '止损价百分比'"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="减仓策略">
|
||||
<el-select
|
||||
v-model="form.reduce_strategy_id"
|
||||
|
||||
@ -152,7 +152,7 @@
|
||||
:gutter="20"
|
||||
>
|
||||
<!-- <el-card shadow="hover"> -->
|
||||
<el-col :span="7">
|
||||
<el-col :span="6">
|
||||
<el-form-item
|
||||
label="亏损比例"
|
||||
:prop="'items.' + index + '.lossPercent'"
|
||||
@ -161,7 +161,12 @@
|
||||
<el-input v-model="item.lossPercent" size="mini" placeholder="请输入亏损比例" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="减仓比例" :prop="'items.' + index + '.quantityPercent'" :rules="rules.quantityPercent">
|
||||
<el-input v-model="item.quantityPercent" size="mini" placeholder="请输入减仓数量比例" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item
|
||||
label="订单类型"
|
||||
:prop="'items.' + index + '.orderType'"
|
||||
@ -259,6 +264,9 @@ export default {
|
||||
lossPercent: [{ required: true, message: '亏损百分比不能为空', trigger: 'blur' },
|
||||
{ validator: this.validateOrderType, trigger: 'blur' }],
|
||||
orderType: [{ required: true, message: '订单类型不能为空', trigger: 'blur' }
|
||||
],
|
||||
quantityPercent: [{ required: true, message: '减仓数量百分比不能为空', trigger: 'blur' },
|
||||
{ validator: this.validateQuantityPercent, trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -286,6 +294,21 @@ export default {
|
||||
callback()
|
||||
}
|
||||
},
|
||||
validateQuantityPercent(rule, value, callback) {
|
||||
// const index = rule.fullField.split('.')[1] // 获取索引
|
||||
|
||||
if (value === '') {
|
||||
callback(new Error('不能为空'))
|
||||
} else if (isNaN(value)) {
|
||||
callback(new Error('必须输入数字'))
|
||||
} else if (value < 0) {
|
||||
callback(new Error('百分比不能小于 0'))
|
||||
} else if (value > 100) {
|
||||
callback(new Error('百分比不能大于 100'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
},
|
||||
/** 查询参数列表 */
|
||||
getList() {
|
||||
this.loading = true
|
||||
|
||||
@ -19,6 +19,11 @@
|
||||
align="center"
|
||||
prop="reducePremium"
|
||||
/>
|
||||
<el-table-column
|
||||
label="减仓策略提前触发百分比"
|
||||
align="center"
|
||||
prop="reduceEarlyTriggerPercent"
|
||||
/>
|
||||
<!-- <el-table-column
|
||||
label="主账号加仓溢价百分比"
|
||||
align="center"
|
||||
@ -143,6 +148,9 @@
|
||||
<el-form-item label="限价减仓溢价" prop="reducePremium">
|
||||
<el-input v-model="form.reducePremium" placeholder="限价减仓溢价" />
|
||||
</el-form-item>
|
||||
<el-form-item label="减仓策略提前触发百分比" prop="reduceEarlyTriggerPercent">
|
||||
<el-input v-model="form.reduceEarlyTriggerPercent" placeholder="减仓策略提前触发百分比" />
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="主账号加仓溢价百分比" prop="scaleOrderTypeARate">
|
||||
<el-input v-model="form.scaleOrderTypeARate" placeholder="主账号限价加仓买入百分比" />
|
||||
</el-form-item>
|
||||
@ -221,7 +229,8 @@ export default {
|
||||
rules: {
|
||||
stopLossPremium: [{ required: true, message: '限价止损溢价不能为空', trigger: 'blur' }],
|
||||
addPositionPremium: [{ required: true, message: '限价加仓溢价不能为空', trigger: 'blur' }],
|
||||
reducePremium: [{ required: true, message: '限价减仓溢价不能为空', trigger: 'blur' }]
|
||||
reducePremium: [{ required: true, message: '限价减仓溢价不能为空', trigger: 'blur' }],
|
||||
reduceEarlyTriggerPercent: [{ required: true, message: '减仓策略提前触发百分比不能为空', trigger: 'blur' }]
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user