SOLO PARA LECTURA

El foro es ahora un archivo de sólo lectura.

Para informes de errores y preguntas sobre la plataforma → [email protected]

Nuestra comunidad vive en Discord y YouTube: ¡únete a nosotros!

ÚNASE A NOSOTROS Discordia YouTube

¿Qué significa el ángulo indicador de funciones?

3 respuestas

Truong Cao Xuan

Cliente, bbp_participant, comunidad, 9 respuestas.

Visitar el perfil

hace 6 años #250800

¿Puede alguien explicarme qué significan las Funciones Indicador de Ángulo?

Ejemplo, Cuando pongo

Indicador: Media móvil simple

Periodo: 3
Coeficiente: 0,00005

¿Qué valor devolverá esa función?

 

 

0

tomas262

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 6 años #254717

Hola,

Cuando colocas una media móvil en un gráfico, por ejemplo, puedes ver que con una tendencia alcista se eleva por debajo de un cierto ángulo. Este es el valor que este indicador "intenta" devolver. Tenga en cuenta que es complicado. El ángulo depende del zoom de su gráfico, no es un valor absoluto sólo relativo. Pero usted puede experimentar con ciertos valores de entrada e informar de su experiencia con esta función

Adjuntos:
Debes acceda a para ver los archivos adjuntos.

0

Truong Cao Xuan

Cliente, bbp_participant, comunidad, 9 respuestas.

Visitar el perfil

hace 6 años #254913

Gracias,

Probaré algún valor de entrada...

0

Jacky quan

Abonado, bbp_participant, sq-ultimate, 1 respuestas.

Visitar el perfil

hace 8 meses #292387

Hola,

Quiero usar pendiente EMA como filtro de régimen, la lógica de código MT5 como abajo, pero creo el código de bloque sqx, parece que no funciona. ¿Nube usted me da algún consejo?

***********************************************

CÓDIGO MT5 CORE:

bool GetEMAAngle_PriceNorm(int shift, int lookback, double &angle)
{
doble ahora, prev;
if(!GetBufferValue(emaHandle, shift, now)) return false;
if(!GetBufferValue(emaHandle, shift + lookback, prev)) return false;
if(prev <= 0.0) return false;

doble pendiente = (ahora - prev) / (lookback * prev);
ángulo = MathArctan(pendiente) * 180.0 *1000 / M_PI;
devuelve true;
}
***********************************************

SQX codeEditor

paquete SQ.Blocks.Indicators.FilterTrend;
import com.strategyquant.lib.*;
import com.strategyquant.datalib.*;
import com.strategyquant.tradinglib.*;
import SQ.Internal.IndicatorBlock;
import SQ.Blocks.Indicators.MovingAverage.EMA;
@EdificioBloque(
        name=”(XXX) EMA_PriceNormAngle”,
        display=”EMA_PriceNormAngle(#EMA_Period#,#Lookback#)”,
        returnType = ReturnTypes.Number
)
@Ayuda(“Ángulo normalizado del precio EMA = atan((EMA_actual - EMA_prev)/(Lookback * EMA_prev)) en grados”)
public class FiltroTendencia extends IndicadorBloque {
    // === PRECIO DE ENTRADA ===
    @Parámetro
    public DataSeries Entrada; // Precio de cierre
    // === PARÁMETROS ===
    @Parámetro(defaultValue=”120″, isPeriod=true, minValue=2, maxValue=1000, step=1)
    public int Periodo_EMA;
    @Parámetro(defaultValue=”5″, minValue=1, maxValue=100, step=1)
    public int Lookback;
    // === SALIDA ===
    @Salida
    public DataSeries Valor;
    // === INDICADOR ===
    privado EMA ema;
    @Override
    protected void OnInit() throws TradingException {
        ema = Indicadores.EMA(Entrada, Periodo_EMA);
    }
    @Override
    protected void OnBarUpdate() throws TradingException {
        if (CurrentBar < EMA_Period + Lookback) {
            Valor.set(0, 0);
            volver;
        }
        double ema_now = ema.Value.get(0);
        double ema_prev = ema.Value.get(Lookback);
        doble ángulo = 0;
        if (ema_prev != 0) {
            double pendiente = (ema_actual - ema_prev) / (Lookback * ema_prev);
            ángulo = 1000 * Math.toDegrees(Math.atan(pendiente));
        }
        Valor.set(0, ángulo);
    }
}

0

Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)