میں نے اس سے پہلے اشارے کے پیغامات استعمال کیے تھے۔ یہ ہر الرٹ کے پیغام کی ترتیب میں OpenLong، OpenShort لکھ کر کیا جاتا ہے اور پھر ایف ایم زیڈ روبوٹ کو بھیجا جاتا ہے۔
یہ ٹھیک ہے.
اب حکمت عملی کا استعمال کرتے ہوئے پیغامات بھیجیں.
ٹریڈنگ ویو کا کوڈ:
// 警报消息
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
پھر انتباہ کی ترتیب میں {{strategy.order.alert_message}} طریقہ استعمال کریں
![[مدد] ٹریڈنگ ویو حکمت عملی کے ذریعے بھیجے گئے پیغامات کو ایف ایم زیڈ میں کیوں نہیں لاگو کیا جا سکتا ہے؟](/upload/asset/a85515d4f6386033782c.png)
ایف ایم زیڈ پلیٹ فارم پر پیغامات موصول ہوئے، لیکن کوئی بل نہیں دیا گیا
![[مدد] ٹریڈنگ ویو حکمت عملی کے ذریعے بھیجے گئے پیغامات کو ایف ایم زیڈ میں کیوں نہیں لاگو کیا جا سکتا ہے؟](/upload/asset/a8c7304ce7d09cc7e583.png)
کیا آپ بتا سکتے ہیں کہ اس مسئلے کی وجہ کیا ہے اور اس کا حل کیا ہے؟
یہ ایف ایم زیڈ کوڈ ہے
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;
}