MAXScrpt函数参考手册
- MAXScrpt 函数参考手册
MAXScrpt 是一种专为 SpotOption 平台设计的编程语言,允许交易者创建自定义的 二元期权 指标、策略和自动化交易程序。它是一种基于事件驱动的脚本语言,使用相对简单的语法,但功能强大,可以进行复杂的分析和操作。本手册旨在为初学者提供 MAXScrpt 函数的全面参考,帮助您理解和利用这些函数来构建有效的交易工具。
基本概念
在深入函数细节之前,了解 MAXScrpt 的一些基本概念至关重要:
- **变量:** 用于存储数据的命名位置。例如:`var price = Close();`
- **数据类型:** 包括数字(整数和浮点数)、字符串和布尔值(真/假)。
- **运算符:** 用于执行数学运算(+、-、*、/)、比较(==、!=、>、<、>=、<=)和逻辑运算(&&、||、!)。
- **函数:** 预定义的代码块,执行特定任务。MAXScrpt 提供了大量的内置函数,也可以自定义函数。
- **事件:** 触发脚本执行的特定情况,例如新的报价、时间到达、交易执行等。
- **图表对象:** 用于在图表上显示信息,例如线条、文本、箭头等。
常用 MAXScrpt 函数
以下按照功能类别对 MAXScrpt 函数进行分类和说明。
**函数名称** | **描述** | **示例** | | ||||||||
`High()` | 返回当前K线或交易的最高价。 | `var highPrice = High();` | | `Low()` | 返回当前K线或交易的最低价。 | `var lowPrice = Low();` | | `Open()` | 返回当前K线或交易的开盘价。 | `var openPrice = Open();` | | `Close()` | 返回当前K线或交易的收盘价。 | `var closePrice = Close();` | | `Typical()` | 返回典型价 (High + Low + Close) / 3。| `var typicalPrice = Typical();` | | `Median()` | 返回中价 (High + Low) / 2。 | `var medianPrice = Median();` | | `Ask()` | 返回当前卖出价(适用于某些资产)。 | `var askPrice = Ask();` | | `Bid()` | 返回当前买入价(适用于某些资产)。 | `var bidPrice = Bid();` | | `Last()` | 返回上一根K线的收盘价。| `var lastClose = Last();` | |
`Time()` | 返回当前时间戳(毫秒)。 | `var currentTime = Time();` | | `Minute()` | 返回当前分钟。 | `var currentMinute = Minute();` | | `Hour()` | 返回当前小时。 | `var currentHour = Hour();` | | `Day()` | 返回当前日期。 | `var currentDay = Day();` | | `WeekDay()` | 返回当前星期几 (0-6, 0=星期日)。 | `var currentWeekDay = WeekDay();` | | `Second()` | 返回当前秒数。 | `var currentSecond = Second();` | | |||
`SMA(source, period)` | 计算简单移动平均线。| `var sma20 = SMA(Close(), 20);` 参见 移动平均线 | | `EMA(source, period)` | 计算指数移动平均线。| `var ema20 = EMA(Close(), 20);` 参见 指数移动平均线 | | `RSI(source, period)` | 计算相对强弱指标。| `var rsi14 = RSI(Close(), 14);` 参见 相对强弱指标 | | `MACD(source, fastPeriod, slowPeriod, signalPeriod)` | 计算移动平均收敛散度。| `var macd = MACD(Close(), 12, 26, 9);` 参见 MACD指标 | | `Stochastic(source, period, kPeriod, dPeriod)` | 计算随机指标。| `var stochastic = Stochastic(Close(), 14, 5, 3);` 参见 随机指标 | | `BollingerBands(source, period, stdDev)` | 计算布林带。| `var bollinger = BollingerBands(Close(), 20, 2);` 参见 布林带 | | |||
`Volume()` | 返回当前K线的成交量。 | `var currentVolume = Volume();` | | `VolumeMA(period)` | 计算成交量移动平均线。| `var volumeMA20 = VolumeMA(20);` 参见 成交量分析 | | `OBV()` | 计算能量潮。| `var obv = OBV();` 参见 能量潮| | ||||||
`OpenPosition(direction, amount, expiration)` | 开仓。`direction` 可以是 "CALL" 或 "PUT",`amount` 是交易金额,`expiration` 是到期时间(秒)。| `OpenPosition("CALL", 100, 60);` | | `ClosePosition(positionID)` | 平仓。`positionID` 是要平仓的交易ID。| `ClosePosition(12345);` | | `GetPositionInfo(positionID)` | 获取交易信息。| `var positionInfo = GetPositionInfo(12345);` | | `GetBalance()` | 获取账户余额。 | `var accountBalance = GetBalance();` | | |||||
`Plot(source, color, width)` | 在图表上绘制线条。| `Plot(SMA(Close(), 20), color.blue, 2);` | | `DrawText(x, y, text, color)` | 在图表上绘制文本。| `DrawText(10, 50, "SMA 20", color.red);` | | `DrawArrow(x, y, direction, color)` | 在图表上绘制箭头。| `DrawArrow(10, 50, direction.up, color.green);` | | ||||||
`Abs(x)` | 返回绝对值。 | `var absoluteValue = Abs(-5);` | | `Sqrt(x)` | 返回平方根。 | `var squareRoot = Sqrt(9);` | | `Pow(x, y)` | 返回 x 的 y 次方。 | `var power = Pow(2, 3);` | | `Round(x, decimals)` | 返回四舍五入后的值。 | `var roundedValue = Round(3.14159, 2);` | |
逻辑控制语句
MAXScrpt 使用以下逻辑控制语句来控制脚本的执行流程:
- **`if` 语句:** 根据条件执行代码块。
- **`else if` 语句:** 在 `if` 条件不满足时检查另一个条件。
- **`else` 语句:** 在所有 `if` 和 `else if` 条件都不满足时执行代码块。
- **`for` 循环:** 重复执行代码块指定次数。
- **`while` 循环:** 重复执行代码块,直到条件变为假。
自定义函数
MAXScrpt 允许您创建自定义函数,以便代码重用和模块化。自定义函数的语法如下:
```maxscript function MyFunction(parameter1, parameter2) {
// 代码块 return result;
} ```
示例策略
以下是一个简单的示例策略,当 5 分钟 EMA 高于 20 分钟 EMA 时开仓 CALL,低于时开仓 PUT:
```maxscript var fastEMA = EMA(Close(), 5); var slowEMA = EMA(Close(), 20);
if (fastEMA > slowEMA) {
OpenPosition("CALL", 100, 300);
} else if (fastEMA < slowEMA) {
OpenPosition("PUT", 100, 300);
} ```
进阶技巧
- **错误处理:** 使用 `try...catch` 语句来处理脚本中的错误。
- **调试:** 使用 `Print()` 函数来输出调试信息。
- **优化:** 避免在循环中进行重复计算,以提高脚本性能。
- **风险管理:** 始终设置止损和止盈,以控制风险。 参见 风险管理。
- **回测:** 使用历史数据回测您的策略,以评估其盈利能力。 参见 回测策略。
- **市场分析:** 结合 技术分析、基本面分析和 成交量分析来制定更有效的交易策略。
资源链接
- 蜡烛图模式
- 支撑位和阻力位
- 趋势线
- 斐波那契数列
- 日内交易
- 剥头皮交易
- 趋势跟踪
- 反趋势交易
- 期权定价模型
- 希腊字母(期权)
- 资金管理
- 交易心理学
- 二元期权平台选择
- 二元期权交易规则
- SpotOption 平台介绍
本手册提供了一个 MAXScrpt 函数的入门指南。通过实践和不断学习,您可以掌握 MAXScrpt,并创建强大的交易工具,从而提高您的 二元期权交易 技能。
立即开始交易
注册 IQ Option (最低存款 $10) 开设 Pocket Option 账户 (最低存款 $5)
加入我们的社区
订阅我们的 Telegram 频道 @strategybin 获取: ✓ 每日交易信号 ✓ 独家策略分析 ✓ 市场趋势警报 ✓ 新手教育资源