
This strategy realizes long position breakout trading on the 4-hour line of Tesla by setting simple K-line pattern judgment rules. The strategy has the advantages of simple implementation, clear logic, easy to understand, etc.
The core judgment logic of the strategy is based on the following 4 K-line pattern rules:
When all 4 rules are met at the same time, a long position opening operation is performed.
In addition, the strategy also sets stop loss and take profit to close positions when price triggers stop loss or take profit conditions.
The strategy has the following advantages:
The main risks to note are:
The following methods can be adopted to mitigate risks:
Potential optimization directions for the strategy include:
This strategy realizes long breakthrough trading using simple K-line pattern rules. Although there is some room left for improvement, from the perspective of simplicity and directness, it is a very suitable long position strategy for beginners to understand and use. With continuous optimizations, the strategy performance can be further enhanced.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
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/
// © TheQuantScience
//@version=5
strategy("SimpleBarPattern_LongOnly", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.EUR, initial_capital = 1000, commission_type = strategy.commission.percent, commission_value = 0.03)
// Make input options that configure backtest date range
startDate = input.int(title="Start Date",
defval=1, minval=1, maxval=31)
startMonth = input.int(title="Start Month",
defval=1, minval=1, maxval=12)
startYear = input.int(title="Start Year",
defval=2017, minval=1800, maxval=2100)
endDate = input.int(title="End Date",
defval=8, minval=1, maxval=31)
endMonth = input.int(title="End Month",
defval=3, minval=1, maxval=12)
endYear = input.int(title="End Year",
defval=2022, minval=1800, maxval=2100)
// Look if the close time of the current bar
// Falls inside the date range
inDateRange = true
// Setting Conditions
ConditionA = low < open
ConditionB = low < low[1]
ConditionC = close > open
ConditionD = close > open[1] and close > close[1]
FirstCondition = ConditionA and ConditionB
SecondCondition = ConditionC and ConditionD
IsLong = FirstCondition and SecondCondition
TakeProfit_long = input(4.00)
StopLoss_long = input(4.00)
Profit = TakeProfit_long*close/100/syminfo.mintick
Loss = StopLoss_long*close/100/syminfo.mintick
EntryCondition = IsLong and inDateRange
// Trade Entry&Exit Condition
if EntryCondition and strategy.opentrades == 0
strategy.entry(id = 'Open_Long', direction = strategy.long)
strategy.exit(id = "Close_Long", from_entry = 'Open_Long', profit = Profit, loss = Loss)