用tradingview官网的pine语言写个sma策略脚本

用tradingview官网的pine语言写个sma策略脚本

该策略在图表上绘制一个简单移动平均线(SMA),并在SMA线和价格线交叉时产生交易信号。策略允许设置SMA的周期和止损百分比。当出现买入信号时,策略会进入多头仓位,并设置止损。当出现卖出信号时,策略会进入空头仓位,并设置止损。

//@version=5
strategy("SMA Strategy", overlay=true)

// 定义策略参数
sma_period = input(title="SMA Period", type=input.integer, defval=20)
stop_loss = input(title="Stop Loss (%)", type=input.float, defval=1.0)

// 计算SMA指标
sma_value = sma(close, sma_period)

// 进行交易决策
buy_signal = crossover(close, sma_value)
sell_signal = crossunder(close, sma_value)

// 进行买卖操作
if (buy_signal)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Stop Loss", "Buy", stop=close * (1 - stop_loss / 100))
if (sell_signal)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Stop Loss", "Sell", stop=close * (1 + stop_loss / 100))

// 画出SMA指标线
plot(sma_value, title="SMA", color=color.blue)

以下是一个简单的 TradingView Pine 语言脚本,用于计算并绘制移动平均线(SMA):

//@version=4
study(title="Simple Moving Average", shorttitle="SMA")
len = input(title="Length", type=input.integer, defval=20)
src = input(title="Source", type=input.source, defval=close)
sma = sma(src, len)
plot(sma, color=color.blue, linewidth=2)

该脚本首先定义了一个名为 "Simple Moving Average" 的 TradingView 研究。然后,使用 input() 函数定义了两个输入参数:Length 和 Source。Length 参数表示计算 SMA 的时间窗口,Source 参数表示 SMA 的计算数据源。在本例中,使用了默认值 20 和 close 作为 Length 和 Source 的值。

接下来,使用 sma() 函数计算 SMA 并将其赋值给名为 sma 的变量。

最后,使用 plot() 函数将 SMA 画在图表上。plot() 函数用于在 TradingView 中绘制图表对象,例如 SMA、交易信号等。在本例中,使用 color.blue 和 linewidth=2 参数设置了 SMA 的颜色和线宽。

注意,在 TradingView 中,您可以自定义 SMA 的计算参数,例如 ema、wma、hullma 等等。您可以通过调整 sma() 函数的参数来实现自定义 SMA 计算。