龙听期货论坛's Archiver






 微信: QQ:

龙听 发表于 2025-4-27 20:57

Supertrend 的 PowerLanguage(MultiCharts)指標範例

[code]
// Supertrend Indicator for PowerLanguage (MultiCharts)
// Basic version
Inputs:
    ATRLength(10),
    Multiplier(3.0);

Variables:
    ATR(0),
    UpperBand(0),
    LowerBand(0),
    Trend(1),
    Supertrend(0),
    PrevSupertrend(0);

// Calculate ATR
ATR = AvgTrueRange(ATRLength);

// Calculate Basic Bands
UpperBand = (High + Low) / 2 + Multiplier * ATR;
LowerBand = (High + Low) / 2 - Multiplier * ATR;

// Supertrend Calculation
If CurrentBar = 1 then
begin
    Supertrend = UpperBand;
end
else
begin
    if Close > PrevSupertrend then
        Supertrend = MaxList(LowerBand, PrevSupertrend)
    else
        Supertrend = MinList(UpperBand, PrevSupertrend);

    if Close > Supertrend then
        Trend = 1
    else if Close < Supertrend then
        Trend = -1;
end;

// Save for next bar
PrevSupertrend = Supertrend;

// Plot
Plot1(Supertrend, "Supertrend");
Plot2(UpperBand, "UpperBand");
Plot3(LowerBand, "LowerBand");

if Trend = 1 then
    SetPlotColor(1, Green)
else
    SetPlotColor(1, Red);
[/code]這段程式碼會:

    計算 ATR。

    用 ATR 來生成上下帶。

    判斷超趨勢線。

    畫出 Supertrend 線並變色(綠色為多頭,紅色為空頭)。

龙听 发表于 2025-4-27 20:58

Supertrend(有買賣訊號)[code]
// Supertrend Indicator with Buy/Sell Arrows for PowerLanguage (MultiCharts)
// Advanced version with signals
Inputs:
    ATRLength(10),
    Multiplier(3.0);

Variables:
    ATR(0),
    UpperBand(0),
    LowerBand(0),
    Trend(1),
    Supertrend(0),
    PrevSupertrend(0),
    PrevTrend(1);

// Calculate ATR
ATR = AvgTrueRange(ATRLength);

// Calculate Basic Bands
UpperBand = (High + Low) / 2 + Multiplier * ATR;
LowerBand = (High + Low) / 2 - Multiplier * ATR;

// Supertrend Calculation
If CurrentBar = 1 then
begin
    Supertrend = UpperBand;
    PrevTrend = 1;
end
else
begin
    if Close > PrevSupertrend then
        Supertrend = MaxList(LowerBand, PrevSupertrend)
    else
        Supertrend = MinList(UpperBand, PrevSupertrend);

    if Close > Supertrend then
        Trend = 1
    else if Close < Supertrend then
        Trend = -1;
end;

// Detect Trend Change for Buy/Sell Signals
if Trend <> PrevTrend then
begin
    if Trend = 1 then
        Alert("Buy Signal");

    if Trend = -1 then
        Alert("Sell Signal");
end;

// Save for next bar
PrevSupertrend = Supertrend;
PrevTrend = Trend;

// Plot Supertrend
Plot1(Supertrend, "Supertrend");
Plot2(UpperBand, "UpperBand");
Plot3(LowerBand, "LowerBand");

if Trend = 1 then
    SetPlotColor(1, Green)
else
    SetPlotColor(1, Red);

// Plot Buy/Sell Arrows
if Trend <> PrevTrend then
begin
    if Trend = 1 then
        PlotPaintBar(High, Low, Open, Close, "Buy", Green)
    else if Trend = -1 then
        PlotPaintBar(High, Low, Open, Close, "Sell", Red);
end;
[/code]

龙听 发表于 2025-4-27 20:59

Supertrend 自動下單策略(PowerLanguage / MultiCharts)[code]
// Supertrend Auto-Trading Strategy for PowerLanguage (MultiCharts)
Inputs:
    ATRLength(10),
    Multiplier(3.0);

Variables:
    ATR(0),
    UpperBand(0),
    LowerBand(0),
    Trend(1),
    Supertrend(0),
    PrevSupertrend(0),
    PrevTrend(1);

// Calculate ATR
ATR = AvgTrueRange(ATRLength);

// Calculate Basic Bands
UpperBand = (High + Low) / 2 + Multiplier * ATR;
LowerBand = (High + Low) / 2 - Multiplier * ATR;

// Supertrend Calculation
If CurrentBar = 1 then
begin
    Supertrend = UpperBand;
    PrevTrend = 1;
end
else
begin
    if Close > PrevSupertrend then
        Supertrend = MaxList(LowerBand, PrevSupertrend)
    else
        Supertrend = MinList(UpperBand, PrevSupertrend);

    if Close > Supertrend then
        Trend = 1
    else if Close < Supertrend then
        Trend = -1;
end;

// --- Auto Trading Logic ---
// When trend changes to up, buy
If Trend = 1 and PrevTrend = -1 then
begin
    Buy ("SupertrendBuy") Next Bar at Market;
end;

// When trend changes to down, sell short
If Trend = -1 and PrevTrend = 1 then
begin
    SellShort ("SupertrendSell") Next Bar at Market;
end;

// Optional: Exit rules (simple)
// Exit long if trend turns down
If MarketPosition = 1 and Trend = -1 then
begin
    Sell ("SupertrendExitLong") Next Bar at Market;
end;

// Exit short if trend turns up
If MarketPosition = -1 and Trend = 1 then
begin
    BuyToCover ("SupertrendExitShort") Next Bar at Market;
