
Die Kernidee der Strategie besteht darin, einen Kauf zu tätigen, wenn der Schlusskurs der Aktie höher als der Eröffnungskurs ist. Wenn die Kaufbedingungen erfüllt sind, wird die Strategie zum Schlusskurs der K-Linie in die Überposition eingegeben. Danach wird ein Stop-Loss-Preis und ein Stop-Loss-Preis festgelegt, der platziert wird, wenn der Preis diese beiden Preise erreicht.
Der Schlusskurs der K-Linie an diesem Tag ist höher als der Eröffnungskurs, was darauf hindeutet, dass der Aktienkurs an diesem Tag gestiegen ist. Dies ist ein Kaufsignal.
Daher lautet das Handelssignal für diese Strategie: K-Linie-Schlusskurs am Tag > K-Linie-Schlusskurs am Tag. Wenn diese Bedingung erfüllt ist, wird am Schlusskurs dieser K-Linie gekauft und am Tag gehalten.
Diese Strategie basiert auf zwei Parametern:
Eintrittspreis: Kaufpreis, 0 ist die Default, der den Kauf zum Schlusskurs angibt
Take Profit Parameter: Stop-Loss-Parameter, der Stop-Loss-Preis wird berechnet nach der Formel: Entry Price * (1 + Stop-Loss-Parameter), der Standardwert ist 0,5%, was 0,5% des Kaufpreises entspricht
Die Transaktionsprozesse sind wie folgt:
Diese Strategie hat folgende Vorteile:
Die Strategie birgt auch Risiken:
Das Risiko kann durch folgende Maßnahmen verringert werden:
Diese Strategie kann optimiert werden durch:
Diese Strategie basiert auf einem Breakout-Buy-Signal, ist einfach in der Konzeption und mit geringem Rücknahme-Risiko. Durch die Zugabe von Bestätigungsindikatoren, dynamischen Stop-Losses und Parameteroptimierungen können die Stabilität und die Ertragsfähigkeit der Strategie weiter verbessert werden. Insgesamt ist diese Strategie für Investoren geeignet, die an einem Breakout-Betrieb interessiert sind.
/*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")