
La estrategia se basa en una diferencia de nivel de marco de tiempo múltiple en la línea media, sigue la tendencia de la línea media larga, adopta el modelo de seguimiento de posiciones de diferencia de nivel, y logra un crecimiento indexal del capital. La mayor ventaja de la estrategia es que puede capturar la tendencia de la línea media larga y realizar un seguimiento por etapas, lo que permite obtener ganancias adicionales.
Esto es lo que se llama la lógica básica de la estrategia.
En general, esta estrategia es muy adecuada para capturar la tendencia de la línea larga de la situación, el uso de seguimiento por etapas por lotes, puede obtener beneficios excedentarios muy altos en relación con el riesgo y la ganancia. Al mismo tiempo, existe cierto riesgo operativo, que debe controlarse mediante el ajuste de parámetros, etc., para encontrar un equilibrio entre los beneficios y el riesgo. En general, la estrategia es muy digna de ser comprobada en la práctica, y se puede ajustar y optimizar en función de los resultados de la prueba.
/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 1m
basePeriod: 1m
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/
// © Coinrule
//@version=3
strategy(shorttitle='Pyramiding Entry On Early Trends',title='Pyramiding Entry On Early Trends (by Coinrule)', overlay=false, pyramiding= 7, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 20, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month")
fromDay = input(defval = 10, title = "From Day")
fromYear = input(defval = 2020, title = "From Year")
thruMonth = input(defval = 1, title = "Thru Month")
thruDay = input(defval = 1, title = "Thru Day")
thruYear = input(defval = 2112, title = "Thru Year")
showDate = input(defval = true, title = "Show Date Range")
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
//MA inputs and calculations
inSignal=input(9, title='MAfast')
inlong1=input(100, title='MAslow')
inlong2=input(200, title='MAlong')
MAfast= sma(close, inSignal)
MAslow= sma(close, inlong1)
MAlong= sma(close, inlong2)
Bullish = crossover(close, MAfast)
longsignal = (Bullish and MAfast > MAslow and MAslow < MAlong and window())
//set take profit
ProfitTarget_Percent = input(3)
Profit_Ticks = (close * (ProfitTarget_Percent / 100)) / syminfo.mintick
//set take profit
LossTarget_Percent = input(3)
Loss_Ticks = (close * (LossTarget_Percent / 100)) / syminfo.mintick
//Order Placing
strategy.entry("Entry 1", strategy.long, when = (strategy.opentrades == 0) and longsignal)
strategy.entry("Entry 2", strategy.long, when = (strategy.opentrades == 1) and longsignal)
strategy.entry("Entry 3", strategy.long, when = (strategy.opentrades == 2) and longsignal)
strategy.entry("Entry 4", strategy.long, when = (strategy.opentrades == 3) and longsignal)
strategy.entry("Entry 5", strategy.long, when = (strategy.opentrades == 4) and longsignal)
strategy.entry("Entry 6", strategy.long, when = (strategy.opentrades == 5) and longsignal)
strategy.entry("Entry 7", strategy.long, when = (strategy.opentrades == 6) and longsignal)
if (strategy.position_size > 0)
strategy.exit(id="Exit 1", from_entry = "Entry 1", profit = Profit_Ticks, loss = Loss_Ticks)
strategy.exit(id="Exit 2", from_entry = "Entry 2", profit = Profit_Ticks, loss = Loss_Ticks)
strategy.exit(id="Exit 3", from_entry = "Entry 3", profit = Profit_Ticks, loss = Loss_Ticks)
strategy.exit(id="Exit 4", from_entry = "Entry 4", profit = Profit_Ticks, loss = Loss_Ticks)
strategy.exit(id="Exit 5", from_entry = "Entry 5", profit = Profit_Ticks, loss = Loss_Ticks)
strategy.exit(id="Exit 6", from_entry = "Entry 6", profit = Profit_Ticks, loss = Loss_Ticks)
strategy.exit(id="Exit 7", from_entry = "Entry 7", profit = Profit_Ticks, loss = Loss_Ticks)