
Strategi ini adalah sistem perdagangan yang didasarkan pada fenomena pasar yang tidak biasa, yang terutama memanfaatkan karakteristik perilaku pasar dari penutupan Kamis malam hingga penutupan Jumat. Strategi ini menggunakan waktu masuk dan keluar yang tetap, yang memverifikasi efektivitas model pasar ini dengan pengujian ulang. Strategi ini menggunakan 10% dari dana untuk perdagangan satu kali, dan mempertimbangkan slippoint dan faktor komisi untuk memastikan keaslian hasil pengujian ulang.
Logika inti dari strategi ini didasarkan pada elemen-elemen kunci berikut:
Strategi ini adalah sistem perdagangan klasik yang didasarkan pada fenomena pasar yang tidak biasa, untuk mendapatkan potensi keuntungan melalui manajemen waktu yang ketat dan manajemen dana yang konservatif. Meskipun logika strategi sederhana, risiko yang ditimbulkan oleh perubahan lingkungan pasar masih perlu diperhatikan, dan disarankan untuk mengadopsi kontrol posisi yang lebih konservatif dan mekanisme manajemen risiko yang lebih baik saat melakukan perdagangan langsung.
/*backtest
start: 2024-11-11 00:00:00
end: 2024-12-10 08:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © piirsalu
//@version=5
strategy("Gold Friday Anomaly Strategy",
default_qty_type=strategy.percent_of_equity,
slippage = 1, commission_value=0.0005,
process_orders_on_close = true,
initial_capital = 50000,
default_qty_value=500,
overlay = true)
/////////////////////////////////////////////////////////////////////////////////////
// . USER INPUTS . //
/////////////////////////////////////////////////////////////////////////////////////
// Define backtest start and end dates
st_yr_inp = input(defval=2000, title='Backtest Start Year')
st_mn_inp = input(defval=01, title='Backtest Start Month')
st_dy_inp = input(defval=01, title='Backtest Start Day')
en_yr_inp = input(defval=2025, title='Backtest End Year')
en_mn_inp = input(defval=01, title='Backtest End Month')
en_dy_inp = input(defval=01, title='Backtest End Day')
// Set start and end timestamps for backtesting
start = timestamp(st_yr_inp, st_mn_inp, st_dy_inp, 00, 00)
end = timestamp(en_yr_inp, en_mn_inp, en_dy_inp, 00, 00)
/////////////////////////////////////////////////////////////////////////////////////
// . STRATEGY LOGIC . //
/////////////////////////////////////////////////////////////////////////////////////
// Check if the current day is Friday
isFriday = (dayofweek == dayofweek.friday)
// Initialize a candle counter
var int barCounter = 0
// Increment the candle counter on each new bar
barCounter := barCounter + 1
// Define trading session time ranges
pre_mkt = time(timeframe.period, '0400-0800:23456')
mkt_hrs = time(timeframe.period, '0800-1600:23456')
eod = time(timeframe.period, '1200-1600:23456')
/////////////////////////////////////////////////////////////////////////////////////
// . STRATEGY ENTRY & EXIT . //
/////////////////////////////////////////////////////////////////////////////////////
// Enter a long position on the first candle of Friday within the backtest period
if dayofweek == 4 and time >= start and time <= end
strategy.entry("BuyOnFriday", strategy.long)
// Close the position after holding it for 4 candles
if (barCounter % 1 == 0)
strategy.close("BuyOnFriday")