【MultiCharts(MC)程序化(量化)网上培训学习系列】第416节:经典策略范例“超级趋势(Supertrend)"量化策略、编写程式码、运行展示及进行初步回测
  
- UID
- 2
- 积分
- 2946807
- 威望
- 1423440 布
- 龙e币
- 1523367 刀
- 在线时间
- 13794 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2025-4-28

|
【MultiCharts(MC)程序化(量化)网上培训学习系列】第416节:经典策略范例“超级趋势(Supertrend)"量化策略、编写程式码、运行展示及进行初步回测
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|
|
|
|
|
|
  
- UID
- 2
- 积分
- 2946807
- 威望
- 1423440 布
- 龙e币
- 1523367 刀
- 在线时间
- 13794 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2025-4-28

|
程式码部分:- 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;
复制代码 |
|
|
|
|
|
|
  
- UID
- 2
- 积分
- 2946807
- 威望
- 1423440 布
- 龙e币
- 1523367 刀
- 在线时间
- 13794 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2025-4-28

|
|
|
|
|
|
|
  
- UID
- 2
- 积分
- 2946807
- 威望
- 1423440 布
- 龙e币
- 1523367 刀
- 在线时间
- 13794 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2025-4-28

|
视频中程式码部分:
本帖隐藏的内容需要回复才可以浏览 |
|
|
|
|
|
|
  
- UID
- 2
- 积分
- 2946807
- 威望
- 1423440 布
- 龙e币
- 1523367 刀
- 在线时间
- 13794 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2025-4-28

|
1、只要出趋势都能抓住。
2、振荡市场会亏损。
3、这不是一个全天候的策略,适合半自动化交易。即通过分析认为后市会出现趋势性行情,再开启此策略。 |
|
|
|
|
|
|