イチモク・クラウド・トレンド 戦略をフォローする

作者: リン・ハーンチャオチャン,日付: 2024-02-27 16:41:02
タグ:

img

概要

イチモク・クラウドのトレンドフォロー戦略は,技術分析戦略である.市場トレンド方向,サポート/レジスタンスレベル,エントリータイミングを決定するために,イチモク・クラウドの5つの指標線を使用する.

原則

基本指標は以下の通りである.

  1. 換算線: 最低値と最高値の9日間の平均値で,短期トレンドを反映する.
  2. ベーシックライン: 中期から長期間の傾向を反映した最高高値と最低低値の26日間の平均.
  3. リードスパンA: 変換とベースラインの間の平均値で,中期サポートとレジスタンスを判断し,26日前後移した.
  4. リードスパンB: 52日間の最高値と最低値の平均は,長期サポートとレジスタンスを判断して 26日前に移動しました.
  5. 遅延期間: 価格が26日後退し,トレンドの勢いを反映した.

換算線がベースラインの上を横切ったときに発する購入信号.ベースラインを下を横切ったときに発する売却信号.価格の上を滞留するスパンと緑色の雲は牛傾向を示します.

トレンド方向は,変換とベースラインの関係に基づいて判断する.例えば,変換ラインがベースラインを上向きに突破すると,牛傾向を示す.遅延スパンプも価格以上であれば,ロングエントリーが誘発される.

Leading Span A またはベースラインに基づいてストップ・ロスを設定するか,利益を取ります.もしストップ・ロスをベースラインに選択した場合,価格がベースライン以下に突破するとポジションを閉じる.

利点分析

その利点には,以下が含まれます.

  1. より高い精度のために複数の指標を使用します.
  2. リード・スパンは サポート/レジスタンスレベルを予測します
  3. 遅延スパン 誤ったブレイクを防ぐためにモメントを検証します
  4. 中期・長期指標としてベースラインはノイズを減らす.

リスク と 改善

主なリスクは 誤った信号です

  1. 平均周期を調整して 微調整感度を調整します
  2. MACDやボリンジャー帯のようなフィルターを追加します.
  3. 中期・長期のトレンドに従うため,取引頻度が低くなります.

結論

イチモク・クラウドは,市場動向を判断するための指標を組み合わせます.短期的な勢いと中期・長期的動向の両方を考慮します.変換とベースラインは取引信号を決定します.ベースラインは利益とリスクを制御するためにストップロスを設定します.この戦略は中期・長期的トレンドに適合します.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Ichimoku Cloud - BitBell", shorttitle="Ichimoku Cloud - BitBell", overlay=true)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(26, minval=1, title="Lagging Span")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine1bbbbb = math.avg(conversionLine, baseLine)[displacement - 1]
plot(leadLine1bbbbb)
leadLine2 = donchian(laggingSpan2Periods)
leadLine2bbbbbb = donchian(laggingSpan2Periods)[displacement - 1]
plot(leadLine2bbbbbb)

support = leadLine1bbbbb > leadLine2bbbbbb
Resistance = leadLine1bbbbb < leadLine2bbbbbb


TrailStop = input.string(title='Choose Trail Line', options=["ConversionLine", "BaseLine"], defval="ConversionLine")





var stopLong = 0.0
var stopShort = 0.0
var TagetLong = 0.0
var TargetShort = 0.0


if close > leadLine1bbbbb and close > leadLine2bbbbbb and conversionLine[1] <= baseLine[1] and conversionLine > baseLine and close > conversionLine and support
	strategy.entry("Long",strategy.long)
	stopLong := conversionLine
// if close < stopLong and strategy.position_size > 0 
// 	strategy.close("Long")
// 	stopLong := 0.0
if (close < conversionLine and strategy.position_size > 0) and (TrailStop == 'ConversionLine')
	strategy.close("Long")
	stopLong := 0.0
if (close < baseLine and strategy.position_size > 0) and (TrailStop == 'BaseLine')
	strategy.close("Long")
	stopLong := 0.0

if close < leadLine1bbbbb and close < leadLine2bbbbbb and conversionLine[1] >= baseLine[1] and conversionLine < baseLine and close < conversionLine and Resistance
	strategy.entry("Short",strategy.short)
	stopShort := conversionLine
// if close > stopShort and strategy.position_size < 0 
// 	strategy.close("Short")
// 	stopShort := 0.0
if (close > conversionLine and strategy.position_size < 0) and (TrailStop == 'ConversionLine')
	strategy.close("Short")
	stopShort := 0.0
if (close > baseLine and strategy.position_size < 0) and (TrailStop == 'BaseLine')
	strategy.close("Short")
	stopShort := 0.0
// if close >= 1.0006 * strategy.position_avg_price and strategy.position_size > 0 
// 	strategy.close("Long")
// 	stopLong := 0.0
plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")
plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
	 title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
	 title="Leading Span B")
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none) 
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none) 
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

もっと