Simple Moving Average (SDK Trading)

A Simple Moving Average (SMA) is calculated by adding recent closing prices and then dividing that by the number of time periods in the calculation average.

Simple Moving Average (SDK Trading)

registerIndicator("sma", "Simple Moving Average(v1.0)", function (context) {
    var dataInput = getDataInput(context, 0)
    var dataOutput = getDataOutput(context, "sma")
    var period = getIndiParameter(context, "period")
    var shift = getIndiParameter(context, "shift")

    var calculatedLength = getCalculatedLength(context)

    sma(dataInput, dataOutput, calculatedLength, period)

    if (shift != null && calculatedLength == 0) {
        setIndiShift(context, "sma", shift)
    }
},[{
    name: "period",
    value: 5,
    required: true,
    type: PARAMETER_TYPE.INTEGER,
    range: [1, 100]
},{
    name: "shift",
    value: 0,
    required: false,
    type: PARAMETER_TYPE.INTEGER,
    range: [-30, 30]
}],
[{
    name: DATA_NAME.CLOSE,
    index: 0
}],
[{
    name: "sma",
    visible: true,
    renderType: RENDER_TYPE.LINE,
    color: "steelblue"
}],
WHERE_TO_RENDER.CHART_WINDOW)