
Strategi ini adalah strategi perdagangan awan Ichimoku multi-headed. Ini membuka posisi lebih banyak saat melintasi garis dasar di garis konversi, dan membuka posisi lebih rendah saat melintasi garis konversi di bawah garis dasar. Selain itu, pada saat membuka posisi dan posisi yang aman, Span yang tertinggal juga akan terdeteksi. Jika Span yang tertinggal lebih tinggi dari awan, maka posisi akan dibuka, dan posisi yang lebih rendah dari awan akan kosong.
Strategi ini menggunakan beberapa garis dari indikator teknis Ichimoku.
Garis konversi: rata-rata harga tertinggi dan terendah selama 9 hari terakhir, yang mewakili konversi tren selama periode tertentu.
Benchmark: rata-rata harga tertinggi dan terendah dalam 26 hari terakhir, yang mewakili pergerakan harga rata-rata dalam periode tertentu.
Garis depan A: rata-rata garis konversi dan garis acuan.
Garis depan B: rata-rata harga tertinggi dan terendah dalam 52 hari terakhir, mewakili indikator awal tren jangka menengah dan panjang.
Lagging Span: harga penutupan saat ini, terlambat 26 hari.
Pada saat membuka posisi, harus memenuhi persyaratan untuk melewati garis acuan dan Span yang tertinggal di atas lapisan awan pada garis konversi. Ini berarti bahwa tren jangka pendek dan jangka menengah adalah sinyal ke atas.
Pada posisi yang merata, harus memenuhi persyaratan untuk melintasi garis konversi di bawah garis acuan dan Span yang tertinggal di bawah lapisan awan. Ini berarti bahwa tren telah berbalik dan harus keluar dari posisi.
Menggunakan indikator awan Ichimoku untuk menilai tren, akurasi yang lebih tinggi.
Ini adalah salah satu cara yang paling efektif untuk mengidentifikasi dan mengidentifikasi kesalahan.
Ini adalah salah satu dari beberapa cara yang bisa dilakukan untuk mendapatkan uang digital.
Kondisi penyaringan relatif ketat, untuk mencapai kualitas sinyal yang lebih tinggi.
Posisi hanya dapat dipenuhi atau kosong, dan tidak dapat disesuaikan dengan ukuran posisi.
Ini adalah salah satu dari beberapa hal yang dapat Anda lakukan di pasar bullish, tetapi risiko kerugian besar di pasar bearish.
Parameter default untuk cryptocurrency, perlu disesuaikan untuk varietas lain.
Ini adalah salah satu alasan mengapa banyak orang yang tidak tahu apa-apa tentang Forex.
Menambahkan fungsi penyesuaian posisi, menutup sebagian posisi ketika kerugian mencapai proporsi tertentu.
Menambahkan sinyal jual, posisi kosong di bawah dukungan kunci, mengurangi kerugian.
Pengaturan parameter yang dioptimalkan, sehingga dapat beradaptasi dengan lebih banyak varietas, meningkatkan stabilitas.
Menambahkan fungsi stop loss, untuk menghentikan kerugian saat mencapai nilai terendah.
Strategi ini memiliki akurasi yang lebih tinggi dalam menilai tren sebagai strategi perdagangan awan Ichimoku multi-kepala. Ini menggabungkan beberapa garis Ichimoku sebagai kondisi penyaringan sekaligus, yang dapat menentukan titik perubahan tren dengan lebih andal. Strategi ini sangat cocok untuk varietas yang naik di garis panjang, seperti cryptocurrency. Dengan memperbaiki lebih lanjut fitur-fitur seperti stop loss, penyaringan, dan lain-lain, kemampuan pengendalian risiko strategi ini dapat ditingkatkan, sesuai dengan lebih banyak varietas dan lingkungan pasar yang lebih luas.
/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 1h
basePeriod: 15m
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/
// Simple long-only Ichimoku Cloud Strategy
// Enter position when conversion line crosses base line up, and close it when the opposite happens.
// Additional condition for open / close the trade is lagging span, it should be higher than cloud to open position and below - to close it.
//@version=4
strategy("Ichimoku Cloud Strategy Long Only", shorttitle="Ichimoku Cloud Strategy (long only)", overlay=true )
conversion_length = input(9, minval=1, title="Conversion Line Periods"),
base_length = input(26, minval=1, title="Base Line Periods")
lagging_length = input(52, minval=1, title="Lagging Span 2 Periods"),
delta = input(26, minval=1, title="Delta")
average(len) => avg(lowest(len), highest(len))
conversion_line = average(conversion_length) // tenkan sen - trend
base_line = average(base_length) // kijun sen - movement
lead_line_a = avg(conversion_line, base_line) // senkou span A
lead_line_b = average(lagging_length) // senkou span B
lagging_span = close // chikou span - trend / move power
plot(conversion_line, color=color.blue, linewidth=2, title="Conversion Line")
plot(base_line, color=color.white, linewidth=2, title="Base Line")
plot(lagging_span, offset = -delta, color=color.purple, linewidth=2, title="Lagging Span")
lead_line_a_plot = plot(lead_line_a, offset = delta, color=color.green, title="Lead 1")
lead_line_b_plot = plot(lead_line_b, offset = delta, color=color.red, title="Lead 2")
fill(lead_line_a_plot, lead_line_b_plot, color = lead_line_a > lead_line_b ? color.green : color.red)
// Strategy logic
long_signal = crossover(conversion_line,base_line) and ((lagging_span) > (lead_line_a)) and ((lagging_span) > (lead_line_b))
short_signal = crossover(base_line, conversion_line) and ((lagging_span) < (lead_line_a)) and ((lagging_span) < (lead_line_b))
strategy.entry("LONG", strategy.long, when=strategy.opentrades == 0 and long_signal, alert_message='BUY')
strategy.close("LONG", when=strategy.opentrades > 0 and short_signal, alert_message='SELL')
// === Backtesting Dates === thanks to Trost
testPeriodSwitch = input(true, "Custom Backtesting Dates")
testStartYear = input(2021, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, 0)
testStopYear = input(2021, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(1, "Backtest Stop Day")
testStopHour = input(0, "Backtest Stop Hour")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, testStopHour, 0)
testPeriod() => true
testPeriod_1 = testPeriod()
isPeriod = testPeriodSwitch == true ? testPeriod_1 : true
// === /END
if not isPeriod
strategy.cancel_all()
strategy.close_all()