Type/to search
Welcome to FMZ Quant Trading Platform
Programming Languages
JavaScript
TypeScript
Python
Rust
C++
MyLanguage
PINE Language
Blockly Visual Programming
Workflow
Key Security
Live Trading
Strategy Library
Docker
Deploy Docker
One-Click Docker Rental
Manual Deployment of Bot
Docker Operation Precautions
Global IP Address Specification
Command Line Parameters for Bot Program
Live Trading Data Migration
Docker Monitor
Exchange
Strategy Editor
Backtesting System
Strategy Entry Functions
Strategy Framework and API Functions
Template Library
Strategy Parameters
Interactive Controls
Options Trading
Rust Strategy Development Guide
C++ Strategy Writing Guide
JavaScript Strategy Writing Guide
Web3
Built-in Libraries
Extended API Interface
MCP Service
Trading Terminal
Data Explorer
Alpha Factor Analysis Tool
General Protocol
Debugging Tool
Remote Editing
Import and Export of Complete Strategies
Multi-language Support
Live Trading and Strategy Grouping
Live Trading Display
Strategy Sharing and Renting
Live Trading Message Push
Common Causes of Live Trading Errors and Abnormal Exits
Exchange-Specific Notes

Both the strategy name and the descriptions of strategy parameters can be written in the Chinese|English format, allowing the web page to automatically recognize and display the corresponding language. In other use cases—such as strategy description, usage instructions, and other Markdown-formatted text—using [trans]Chinese|English[/trans] or [trans]Chinese||English[/trans] can likewise achieve automatic language recognition. After switching the language, refresh the web page for it to take effect. In addition, in strategy code, any function that can accept a string also supports language switching, such as the Log() function, the LogStatus() function, and so on.

javascript
function main() { Log("[trans]日志|log[/trans]") var table = { type: "table", title: "[trans]操作|option[/trans]", cols: ["[trans]列1|col1[/trans]", "[trans]列2|col2[/trans]", "[trans]操作|option[/trans]"], rows: [ ["[trans]比特币|BTC[/trans]", "[trans]以太坊|ETH[/trans]", {"type": "button", "cmd": "coverAll", "name": "平仓|cover", "description": "描述|description"}] // Note: there is no need to add the [trans] tag inside buttons ] } LogStatus("[trans]信息|message[/trans]", "\n`" + JSON.stringify(table) + "`") throw "[trans]错误|error[/trans]" }
python
import json def main(): Log("[trans]日志|log[/trans]") table = { "type": "table", "title": "[trans]操作|option[/trans]", "cols": ["[trans]列1|col1[/trans]", "[trans]列2|col2[/trans]", "[trans]操作|option[/trans]"], "rows": [ ["[trans]比特币|BTC[/trans]", "[trans]以太坊|ETH[/trans]", {"type": "button", "cmd": "coverAll", "name": "平仓|cover", "description": "描述|description"}] ] } LogStatus("[trans]信息|message[/trans]", "\n`" + json.dumps(table) + "`") raise Exception("[trans]错误|error[/trans]")
rust
fn main() { Log!("[trans]日志|log[/trans]"); let table = r#"{ "type": "table", "title": "[trans]操作|option[/trans]", "cols": ["[trans]列1|col1[/trans]", "[trans]列2|col2[/trans]", "[trans]操作|option[/trans]"], "rows": [ ["[trans]比特币|BTC[/trans]", "[trans]以太坊|ETH[/trans]", {"type": "button", "cmd": "coverAll", "name": "平仓|cover", "description": "描述|description"}] ] }"#; LogStatus!("[trans]信息|message[/trans]", format!("\n`{}`", table)); Panic!("[trans]错误|error[/trans]"); }
c++
void main() { Log("[trans]日志|log[/trans]"); json table = R"({ "type": "table", "title": "[trans]操作|option[/trans]", "cols": ["[trans]列1|col1[/trans]", "[trans]列2|col2[/trans]", "[trans]操作|option[/trans]"], "rows": [ ["[trans]比特币|BTC[/trans]", "[trans]以太坊|ETH[/trans]", {"type": "button", "cmd": "coverAll", "name": "平仓|cover", "description": "描述|description"}] ] })"_json; LogStatus("[trans]信息|message[/trans]", "\n`" + table.dump() + "`"); Panic("[trans]错误|error[/trans]"); }