该策略是一个非常简单的短线交易策略,主要适用于股指的日线交易。它只进行多头交易,在股指处于长期上涨通道,短期出现反转信号时建仓做多。
该策略主要基于均线和RSI指标判断趋势和超买超卖现象。具体交易信号为:股指收盘价上抵长期200日均线且高于其之上,作为长期趋势判断;收盘价跌破10日均线构成短期调整信号;RSI3期指标小于30作为超卖信号。满足上述三个条件时,认为短期调整反转的概率较大,因此做多建仓。
建仓后,根据止损、止盈和短期趋势判断来平仓。如收盘价重新站上10日均线,判断短期调整已经结束,此时主动止盈;如收盘价格出现新的低点,止损退出;收盘价格上涨10%时止盈。
该策略具有以下几个优势:
该策略也存在一些风险:
针对上述风险,可以通过优化周期参数、调整止损止盈比例、增加其他指标判断等方法来改进。
该策略主要可以从以下几个方面进行优化:
该策略总体来说是一个非常简单实用的短线交易策略。它利用股指长期上涨通道和短期调整反转的组合策略,在控制风险的前提下获取超额收益。通过持续优化和把控参数,可以获得更好的效果。
/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tsujimoto0403
//@version=5
strategy("simple pull back", overlay=true,default_qty_type=strategy.percent_of_equity,
default_qty_value=100)
//input value
malongperiod=input.int(200,"長期移動平均BASE200/period of long term sma",group = "パラメータ")
mashortperiod=input.int(10,"長期移動平均BASE10/period of short term sma",group = "パラメータ")
stoprate=input.int(5,title = "損切の割合%/stoploss percentages",group = "パラメータ")
profit=input.int(20,title = "利食いの割合%/take profit percentages",group = "パラメータ")
startday=input(title="バックテストを始める日/start trade day", defval=timestamp("01 Jan 2000 13:30 +0000"), group="期間")
endday=input(title="バックテスを終わる日/finish date day", defval=timestamp("1 Jan 2099 19:30 +0000"), group="期間")
//polt indicators that we use
malong=ta.sma(close,malongperiod)
mashort=ta.sma(close,mashortperiod)
plot(malong,color=color.aqua,linewidth = 2)
plot(mashort,color=color.yellow,linewidth = 2)
//date range
datefilter = true
//open conditions
if close>malong and close<mashort and strategy.position_size == 0 and datefilter and ta.rsi(close,3)<30
strategy.entry(id="long", direction=strategy.long)
//sell conditions
strategy.exit(id="cut",from_entry="long",stop=(1-0.01*stoprate)*strategy.position_avg_price,limit=(1+0.01*profit)*strategy.position_avg_price)
if close>mashort and close<low[1] and strategy.position_size>0
strategy.close(id ="long")