Strategi Perdagangan Ambang Batas Ukuran Candlestick Simbol Perdagangan

TICKS CST ES NQ CL
Tanggal Pembuatan: 2025-02-21 10:17:23 Akhirnya memodifikasi: 2025-02-27 17:17:35
menyalin: 1 Jumlah klik: 277
2
fokus pada
319
Pengikut

Strategi Perdagangan Ambang Batas Ukuran Candlestick Simbol Perdagangan Strategi Perdagangan Ambang Batas Ukuran Candlestick Simbol Perdagangan

Ringkasan

Strategi ini mengidentifikasi dan memperdagangkan pergerakan harga penting berdasarkan ukuran pivot. Strategi ini memungkinkan kontrol yang tepat dengan menetapkan ambang batas tertentu, jendela waktu perdagangan, dan batas jumlah transaksi per hari. Strategi ini dioptimalkan khusus untuk pasar berjangka dan dapat menangkap perubahan harga yang signifikan pada saat-saat likuiditas tinggi.

Prinsip Strategi

Logika inti dari strategi ini adalah dengan menghitung perbedaan titik tinggi dan rendah untuk setiap pilar dan membandingkannya dengan nilai terendah yang telah ditentukan. Ketika ukuran pilar melebihi nilai terendah dan dalam jendela waktu perdagangan yang ditentukan, sistem akan memicu sinyal perdagangan multi-halus sesuai dengan arah pilar. Untuk mengendalikan risiko, strategi ini membatasi hanya melakukan satu perdagangan per hari dan menetapkan titik stop-loss.

Keunggulan Strategis

  1. Kontrol poin yang tepat - memastikan ketepatan eksekusi transaksi dengan perhitungan tingkat tick
  2. Filter waktu - fokus pada perdagangan pada saat pasar paling aktif
  3. Manajemen risiko - atur titik penundaan yang jelas untuk melindungi dana Anda
  4. Pengendalian frekuensi transaksi - membatasi satu transaksi per hari untuk menghindari overtrading
  5. Tips visual - kabel yang memicu transaksi akan ditampilkan dengan terang untuk memudahkan analisis
  6. Kompatibilitas retrospektif - fitur yang disertakan seperti penyaringan tanggal dan eksekusi waktu untuk memfasilitasi retrospeksi sejarah

Risiko Strategis

  1. Risiko volatilitas pasar - dapat memicu sinyal yang salah selama periode fluktuasi yang kuat
  2. Risiko slippage - perdagangan cepat di pasar berjangka dapat menyebabkan harga transaksi yang sebenarnya menyimpang
  3. Biaya kesempatan - pembatasan satu transaksi per hari dapat melewatkan peluang perdagangan lainnya yang baik
  4. Ketergantungan waktu - efektivitas strategi sangat tergantung pada jendela waktu perdagangan yang dipilih

Arah optimasi strategi

  1. Dynamic threshold - threshold ukuran yang secara otomatis disesuaikan dengan fluktuasi pasar
  2. Multiple time period - menambahkan sinyal konfirmasi untuk beberapa periode waktu
  3. Filter volume transaksi - menambahkan indikator volume transaksi sebagai penilaian tambahan
  4. Indikator sentimen pasar - mengevaluasi kondisi pasar dengan indikator seperti volatilitas
  5. Adaptive Stop Loss - Stop loss yang diatur secara dinamis berdasarkan pergerakan pasar

Meringkaskan

Strategi ini menyediakan sistem perdagangan yang andal untuk perdagangan berjangka dengan kontrol poin yang tepat dan penyaringan waktu yang ketat. Keunggulan strategi ini adalah ketepatan dan kontrol risiko yang dilakukan, tetapi juga memerlukan pengoptimalan parameter oleh pedagang sesuai dengan varietas dan situasi pasar tertentu. Strategi ini dapat meningkatkan fleksibilitas dan stabilitasnya dengan arah optimasi yang disarankan.

Kode Sumber Strategi
/*backtest
start: 2025-02-15 01:00:00
end: 2025-02-20 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © omnipadme

//@version=5
strategy("Futures Candle Size Strategy (Start Trading on Jan 1, 2025)", overlay=true)

// Input for candle size threshold in ticks
candleSizeThresholdTicks = input.float(25, title="Candle Size Threshold (Ticks)", minval=1)

// Input for take profit and stop loss in ticks
takeProfitTicks = input.float(50, title="Take Profit (Ticks)", minval=1)
stopLossTicks = input.float(40, title="Stop Loss (Ticks)", minval=1)

// Time filter for trading (e.g., 7:00 AM to 9:15 AM CST)
startHour = input.int(7, title="Start Hour (CST)", minval=0, maxval=23)
startMinute = input.int(0, title="Start Minute (CST)", minval=0, maxval=59)
endHour = input.int(9, title="End Hour (CST)", minval=0, maxval=23)
endMinute = input.int(15, title="End Minute (CST)", minval=0, maxval=59)

// Tick size of the instrument (e.g., ES = 0.25)
tickSize = syminfo.mintick

// Convert tick inputs to price levels
candleSizeThreshold = candleSizeThresholdTicks * tickSize
takeProfit = takeProfitTicks * tickSize
stopLoss = stopLossTicks * tickSize

// Time range calculation
startTime = timestamp("GMT-6", year(timenow), month(timenow), dayofmonth(timenow), startHour, startMinute)
endTime = timestamp("GMT-6", year(timenow), month(timenow), dayofmonth(timenow), endHour, endMinute)
inTimeRange = (time >= startTime and time <= endTime)

// Filter to start trading only from January 1, 2025
startTradingDate = timestamp("GMT-6", 2025, 1, 1, 0, 0)
isValidStartDate = time >= startTradingDate

// Calculate the candle size for the current candle
candleSize = math.abs(high - low)

// Track whether a trade has been executed for the day
var hasTradedToday = false
isNewDay = dayofweek != dayofweek[1]  // Detect new day

// Reset `hasTradedToday` at the start of a new day
if isNewDay
    hasTradedToday := false

// Trigger condition for futures trading (only if no trade has been executed today)
triggerCondition = isValidStartDate and inTimeRange and candleSize >= candleSizeThreshold and not hasTradedToday

// Entry logic: If condition is met, enter a trade
if triggerCondition
    hasTradedToday := true  // Mark as traded for the day
    if close > open  // Bullish candle
        strategy.entry("Buy", strategy.long)
    if close < open  // Bearish candle
        strategy.entry("Sell", strategy.short)

// Set take profit and stop loss
strategy.exit("Exit Long", from_entry="Buy", limit=close + takeProfit, stop=close - stopLoss)
strategy.exit("Exit Short", from_entry="Sell", limit=close - takeProfit, stop=close + stopLoss)

// Alerts for triggered condition
if triggerCondition
    alert("Candle size is " + str.tostring(candleSizeThresholdTicks) + " ticks or greater. Trade initiated.", alert.freq_once_per_bar)

// Color the alert candle white
barcolor(triggerCondition ? color.white : na)

// Visual aids for backtesting
bgcolor(isValidStartDate and inTimeRange ? color.new(color.green, 90) : na, title="Time and Date Range Highlight")