
Idea teras strategi ini adalah untuk melakukan operasi pembelian apabila harga tutup harga saham lebih tinggi daripada harga bukaan. Apabila syarat pembelian dipenuhi, strategi akan memasuki posisi berlebih dengan harga tutup pada penutupan K. Kemudian menetapkan harga hentikan kerugian dan harga hentikan, apabila harga menyentuh kedua-dua harga ini, ia akan ditutup.
Harga penutupan garisan K pada hari itu lebih tinggi daripada harga pembukaan, menunjukkan bahawa harga saham pada hari itu meningkat. Ini adalah isyarat membeli. Harga penutupan menembusi harga pembukaan pada hari itu, menunjukkan kekuatan pembeli agak kuat, dan harga saham dijangka terus meningkat.
Oleh itu, isyarat perdagangan strategi ini adalah: harga penutupan K hari > harga pembukaan K hari. Apabila syarat ini dipenuhi, beli pada harga penutupan K pada hari penutupan K dan teruskan hari.
Strategi ini menggunakan dua parameter:
Entry Price: harga pembelian, 0 secara lalai, yang menunjukkan pembelian pada harga penutupan
Take Profit Parameter: Parameter penutupan, formula pengiraan harga penutupan adalah: Entry Price * (1 + parameter penutupan), dengan nilai lalai 0.5%, bersamaan dengan 0.5% daripada harga beli
Proses transaksi adalah seperti berikut:
Strategi ini mempunyai kelebihan berikut:
Strategi ini juga mempunyai risiko:
Dalam hal ini, risiko boleh dikurangkan dengan:
Strategi ini boleh dioptimumkan dengan:
Strategi ini berdasarkan penembusan harga penutupan untuk menghasilkan isyarat beli, konsepnya mudah, risiko penarikan baliknya lebih kecil. Dengan cara menambahkan penunjuk pengesahan, hentian berhenti dinamik, dan pengoptimuman parameter, anda dapat meningkatkan lagi kestabilan dan keuntungan strategi. Secara keseluruhan, strategi ini sesuai untuk digunakan dan dioptimumkan oleh pelabur yang berminat untuk melakukan strategi penembusan terbuka.
/*backtest
start: 2024-02-19 00:00:00
end: 2024-02-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Buy on Close Strategy", overlay=true)
// Входные параметры
var float entry_price = na
if (na(entry_price))
entry_price := input.float(title="Entry Price", defval=0)
// Функция для расчета Take Profit
calc_take_profit(price) =>
price * 1.005 // 0.5% от суммы сделки
// Проверяем условие для открытия позиции на покупку
buy_condition = close > open
// Переменная для отслеживания открытой позиции
var bool open_position = na
// Реализация стратегии
if (buy_condition)
// Открываем сделку на покупку
strategy.entry("Buy", strategy.long)
open_position := true
// Закрываем позицию по Take Profit или при закрытии свечи
if (open_position)
// Рассчитываем уровень Take Profit
take_profit_level = calc_take_profit(entry_price)
// Закрываем сделку по Take Profit
strategy.exit("Take Profit", "Buy", limit=take_profit_level)
// Закрываем сделку при закрытии свечи
if (close < open)
strategy.close("Close Candle", "Buy")