Laruent Channelの指標に基づいた逆転取引戦略です.過去の一定の期間における最高値と最低値を計算し,現在の価格が過買いまたは過売り領域にあるかどうかを判断します.価格が上または下レールに近い場合は,反対方向にポジションを開き,価格が中間線に戻るのを待っています.
この戦略は主に2つの指標に基づいています.%R インディケーター (%R)そしてラルーント運河の鉄道.
PercentR インディケーターは,現在の閉店価格と最近で最も高い価格と最も低い価格の間の距離を示します. 値範囲は0から-100です. 0に近い値は,現在の閉店価格が最近最も高い点に近いことを意味します. そして -100に近い値は,現在の閉店価格が最近最も低い価格に近いことを意味します.
ラルーント運河は,上線,中線,下線からなる.上線は,最も最近の期間の最高価格に等しい.下線は,その期間の最低価格に等しい.中線は,上線と下線の平均値である.価格が上線を超えると,過剰購入とみなされる.価格が下線以下であれば,過剰販売とみなされる.
戦略はまず,%R インディケーターそしてラルーント運河の鉄道, 2つの指標を使用して,現在の状態が過買いまたは過売れているかどうかを判断します:
現在の状態が過買いでも過売れでもなければ 市場がオープンして 市場が閉まる前には ポジションを閉じます
価格の逆転を把握することで 短期的に利益を得ることができます
パラメータを最適化したり,注文の配達時間を調整したり,他の指標と組み合わせたりすることでリスクを軽減できます.
一般的には,この戦略は非常にシンプルで実用的です.逆転取引のアイデアに基づいて設計され,短期間の頻繁な取引に適しています.最適化のための大きな余地があります.組み合わせのためにより多くの技術指標を導入することができます.また,リスクを制御するために自動ストップ損失メカニズムも確立できます.
/*backtest start: 2023-11-04 00:00:00 end: 2023-12-04 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ //@version=4 // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © zweiprozent original strategy by larry williams strategy("Daily PercentR Strategy", overlay=false) D_High = security(syminfo.tickerid, 'D', high[1]) D_Low = security(syminfo.tickerid, 'D', low[1]) D_Close = security(syminfo.tickerid, 'D', close[1]) D_Open = security(syminfo.tickerid, 'D', open[1]) LowMarker = input(-87,"Low Marker",input.integer) HighMarker = input(-20,"High Marker",input.integer) length = input(title="Length", type=input.integer, defval=3) src = input(close, "Source", type = input.source) _pr(length) => max = highest(length) min = lowest(length) 100 * (src - max) / (max - min) percentR = _pr(length) obPlot = hline(LowMarker, title="Upper Band", color=#606060) hline(-50, title="Middle Level", linestyle=hline.style_dotted, color=#606060) osPlot = hline(HighMarker, title="Lower Band", color=#606060) fill(obPlot, osPlot, title="Background", color=color.new(#9915ff, 90)) plot(percentR, title="%R", color=#3A6CA8, transp=0) // Go Long - if percentR is not overbought/sold ordersize=floor(strategy.equity/close) if percentR<HighMarker and percentR>LowMarker strategy.entry("Long", strategy.long,comment="Long") //exit at end of session if low[0]<high[0] strategy.close("Long", comment="exit")