Die Strategie verwendet die Conversion Line, die Base Line und die Front- und Back-Line der Liniewolke in der Ichimoku Kinko Hyo-Indikator, um die Trendrichtung der Preise zu erkennen und den Trend zu verfolgen. Wenn der Preis den Cloud-Top durchbricht, ist er überschüssig, wenn er den Cloud-Boden durchbricht, ist er leer und erreicht den Standort für die Gewinnquote und den Standort für die Verlustquote.
Die Strategie basiert hauptsächlich auf folgenden Ichimoku-Kennzeichen:
Wenn der Preis nach oben durch die vordere Linienwolke geht, machen Sie mehr; wenn der Preis nach unten durch die vordere Linienwolke geht, machen Sie frei. ConfigEntry und ExitReason eröffnen Positionen, wenn sie die Wolkenoberfläche und die Wolkenoberfläche durchbrechen, und legen die Positionen ab, wenn die Gewinn- und Verlustquote erreicht wird.
Die Strategie nutzt die Ichimoku-Cloud, um Trends zu erkennen und Trends einfach und effektiv zu verfolgen. Obwohl es ein gewisses Risiko von Verzögerungen und Falschsignalen gibt, kann die Strategie durch Parameteroptimierung, Verbesserung der Stop-Loss-Technologie und Kombination mit anderen Indikatoren verbessert werden. Die Strategie ist leicht zu verstehen und umzusetzen, ist für Anfänger geeignet und kann auch als Referenz für andere Strategien verwendet werden.
/*backtest
start: 2023-10-04 00:00:00
end: 2023-10-08 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Estratégia com Ichimoku" , pyramiding=0, calc_on_every_tick = true, initial_capital = 20000, commission_type = strategy.commission.cash_per_order, commission_value = 10.00)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////Ichimoku Clouds////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////(VERSÃO 40.0)//////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
periodoLinhaDeConversao = input(defval=9, title="Tenkan-sen (Linha de Conversão)", minval=1)
periodoLinhaBase = input(defval=26, title="Kijun-sen (Linha Base)", minval=1)
periodoNivelAdiantadoB = input(defval=52, title="Senkou Span B (Nível adiantado B)", minval=1)
deslocamento = input(defval=26, title="Deslocamento", minval=1)
linhaDeConversao = (highest(high,periodoLinhaDeConversao)+lowest(low,periodoLinhaDeConversao))/2
linhaBase = (highest(high,periodoLinhaBase)+lowest(low,periodoLinhaBase))/2
nivelAdiantadoA = (linhaDeConversao + linhaBase)/2
nivelAdiantadoB = (highest(high,periodoNivelAdiantadoB)+lowest(low,periodoNivelAdiantadoB))/2
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
strategy.initial_capital = 50000
//Hardcoded quantity - strategy.entry(qty=)
capitalInicial = strategy.initial_capital
lotes = (strategy.initial_capital - (strategy.initial_capital % (open*100)))/open
//Percentage input goal - strategy.exit(profit=)
percentGoal = input (defval = 5.0, title = "Goal (%)", type = float, minval=0.0, step=0.1)
longGoal = (strategy.position_avg_price * (percentGoal/100)) * 100
shortGoal = (strategy.position_avg_price - (strategy.position_avg_price / (1+(percentGoal/100)))) * 100
//Percentage input stop - strategy.exit(loss=)
percentStop = input (defval = 0.5, title = "Stop (%)", type = float, minval=0.0, step=0.1)
longStop = (strategy.position_avg_price * (percentStop/100)) * 100
shortStop = (strategy.position_avg_price * (percentStop/100)) * 100
strategy.entry('entryLong', strategy.long, lotes, when = strategy.position_size == 0 and crossover(close,max(nivelAdiantadoA[deslocamento], nivelAdiantadoB[deslocamento])))
strategy.entry('entryShort', strategy.short, lotes, when = strategy.position_size == 0 and crossunder(close,min(nivelAdiantadoA[deslocamento], nivelAdiantadoB[deslocamento])))
strategy.exit('exitLong', 'entryLong', profit = longGoal, loss = longStop)
strategy.exit('exitShort', 'entryShort', profit = shortGoal, loss = shortStop)
plot(strategy.equity, title="Variação de capital", color=white)
//plot(strategy.position_size, color=red)