Tutorial de errorización en el cálculo de la media de los parámetros de distribución de acero

El autor:Escrito por TradeMan, Fecha: 2023-01-16 09:36:42
Las etiquetas:

Compartir estrategias, código, ideas y plantillas en respuesta a la plataforma FMZ y a la comunidad

La historia de su vida: Los pasos para calcular el valor medio en detalle, con ATR como ejemplo. Incluye detalles como llamadas de indicadores, puntos de datos inadecuados, datos accidentados, etc. La estrategia se basa en el conocimiento de los detalles.

Bienvenido a cooperar, intercambiar y aprender juntos para progresar. v:haiyanyydss


var arecords = _C(exchange.GetRecords, 300);
var time = arecords[arecords.length - 1].Time
var nowtime = time;
var atremaarr = [];
var Onoff = 0;

function main() {
    while (true) {
        //这里开始    把这段放循环里   
        var Num = 50; //可以改,几根的平均值
        var records = _C(exchange.GetRecords, 300);
        var atr = TA.EMA(records, 9)
        nowtime = records[records.length - 1].Time
        if (nowtime > time || Onoff == 0) {
            atr = atr.slice(atr.length - (20 + Num));
            for (var i = 0; i < (atr.length - Num); i++) { //(atr.length-Num) 长度减掉周期 比如500根 前50根是不准的平均值 这里就取450
                var atremTEMP = 0; //计算求和的,初始设置为0
                for (var j = 0; j < Num; j++) { //求和
                    atrTEMP = atr[i + j] > 0 ? atr[i + j] : 0; //剔除意外数据 ,大于O 取值,小于O 或者其他情况取值O
                    atremTEMP += atrTEMP;
                }
                atremaarr.push(atremTEMP / Num); //把平均值P到数组
            }
            time = nowtime;
            Onoff += 1;
            Log("计算第:", Onoff, "次。");
        }
        //这里结算    把这段放循环里
        Sleep(3000)
        Log("最后一根:", _N(atremaarr[atremaarr.length - 1], 2)) //拿值
        //Log("最后第二根:", _N(atremaarr[atremaarr.length-2],2))
    }
}


Más.