end;

// Save for next bar
PrevSupertrend = Supertrend;
PrevTrend = Trend;
[/code]趨勢轉為上升時 → 市價做多。

趨勢轉為下跌時 → 市價做空。

趨勢反轉也自動 平倉原來的單。

乾淨純粹的範例,適合再加上風控(如停損、停利)等等。

龙听 发表于 2025-4-27 21:00

Supertrend 自動交易策略版 (PowerLanguage / MultiCharts)[code]
// Supertrend Strategy for Auto Trading (MultiCharts PowerLanguage)
// Version: Entry + Exit rules
Inputs:
    ATRLength(10),
    Multiplier(3.0);

Variables:
    ATR(0),
    UpperBand(0),
    LowerBand(0),
    Trend(1),
    Supertrend(0),
    PrevSupertrend(0),
    PrevTrend(1);

// Calculate ATR
ATR = AvgTrueRange(ATRLength);

// Calculate Bands
UpperBand = (High + Low) / 2 + Multiplier * ATR;
LowerBand = (High + Low) / 2 - Multiplier * ATR;

// Supertrend Calculation
If CurrentBar = 1 then
begin
    Supertrend = UpperBand;
    PrevTrend = 1;
end
else
begin
    if Close > PrevSupertrend then
        Supertrend = MaxList(LowerBand, PrevSupertrend)
    else
        Supertrend = MinList(UpperBand, PrevSupertrend);

    if Close > Supertrend then
        Trend = 1
    else if Close < Supertrend then
        Trend = -1;
end;

// --- Entry and Exit Rules ---
// Trend Change -> Entry Signals
if Trend <> PrevTrend then
begin
    if Trend = 1 then
    begin
        // Close Short Position first
        if MarketPosition < 0 then
            BuyToCover ("ExitShort") next bar at market;
        // Open Long Position
        Buy ("LongEntry") next bar at market;
    end
    else if Trend = -1 then
    begin
        // Close Long Position first
        if MarketPosition > 0 then
            Sell ("ExitLong") next bar at market;
        // Open Short Position
        SellShort ("ShortEntry") next bar at market;
    end;
end;

// Save for next bar
PrevSupertrend = Supertrend;
PrevTrend = Trend;

// --- Optional: Plot Supertrend Line ---
Plot1(Supertrend, "Supertrend");

if Trend = 1 then
    SetPlotColor(1, Green)
else
    SetPlotColor(1, Red);
[/code][code]
趨勢變多(Trend從-1變1):平空單 ➔ 做多進場

趨勢變空(Trend從1變-1):平多單 ➔ 做空進場

進場用 next bar at market(下一根直接市價單)

自動畫 Supertrend 線,顏色隨趨勢變
[/code]

页: [1]
渠道·推广(20年运营值得信赖!)▼:温馨提示:期货论坛稳定、流畅的访问体验有赖于赞助商的广告支持,赞助商业务内容非本站官方业务,期货、证券及外汇投资均有亏损的风险,访问赞助商广告即代表您已了解其中的风险。欢迎意向赞助商联系客服或管理员咨询相关事宜。
                     
❤️2025年通过期货论坛开户享受如下优惠政策:政策一:手续费最低交易所+1分起,政策二:日内炒单及大资金享更高比率返还,政策三:保证金可申请交易所标准+0,政策四:开户即享有论坛Prime会员资格(价值199元/年),开户咨询管理员或右侧客服! 😋欧美期货杂志购买、下载与中文翻译:/thread-10603-1-1.html |TB/MC开户优惠政策:/thread-5986-1-1.html2025年最新交易所手续费表:/thread-7537-1-1.htmlSC2.png2025年最新中文翻译:/thread-160355-1-1.html;
欧美期货程序化期刊中文翻译目录: 【1982/83.01-12期】 【1984.01-12期】 【1985.01-12期】 【1986.01-12期】 【1987.01-12期】 【1988.01-12期】 【1989.01-12期】 【1990.01-12期】 【1991.01-12期】 【1992.01-12期】 【1993.01-12期】 【1994.01-12期】 【1995.01-12期】 【1996.01-12期】 【1997.01-12期】 【1998.01-12期】 【1999.01-12期】 【2000.01-12期】 【2001.01-12期】 【2002.01-12期】 【2003.01-12期】 【2004.01-12期】 【2005.01-12期】 【2006.01-12期】 【2007.01-12期】 【2008.01-12期】 【2009.01-12期】 【2010.01-12期】 【2011.01-12期】 【2012.01-12期】 【2013.01-12期】 【2014.01-12期】正在更新中...... 【2015.01-12期】待补 【2016.01-12期】待补 【2017.01-12期】正在更新中...... 【2018.01-12期】 【2019.01-12期】 【2020.01-12期】 【2021.01-12期】 【2022.01-12期】 【2023.01-12期】 【2024.01-12期】 【2025.01-12期】正在更新中......
欧美杂志精华: 欧美杂志2025年最新中文翻译 量化交易 技术分析 心理研究 套利/统计 波浪理论 江恩理论 道氏理论 策略开发 动量交易 量化建模 神经网络 资金管理 行为金融 图表/形态 蜡烛/K线 Van K. Tharp Wyckoff 名人采访 投机新手 量化问答(Q&A) 外汇货币 交易池(Pool) TS/MC量化 点数(P&F)图 [基金/ETF] [加密货币] [Algo(Q&A)] [人工智能(AI)] 真实世界 期货世界 《Futures Truth》 《Futures&Options》