# 交易策略程式碼教學 – 梅斯線

## 交易策略程式碼教學 – 梅斯線

`//@version = 4strategy("Yaonology Mass Index Tutorial", overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.USD, initial_capital = 10000, commission_type = strategy.commission.percent, commission_value = 0)length = input(title = "MASS", defval =25)mavglength = input(title = "MAvg", defval = 9)ma_9 = sma(close, 9)prc_rg = high - lowahl = ema(prc_rg,9)dhl = ema(ahl,9)mass_idx = sum(ahl/dhl,length)z = 0if z[1] == 1 z := 1if mass_idx > 27 z := 1if mass_idx < 26.5 z := 0plot(mass_idx, color = z == 0 ? color.black : color.red, linewidth = 2)plot(27, color = color.green)plot(26.5, color = color.red)if z == 0 and z[1] == 1 and ma_9 < ma_9[1] strategy.entry(id = "mass", long = true)    if z == 0 and z[1] == 1 and ma_9 > ma_9[1] strategy.close(id = "mass")`

#### 步驟一：初始設定

//@version=4

strategy(“Yaonology Mass Index Tutorial“, overlay=false, default_qty_type= strategy.percent_of_equity ,default_qty_value=100,currency=currency.USD,initial_capital=10000,commission_type=strategy.commission.percent,commission_value=0)

strategy : 策略名稱 (在此Yaonology 制定為Yaonology Mass Index Tuorial)

overlay : 不重疊 – False

default_qty_type : 此為設定交易量的單位形式 (此我們設定percent of equity)

default_qty_value : 設定量的多寡 –100

currency: 幣值 (此設為USD)

initial_capital : 最初交易的價格 (設定10000)

commission_type : 佣金的計算方式 –percent

commission_value : 佣金的價值 (此沒有佣金，因此設定0)

#### 第一部分

length = input(title = MASS“, defval =25)

mavglength = input(title =MAvg, defval = 9)

#### 第2部分：策略指數移動平均線

ma_9 = sma(close, 9)

sma: 移動平均線(9天)

prc_rg = high – low

high: 每日最高價

low: 每日最低價

high – low: 每日股票價格波動

ahl = ema(prc_rg,9)

ema: 指數移動平均線（9天股價波動）

dhl = ema(ahl,9)

ema: 指數移動平均線（9天的ahl)

mass_idx = sum(ahl/dhl,length)

sum: 9天內ahl和bhl的比率總和

z = 0

if z[1] == 1

z := 1

if mass_idx > 27

z := 1

if mass_idx < 26.5

z := 0

mass_index: 如果先前的z（之前的一個日期）等於1或質量指數超過27，則z等於1；如果指標低於26.5，則z等於0：（z [1]）

#### 步驟三：繪圖

plot(mass_idx, color = z == 0 ? color.black : color.red, linewidth = 2)

plot(27, color = color.green)- 梅斯線大於27的圖形顏色設為 綠色

plot(26.5, color = color.red)-梅斯線小於27的圖形顏色設為紅色

#### 步驟四：買賣條件

if z == 0 and z[1] == 1 and ma_9 < ma_9[1]

strategy.entry(id = “mass“, long = true)

=> [1] 表示前一天;

Strategy.entry: 表示指令進入市場

id: 表示此單的名稱設定 在此我們將名稱設定為 mass

long: 表示看多市場趨勢，此時為進場狀態，因此設定為true

if z == 0 and z[1] == 1 and ma_9 > ma_9[1]

strategy.close(id = “mass“)

=>:[1] 表示前一天

Strategy.close:表示指令離開市場

## 完成後圖形

Yaonology.com

SP500 Algo Trading Strategy

Bitcoin Algo Trading Strategy

#Algorithmtrading #codingtutorial #SPY500 #Massindicator