
A estratégia de curto prazo de retorno de mercado é uma estratégia de acompanhamento de tendência. Ela compra um retorno em um mercado de alta e estabelece um grande stop loss para obter lucro. A estratégia se aplica principalmente ao mercado de alta e pode obter lucro extra.
A estratégia primeiro calcula a variação do preço de fechamento no período mais recente, e emite um sinal de compra quando o preço da ação cai acima da amplitude de retorno definida. Ao mesmo tempo, exige que a média móvel seja superior ao preço de fechamento, que é uma condição para confirmar a tendência de alta.
Após a entrada, configure o preço de parada e parada. Se a parada for grande, atenda aos requisitos de fundos suficientes; Se a parada for pequena, saia rapidamente. Quando a parada ou a parada for ativada, saia da posição.
A estratégia tem as seguintes vantagens:
A estratégia também traz alguns riscos:
Controle: controle rigoroso do tamanho da posição, ajuste da amplitude do stop loss, redução apropriada da taxa de retirada do stop loss, redução do risco.
A estratégia pode ser melhorada em vários aspectos:
A estratégia de curto prazo de reversão do mercado de alta, com um alto stop loss em troca de ganhos excedentes. Utiliza a combinação de julgamento de tendência e compra de reversão, para aproveitar efetivamente as oportunidades trazidas pela situação do mercado de alta.
/*backtest
start: 2023-12-30 00:00:00
end: 2024-01-29 00:00:00
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/
// © Coinrule
//@version=3
strategy(shorttitle='Scalping Dips On Trend',title='Scalping Dips On Trend (by Coinrule)', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, 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
inp_lkb = input(1, title='Lookback Period')
perc_change(lkb) =>
overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100
// Call the function
overall = perc_change(inp_lkb)
//MA inputs and calculations
MA=input(50, title='Moving Average')
MAsignal = sma(close, MA)
//Entry
dip= -(input(2))
strategy.entry(id="long", long = true, when = overall< dip and MAsignal > close and window())
//Exit
Stop_loss= ((input (10))/100)
Take_profit= ((input (3))/100)
longStopPrice = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)
strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())