Cette stratégie utilise des lignes horizontales comme niveaux de support et de résistance, et génère des signaux de trading lorsque le prix franchit ces lignes. L'idée principale est: d'abord, dessiner des lignes horizontales basées sur certaines conditions, aller long lorsque le prix franchit la ligne, et fermer des positions lorsque le prix franchit la ligne.
Cette stratégie utilise des lignes horizontales comme des niveaux de support et de résistance importants, et génère des signaux de trading par des percées de ligne. L'avantage est que la logique est simple et facile à mettre en œuvre, et qu'elle peut bien capturer les tendances. Cependant, l'inconvénient est qu'elle peut surtrader, générer de faux signaux, et ne peut aller que long mais pas court.
/*backtest start: 2023-04-20 00:00:00 end: 2024-04-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Traderxprox //@version=5 strategy("Alarm Trader_ALL", overlay=true) // Yatay çizgi oluşum yatayc = low[1] > close[0] if yatayc if strategy.opentrades > 0 strategy.close("AL", comment = "Fiyat:" + str.tostring(low[1], "#.##") + "\n" + timeframe.period +"\n Yatay Direnç Oluştu") else strategy.entry("AL", strategy.long, comment = "Fiyat:" + str.tostring(low[1], "#.##") + "\n" + timeframe.period +"\n Yatay Direnç Oluştu") //YATAY ÇİZGİ int cizgilen = input.int(20, "Çizgi uzunluğu?", group = "Yatay Çizgi Ayarları") var array<line> lines = array.new<line>() int numberOfLines = input.int(10, "Son Kaç Çizgi?", 0, group = "Yatay Çizgi Ayarları") kural22 = low[1] > close[0] // if kural22 // newLine = line.new(bar_index-2, low[1], bar_index+cizgilen, low[1] ,color=color.red, width=1, style=line.style_solid) // // Push the `newLine` into the `lines` array. // lines.push(newLine) // // Delete the oldest line when the size of the array exceeds the specified `numberOfLines`. // if array.size(lines) > numberOfLines // line.delete(lines.shift()) // Alarm kırılım için koşul var float lastLinePrice = na if not na(close) and array.size(lines) > 0 lastLinePrice := line.get_price(array.get(lines, array.size(lines) - 1), bar_index) if open < lastLinePrice and close > lastLinePrice if strategy.opentrades > 0 strategy.close("AL", comment = "Fiyat:" + str.tostring(lastLinePrice, "#.##") + "\n" + timeframe.period +" \n Yatay çizgi yukarı kırılımı") else strategy.entry("AL", strategy.long, comment = "Fiyat:" + str.tostring(lastLinePrice, "#.##") + "\n" + timeframe.period +" \n Yatay çizgi yukarı kırılımı")