LECTURE SEULEMENT

Le forum est désormais une archive en lecture seule.

Pour les rapports de bogues et les questions relatives à la plateforme → [email protected]

Notre communauté vit sur Discord et YouTube - rejoignez-nous !

JOIGNEZ-NOUS SUR Discord YouTube

Que signifie l'angle de l'indicateur de fonctions ?

3 réponses

Truong Cao Xuan

Client, bbp_participant, communauté, 9 réponses.

Visiter le profil

il y a 6 ans #250800

Quelqu'un peut-il m'expliquer ce que signifie l'angle de l'indicateur de fonctions ?

Exemple, lorsque je définis

Indicateur : Moyenne mobile simple

Période : 3
Coefficient : 0,00005

Quelle valeur cette fonction renverra-t-elle ?

 

 

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

il y a 6 ans #254717

Bonjour,

Lorsque vous placez une moyenne mobile sur un graphique, par exemple, vous pouvez voir qu'en cas de tendance haussière, elle se relève sous un certain angle. C'est la valeur que cet indicateur "essaie" de restituer. Gardez à l'esprit qu'il s'agit d'un exercice délicat. L'angle dépend du zoom de votre graphique, il ne s'agit pas d'une valeur absolue mais seulement d'une valeur relative. Mais vous pouvez expérimenter avec certaines valeurs d'entrée et nous faire part de votre expérience avec cette fonction.

Pièces jointes :
Vous devez être connecté pour visualiser les fichiers joints.

0

Truong Cao Xuan

Client, bbp_participant, communauté, 9 réponses.

Visiter le profil

il y a 6 ans #254913

Je vous remercie,

J'essaierai d'obtenir une valeur d'entrée...

0

Jacky quan

Abonné, bbp_participant, sq-ultimate, 1 réponses.

Visiter le profil

Il y a 8 mois #292387

hi,

Je veux utiliser la pente de l'EMA comme filtre de régime, le code MT5 logique comme ci-dessous, mais je crée le code de bloc sqx, il semble ne pas fonctionner. Vous pouvez me donner des conseils ?

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

MT5 CORE CODE :

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

double slope = (now - prev) / (lookback * prev) ;
angle = MathArctan(slope) * 180.0 *1000 / M_PI ;
retourner vrai ;
}
***********************************************

SQX codeEditor

package 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 ;
@BuildingBlock(
        name=”(XXX) EMA_PriceNormAngle”,
        display=”EMA_PriceNormAngle(#EMA_Period#,#Lookback#)”,
        returnType = ReturnTypes.Number
)
@Help(“Angle normalisé du prix de l'EMA = atan((EMA_now - EMA_prev)/(Lookback * EMA_prev)) en degrés”)
public class FilterTrend extends IndicatorBlock {
    // === PRIX D'ENTRÉE ===
    @Paramètre
    public DataSeries Input ; // Prix de clôture
    // === PARAMÈTRES ===
    @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 ;
    // === OUTPUT ===
    @Sortie
    public DataSeries Value ;
    // === INDICATEUR ===
    privé EMA ema ;
    @Override
    protected void OnInit() throws TradingException {
        ema = Indicators.EMA(Input, EMA_Period) ;
    }
    @Override
    protected void OnBarUpdate() throws TradingException {
        if (CurrentBar < EMA_Period + Lookback) {
            Valeur.set(0, 0) ;
            retour ;
        }
        double ema_now = ema.Value.get(0) ;
        double ema_prev = ema.Value.get(Lookback) ;
        double angle = 0 ;
        if (ema_prev != 0) {
            double slope = (ema_now - ema_prev) / (Lookback * ema_prev) ;
            angle = 1000 * Math.toDegrees(Math.atan(slope)) ;
        }
        Value.set(0, angle) ;
    }
}

0

Affichage de 3 réponses de 1 à 3 (sur un total de 3)