読み取り専用

フォーラムは現在、読み取り専用のアーカイブとなっています。.

バグ報告やプラットフォームに関する質問はこちら → [email protected]

私たちのコミュニティはDiscordとYouTubeで活動しています。ぜひ参加してください!

ご参加ください Discord YouTube

ファンクションズ・インジケーター・アングル

3件の返信

チュオン・カオ・ズアン

カスタマー、bbp_participant、コミュニティ、9件の返信。.

プロフィールを表示

6年前 #250800

Can someone explain me what Functions Indicator Angle mean?

Example, When i set

Indicator: Simple Moving Average

Period: 3
Coefficient: 0.00005

What Value that function will return?

 

 

0

tomas262

管理者、sq-ultimate、2件の返信.

プロフィールを表示

6年前 #254717

こんにちは,

when you place a moving average on a chart for example you can see with an uptrend it raises up under a certain angle. This is the value this indicator “tries” to return. Please keep in mind it is tricky. Angle depends on the zoom of your chart, it is not absolute value only relative. But you can experiment with certain input values and report back your experience with this function

添付ファイル:
に違いない ログインしました 添付ファイルを表示するには.

0

チュオン・カオ・ズアン

カスタマー、bbp_participant、コミュニティ、9件の返信。.

プロフィールを表示

6年前 #254913

Thanks you,

I will try some input value…

0

Jacky quan

定期購読者, bbp_participant, sq-ultimate, 1 件の返信.

プロフィールを表示

8ヶ月前 #292387

こんにちは、,

I want to use EMA slope as regime filter, the MT5 code logic as below, but I create the sqx block code, it seems not work. Cloud you give me some advice?

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

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;
return true;
}
***********************************************

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
)
ヘルプ(“EMA price-normalized angle = atan((EMA_now – EMA_prev)/(Lookback * EMA_prev)) in degrees”)
public class FilterTrend extends IndicatorBlock {
    // === INPUT PRICE ===
    @パラメータ
    public DataSeries Input;   // Close price
    // === PARAMETERS ===
    @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 ===
    出力
    public DataSeries Value;
    // === INDICATOR ===
    private 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) {
            Value.set(0, 0);
            return;
        }
        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

3件の返信を表示中 - 1 - 3件目 (全3件中)