龙听期货论坛's Archiver

龙听 发表于 2021-10-26 21:51

【average(算术平均)】、【averageFC(快速计算算术平均)】、【SmoothedAverage(平滑移动平均)】异同

[size=1em]Average[/size]

Average 函数计算一定范围的柱状线价格或数值的标准算术平均数。它也可称为移动平均线,因为这是为所有柱状线重新计算得出的值。语法[p=30, 2, left][color=#800080]Average[/color](Price,Length)[/p]返回(双精度数)
当前柱状线的数值。参数[table=98%]
[tr][td][p=30, 2, left]名称[/p][/td][td][p=30, 2, left]类型[/p][/td][td][p=30, 2, left]说明[/p][/td][/tr]
[tr][td][p=30, 2, left]Price[/p][/td][td]
数值[/td][td]
指定要使用的柱状线值(价格、函数或公式)。[/td][/tr]
[tr][td][p=30, 2, left]Length[/p][/td][td]
数值[/td][td]
设置要考虑的柱状线数量。[/td][/tr]
[/table]备注
Average 函数通常用于平滑函数或指标的值。
[color=#800080]Average[/color](算术平均数)是 [i]n[/i] 个数值的和除以 [i]n。[/i]
Average = (1+3+5) / 3 = 3
输入参数 Price 可以是一个柱状线值,如 Close、High、Low、Open 或 Volume。 也可以是任何数学计算,如 (High + Low) / 2 或一个数值函数,如 RSI、Stochastic 或 ADX。
Length 输入参数的值应该始终是一个正整数。示例
将 Close 的 9 根柱状线移动平均线赋予 Value1,然后绘制 Value1:[p=30, 2, left]Value1 = [color=#800080]Average[/color]([color=#0000ff]Close[/color],9);[/p][p=30, 2, left][color=#0000ff]Plot1[/color](Value1, "AvgClose");[/p]
将范围在 (High + Low) /2 内的 15 根柱状线移动平均线赋予 Value1,然后绘制 Value1:[p=30, 2, left]Value1 = [color=#800080]Average[/color](([color=#0000ff]High[/color] + [color=#0000ff]Low[/color])/2,15);[/p][p=30, 2, left][color=#0000ff]Plot1[/color](Value1, "AvgRng");[/p]
将 RSI 函数的 10 根柱状线移动平均线赋予 Value1,然后绘制 Value1:[p=30, 2, left]Value1 = [color=#800080]Average[/color]([color=#800080]RSI[/color]([color=#0000ff]Close[/color],14),10);[/p][p=30, 2, left][color=#0000ff]Plot1[/color](Value1, "AvgRSI");[/p]
将自定义变量 myRange 的 20 根柱状线移动平均线赋予 Value1,然后绘制 Value1:[p=30, 2, left][color=#0000ff]Vars[/color]: myRange(0);[/p][p=30, 2, left]MyRange = (([color=#0000ff]High[/color][1]-[color=#0000ff]Low[/color][1]) + ([color=#0000ff]High[/color] – [color=#0000ff]Low[/color]))/2;[/p][p=30, 2, left]Value1 = [color=#800080]Average[/color](myRange, 20);[/p][p=30, 2, left][color=#0000ff]Plot1[/color](Value1, "AvgRng");[/p]

龙听 发表于 2021-10-26 21:55

AverageFC
快速计算移动平均线语法[p=30, 2, left][color=#800080]AverageFC[/color](Price, Length)[/p]返回(双精度数)
当前柱状线的数值。参数[table=98%]
[tr][td]名称[/td][td]类型[/td][td]说明[/td][/tr]
[tr][td]Price [/td][td]数值[/td][td]指定要使用的柱状线值(价格、函数或公式)。[/td][/tr]
[tr][td]Length [/td][td]数值[/td][td]设置要考虑的柱状线数量。[/td][/tr]
[/table]备注
AverageFC 函数用于平滑函数或指标的值。
[color=#800080]AverageFC[/color](快速计算算术平均数)减去元素列表中最旧的值,加上最新的值,然后除以元素数量。
输入参数 Price 可以是一个柱状线值,如 Close、High、Low、Open 或 Volume。 也可以是任何数学计算,如 (High + Low) / 2 或一个数值函数,如 RSI、Stochastic 或 ADX。
输入参数 Length 的值应该始终是一个大于 0 的整数。[p=30, 2, left][b][img=10,10][/img][/b]此系列函数返回与 Average 完全相同的值,唯一区别是它使用的快速计算方法比非 FC 版本相比占用的内存稍多。[/p]示例
将 [color=#0000ff]Close[/color] 的 9 根柱状线快速计算移动平均线赋予 Value1,然后绘制 Value1:[p=30, 2, left]Value1 = [color=#800080]AverageFC[/color](Close,9);[/p][p=30, 2, left][color=#0000ff]Plot1[/color](Value1, "AvgClose");[/p]
将范围在 ([color=#0000ff]High[/color] + [color=#0000ff]Low[/color])/2 内的 15 根柱状线快速计算移动平均线赋予 Value1,然后绘制 Value1:[p=30, 2, left]Value1 = [color=#800080]AverageFC[/color]((High + Low)/2,15);[/p][p=30, 2, left][color=#0000ff]Plot1[/color](Value1, "AvgRng");[/p]
将 [color=#800080]RSI[/color] 函数的 10 根柱状线快速计算移动平均线赋予 Value1,然后绘制 Value1:[p=30, 2, left]Value1 = [color=#800080]AverageFC[/color]([color=#800080]RSI[/color](Close,14),10);[/p][p=30, 2, left][color=#0000ff]Plot1[/color](Value1, "AvgRSI");[/p]
将自定义变量 myRange 的 20 根柱状线快速计算移动平均线赋予 Value1,然后绘制 Value1:[p=30, 2, left][color=#0000ff]Vars[/color]: myRange((([color=#0000ff]High[/color][1]-[color=#0000ff]Low[/color][1]) + ([color=#0000ff]High[/color] – [color=#0000ff]Low[/color]))/2;[/p][p=30, 2, left]Value1 = [color=#800080]AverageFC[/color](myRange, 20);[/p][p=30, 2, left][color=#0000ff]Plot1[/color](Value1, "AvgRng");[/p]

龙听 发表于 2021-10-26 21:55

SmoothedAverage
进一步平滑最后 [i]x[/i] 条柱状线的平均值。这是通过使用自身以前的数值来实现的。该函数的使用方式与 Average 函数一样。语法[p=30, 2, left][color=#800080]SmoothedAverage[/color](Price, Length) [/p]返回(双精度数)
包含指定的柱状线数范围内的平滑平均值的数值。参数[table=98%]
[tr][td][p=30, 2, left]名称[/p][/td][td][p=30, 2, left]类型[/p][/td][td][p=30, 2, left]说明[/p][/td][/tr]
[tr][td][p=30, 2, left]Price[/p][/td][td]
数值[/td][td]
指定要使用的柱状线值(价格、函数或公式)。[/td][/tr]
[tr][td][p=30, 2, left]Length[/p][/td][td]
数值[/td][td]
设置要考虑的柱状线数量。[/td][/tr]
[/table]备注
在第一条柱状线上,此函数将由指定 Length 对应的输入 Price 返回的所有值相加,总和除以 Length,然后将值存储在被称为 [color=#800000]SUM[/color] 的变量中。只有第一条柱状线上的 [color=#800080]SmoothedAverage[/color] 函数等于存储在 [color=#800000]SUM[/color] 中的值。
[color=#800000]SUM[/color] = [color=#800080]Summation[/color](Price, Length)
在以后每一条柱状线上,该函数使用一个不同的方程式。[p=30, 2, left][color=#800080]SmoothedAverage[/color] = (Sum[1] - [color=#800080]SmoothedAverage[/color][1] + Price)/Length[/p]示例[p=30, 2, left][color=#0000ff]Plot1[/color]([color=#800080]SmoothedAverage[/color]([color=#0000ff]C[/color],20);[/p]

龙听 发表于 2021-10-27 06:52

指标MA(移动平均)源码:
**** Hidden Message *****

龙听 发表于 2021-10-27 06:53

指标SMA(加权移动平均)公式:
**** Hidden Message *****

页: [1]