Saya telah menggunakan mesej petunjuk. Ini dilakukan dengan menulis OpenLong, OpenShort dalam setiap tetapan mesej untuk setiap amaran, dan kemudian dihantar ke robot FMZ untuk dilaksanakan.
Tidak mengapa.
Sekarang, gunakan strategi untuk menghantar mesej.
Kod TradingView ialah
// 警报消息
var string Message_open_long = input.string('OpenLong', '开多消息', group = '===================exit警报=======================', tooltip = '如果“创建警报”对话框的“消息”字段包含{{strategy.order.alert_message}}占位符,则警报消息将用此文本替换占位符。')
var string Message_open_short = input.string('OpenShort', '开空消息', group = '===================exit警报=======================', tooltip = '如果“创建警报”对话框的“消息”字段包含{{strategy.order.alert_message}}占位符,则警报消息将用此文本替换占位符。')
var string Message_close_long = input.string('CloseLong', '平多消息', group = '===================exit警报=======================', tooltip = '如果“创建警报”对话框的“消息”字段包含{{strategy.order.alert_message}}占位符,则警报消息将用此文本替换占位符。')
var string Message_close_short = input.string('CloseShort', '平空消息', group = '===================exit警报=======================', tooltip = '如果“创建警报”对话框的“消息”字段包含{{strategy.order.alert_message}}占位符,则警报消息将用此文本替换占位符。')
////////========开仓处理==========//////////////
if (Open_long or Open_short) and barstate.isconfirmed
Trade_vol := Trade_type == '合约' ? 1000 : 1000 / close // 设定交易量
// 开多
if Open_long
strategy.entry('Long'
, strategy.long
, qty = Trade_vol
, alert_message = Message_open_long // 订单成交时发送的警报内容
)
State_position := 1
// 开空
if Open_short
strategy.entry('Short'
, strategy.short
, qty = Trade_vol
, alert_message = Message_open_short // 订单成交时发送的警报内容
)
State_position := 0
Kemudian gunakan kaedah {{strategy.order.alert_message}} dalam tetapan amaran
![[Bantuan] Mengapakah mesej yang dihantar oleh strategi TradingView tidak boleh dilaksanakan dalam FMZ?](/upload/asset/a85515d4f6386033782c.png)
FMZ menerima mesej tetapi tidak membuat bil
![[Bantuan] Mengapakah mesej yang dihantar oleh strategi TradingView tidak boleh dilaksanakan dalam FMZ?](/upload/asset/a8c7304ce7d09cc7e583.png)
Tolong beritahu saya apa yang menyebabkan masalah ini, dan bagaimana ia boleh diselesaikan?
Berikut adalah kod FMZ
switch (command) {
case 'OpenLong': // 开多单
_OpenPositions(1, 0, positions, account, ticker);
break;
case 'OpenShort': // 开空单
_OpenPositions(0, 1, positions, account, ticker);
break;
case 'CloseLong': // TV信号平多
if (positions.length > 0) {
if (positions[0].Type === PD_LONG) {
_Cover_1(); // 快速平仓
_ResetVariables(); // 重置运算变量
_CalculateProfit(positions, account, ticker); // 统计收益
} else {
Log('当前持有空头仓位');
}
}
else {
Log('没有持仓,无法平多');
}
break;
case 'CloseShort': //TV信号平空
if (positions.length > 0) {
if (positions[0].Type === PD_SHORT) {
_Cover_1(); // 快速平仓
_ResetVariables(); // 重置运算变量
_CalculateProfit(positions, account, ticker); // 统计收益
} else {
Log('当前持有多头持仓');
}
} else {
Log('没有持仓,无法平空');
}
break;
default:
break;
}