この戦略は,一目平衡表 ((Ichimoku Kinko Hyo) を使って多取引する.平衡表の複数の要素を総合的に考慮し,条件を満たす時に多取引する.
取引の論理は以下の通りです.
変換線,基準線,先導線1,先導線2を計算する
閉店価格がクラウドよりも高く,クラウドが上昇し,変換線がベースラインよりも高く,追加を考慮する
さらに,遅延線は雲と価格より高く,上昇傾向を保証します.
上記の条件が満たされている場合,再入学してください.
遅延線が価格以下またはクラウド以下に下がれば,平仓
この戦略は,一見均衡表の複数の指標を充分活用してトレンドを確認し,雲層を動的ストップポイントとして,リスクを効果的に制御します.
一見均衡表 総合的な多要素判断傾向
ダイナミック・ストップ・ロスト,最大限利潤をロックする
規則はシンプルで明確で 実行しやすい
ランキングが遅いから,チャンスを逃すかもしれない.
パラメータ周期を慎重に設定する
余分な仕事をするだけで,良い空き職を逃してしまうかもしれない.
この戦略は,一見均衡表の多指標特性を利用してトレンドの方向を決定する.最適化パラメータに基づいて,簡単な多行ルールを提供する.しかし,その遅れや多行のみの限界は,依然として注意しなければならない.
/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Ichimoku Cloud", shorttitle="Doubled Ichimoku", overlay=true, initial_capital=1000, default_qty_value=100, default_qty_type=strategy.percent_of_equity)
conversionPeriods = input(20, minval=1, title="Conversion Line Length")
basePeriods = input(60, minval=1, title="Base Line Length")
laggingSpan2Periods = input(120, minval=1, title="Leading Span B Length")
displacement = input(30, minval=1, title="Displacement")
Stoploss = input(1, minval=0.1, title="Stoploss (% below cloud)")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
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")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))
bool TKcross = conversionLine > baseLine
bool aboveCloud = close > leadLine1 and close > leadLine2
bool greenCloud = leadLine1 > leadLine2
bool lagLong = close > leadLine1[2*displacement+1] and close > leadLine2[2*displacement+1] and close > close[displacement]
bool longCondition = false
bool close_trade = crossover(leadLine1[displacement], close) or crossover (leadLine2[displacement], close) or close < close[displacement] or crossover(baseLine, close)
var position_count = 0
if (TKcross and aboveCloud and greenCloud and lagLong and position_count==0)
position_count = 1
strategy.entry(id="buy", long=true)
if (close_trade)
strategy.close_all()
// strategy.entry(id="sell", long=false)
position_count = 0
//if (longCondition)
// strategy.close("long", when=exit_trade)
// strategy.exit("exit","long",stop=stop_level,limit=profit_level)