Esta estrategia adopta un enfoque de entrada dual. Después de la primera entrada, si el precio no alcanza el primer nivel de toma de ganancias, volverá a entrar a un precio más alto para lograr el efecto de agregar posiciones. Al mismo tiempo, la estrategia adopta un método de media de pérdida de parada de posición para actualizar la línea de stop loss en tiempo real y establecerla a un cierto porcentaje por encima del precio de entrada promedio para bloquear las ganancias y controlar los riesgos.
La estrategia primero juzga si el precio está por debajo de la media móvil simple de 200 días. Si es así, se cumplen los criterios de entrada. La estrategia entra entre las 14:29 y las 15:00 todos los días para formar la primera entrada. Después de eso, la estrategia trazará las primeras líneas de toma de ganancias y stop loss.
Si el precio sube pero no alcanza el primer objetivo de toma de ganancias, volverá a entrar en un 5% por encima del primer precio de entrada para agregar posiciones. En este punto, la estrategia actualizará la línea de stop loss a 1,15 veces el precio promedio de mantenimiento actual. Al mismo tiempo, se trazará la segunda línea de toma de ganancias.
La estrategia puede bloquear las ganancias a través de dos objetivos de ganancias y de stop loss, mientras se obtienen más ganancias mediante la adición de posiciones.
La estrategia tiene las siguientes ventajas:
La adopción del método de doble entrada adicional puede obtener mayores rendimientos sin aumentar los riesgos.
Actualización en tiempo real de la posición de la línea de stop loss.
Abriendo posiciones en una tendencia bajista, tiene cierta capacidad de negociación contra tendencia.
El tiempo de entrada razonable y los niveles de precios evitan quedar atrapados.
Los parámetros razonables, los niveles ajustados de toma de ganancias y de stop loss significan una alta relación riesgo-recompensa.
La estrategia también tiene algunos riesgos:
Si ambas entradas alcanzan el stop loss, la pérdida sería mayor.
Si el nivel de stop loss se establece incorrectamente, puede fallar en el control efectivo de los riesgos y dar lugar a pérdidas inaceptables.
Si la hora de entrada se elige mal, puede resultar en una entrada adversa y una mayor probabilidad de quedar atrapado.
Los parámetros no razonables como tomar ganancias demasiado lejos o detener pérdidas demasiado cerca pueden reducir las ganancias.
Estos riesgos podrían reducirse y evitarse mediante una optimización razonable de los parámetros y un estricto control del riesgo.
La estrategia también puede optimizarse en los siguientes aspectos:
Prueba diferentes indicadores técnicos como señales de entrada para encontrar mejores puntos de entrada.
Prueba y optimiza los niveles de toma de ganancias y stop loss para maximizar la relación riesgo-recompensa.
Prueba diferentes métodos de adición para determinar los múltiplos de adición óptimos.
Añadir reglas de evaluación de tendencias para evitar las entradas de contratrend.
Optimizar la selección de los períodos de entrada para garantizar la ausencia de entradas adversas.
En general, esta estrategia es muy práctica y tiene un fuerte significado práctico. El método de doble entrada puede obtener mayores rendimientos mientras controla los riesgos. La posición promediando el stop loss puede bloquear las ganancias y controlar los riesgos de manera efectiva. Con una optimización razonable de parámetros y un estricto control de riesgos, esta estrategia puede lograr un alfa estable y consistente.
/*backtest start: 2023-11-23 00:00:00 end: 2023-11-28 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // @version=4 strategy("8 Whittle Down", "8 WD", 1, initial_capital=0) // DUAL ENTRIES // ADDS ON MORE SHARES IF THE PILOT TRADE DOES NOT REACH PROFIT TARGET // RED LINE == STOP LOSS LINE // GREEN LINE == PROFIT TARGET FOR THE 1ST TRADE // YELLOW LINE == ADD ON SHARES TO THE TRADE // WHITE LINE == PROFIT TARGET FOR THE 1ST & SECOND TRADE COMBINED StopLossPerc = input(1.15, "Total Stop Loss", step=0.01) T2EntTrgPerc = input(1.05, "Enter Second trade @ what higher 5%?", step=0.01) // BUY STOP LIMIT ONLY WHEN ONE TRADE IS ALREADY OPEN & AIMS TO BUY DOUBLE THE OWNED SHARES AT A HIGHER ENTRY PRICE // YELLOW LINE T1ProfTrgPerc = input(0.95, "First Trade Profit % Target", step=0.01) T2ProfTrgPerc = input(0.90, "Second Trade Profit % Target", step=0.01) RiskRange = close*(StopLossPerc)-1 Shares = floor(1000*1000/RiskRange) / 3 // SPLITS THE RISK OVER THREE TRADES F1 = close < sma(security(syminfo.tickerid, "D", close[2]), 200) // HIGH OF OLD DATA -- SO NO REPAINTING F2 = strategy.opentrades == 0 buyTime = time(timeframe.period, "1429-1500") // BUY AT THE END OF THE DAY StopLossLine = strategy.position_avg_price * StopLossPerc StopLossCol = strategy.opentrades != 0 ? #FF0000 : na plot(StopLossLine, "StopLossLine", StopLossCol, 2) strategy.cancel_all() // CANCELS ALL ORDERS: BECAUSE THE SYSTEM WILL ADD A BUY STOP LIMIT ORDER FOR ENTRY TWO ///============== ENTRY 1 ============== if F1 and buyTime and strategy.opentrades == 0 strategy.entry("S1", false, qty=Shares) T1Prof = strategy.position_avg_price * T1ProfTrgPerc plot(T1Prof, "1st Profit Target", strategy.opentrades == 1 ? #00FF00 : na, 2) strategy.exit("S1 Ex", "S1", limit=T1Prof, stop=StopLossLine ) ///============== ENTRY 2 ============== T2EntryTrg = strategy.position_avg_price * T2EntTrgPerc // enters on higher target than 1st entry plot(T2EntryTrg, "ent2EntryTrg", strategy.opentrades == 1 ? color.yellow : na, 2) if strategy.opentrades == 1 strategy.order("S2", false, stop=T2EntryTrg, limit= T2EntryTrg, qty=Shares * 2) // BUYS MORE SHARES T2Prof = strategy.position_avg_price * T2ProfTrgPerc T2Col = strategy.opentrades == 2 ? color.white : na plot(T2Prof, "2nd Profit Target", T2Col, 2) strategy.exit("S2 Ex", "S2", limit=T2Prof, stop=StopLossLine )