22
집중하다
17
수행원

[도움말] TradingView 전략에서 보낸 메시지를 FMZ에서 실행할 수 없는 이유는 무엇입니까?

만든 날짜: 2025-03-01 10:54:29, 업데이트 날짜:
comments   4
hits   626

제가 이전에 사용한 것은 지표 메시지였습니다. 이 방법은 각 알람의 메시지 설정에 OpenLong, OpenShort를 작성하고 FMZ로봇에 전송하여 실행한다.

괜찮습니다.

이제 메시지를 전달하는 전략이 있습니다.

트레이딩뷰의 코드는

// 警报消息
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}} 방법을 사용합니다.

[도움말] TradingView 전략에서 보낸 메시지를 FMZ에서 실행할 수 없는 이유는 무엇입니까?

FMZ 플랫폼은 메시지를 받았지만 청구서를 작성하지 않았습니다. [도움말] TradingView 전략에서 보낸 메시지를 FMZ에서 실행할 수 없는 이유는 무엇입니까?

이 문제를 일으킨 원인은 무엇이며, 어떻게 해결할 수 있을까요?

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;
    }