SOMENTE LEITURA

O fórum agora é um arquivo somente para leitura.

Para relatórios de bugs e perguntas sobre a plataforma → [email protected]

Nossa comunidade vive no Discord e no YouTube - junte-se a nós!

JUNTE-SE A NÓS EM Discórdia YouTube

O que significa o Functions Indicator Angle?

3 respostas

Truong Cao Xuan

Cliente, bbp_participante, comunidade, 9 respostas.

Perfil da visita

6 anos atrás #250800

Alguém pode me explicar o que significa Functions Indicator Angle?

Por exemplo, quando eu defino

Indicador: Média Móvel Simples

Período: 3
Coeficiente: 0,00005

Que valor essa função retornará?

 

 

0

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

6 anos atrás #254717

Olá,

Quando você coloca uma média móvel em um gráfico, por exemplo, pode ver que, em uma tendência de alta, ela se eleva sob um determinado ângulo. Esse é o valor que esse indicador "tenta" retornar. Lembre-se de que isso é complicado. O ângulo depende do zoom de seu gráfico, não é um valor absoluto, apenas relativo. Mas você pode experimentar com determinados valores de entrada e relatar sua experiência com essa função

Anexos:
Você deve ser logado para ver os arquivos anexos.

0

Truong Cao Xuan

Cliente, bbp_participante, comunidade, 9 respostas.

Perfil da visita

6 anos atrás #254913

Obrigado a você,

Vou tentar algum valor de entrada...

0

Jacky Quan

Assinante, bbp_participante, sq-ultimate, 1 resposta.

Perfil da visita

8 meses atrás #292387

oi,

Quero usar a inclinação da EMA como filtro de regime, a lógica do código do MT5 é a seguinte, mas quando crio o código do bloco sqx, ele parece não funcionar. Você poderia me dar algum conselho?

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

MT5 CORE CODE:

bool GetEMAAngle_PriceNorm(int shift, int lookback, double &angle)
{
double now, prev;
Se(!GetBufferValue(emaHandle, shift, now)) retornar false;
Se(!GetBufferValue(emaHandle, shift + lookback, prev)) retornar falso;
Se(prev <= 0,0) retornar falso;

double slope = (now - prev) / (lookback * prev);
ângulo = MathArctan(slope) * 180,0 *1000 / M_PI;
retornar verdadeiro;
}
***********************************************

SQX codeEditor

pacote SQ.Blocks.Indicators.FilterTrend;
import com.strategyquant.lib.*;
import com.strategyquant.datalib.*;
import com.strategyquant.tradinglib.*;
importação SQ.Internal.IndicatorBlock;
importar SQ.Blocks.Indicators.MovingAverage.EMA;
@BuildingBlock(
        nome=”(XXX) EMA_PriceNormAngle”,
        display=”EMA_PriceNormAngle(#EMA_Period#,#Lookback#)”,
        returnType = ReturnTypes.Number
)
@Help(“Ângulo normalizado pelo preço da EMA = atan((EMA_now - EMA_prev)/(Lookback * EMA_prev)) em graus”)
public class FilterTrend extends IndicatorBlock {
    // === PREÇO DE ENTRADA ===
    @Parameter
    public DataSeries Input; // Preço de fechamento
    // === PARÂMETROS ===
    @Parameter(defaultValue=”120″, isPeriod=true, minValue=2, maxValue=1000, step=1)
    public int EMA_Period;
    @Parameter(defaultValue=”5″, minValue=1, maxValue=100, step=1)
    public int Lookback;
    // === SAÍDA ===
    @Output
    valor público da DataSeries;
    // === INDICADOR =====
    private EMA ema;
    @Override
    protected void OnInit() throws TradingException {
        ema = Indicators.EMA(Input, EMA_Period);
    }
    @Override
    vazio protegido Na BarUpdate() lança a TradingException {
        Se (CurrentBar < EMA_Period + Lookback) {
            Value.set(0, 0);
            retorno;
        }
        double ema_now = ema.Value.get(0);
        double ema_prev = ema.Value.get(Lookback);
        double angle = 0;
        se (ema_prev != 0) {
            double slope = (ema_now - ema_prev) / (Lookback * ema_prev);
            ângulo = 1000 * Math.toDegrees(Math.atan(slope));
        }
        Value.set(0, angle);
    }
}

0

Visualizando 3 respostas - 1 até 3 (de um total de 3)