Diese Strategie verwendet horizontale Linien als Unterstützungs- und Widerstandsniveaus und erzeugt Handelssignale, wenn der Preis diese Linien durchbricht. Die Hauptidee ist: zunächst horizontale Linien auf der Grundlage bestimmter Bedingungen zu zeichnen, lange zu gehen, wenn der Preis über die Linie bricht, und Positionen zu schließen, wenn der Preis unter die Linie bricht. Gleichzeitig gibt es entsprechende Bedingungen für die Erzeugung horizontaler Linien, wie z. B. dass der niedrige Preis der vorherigen Kerze größer ist als der aktuelle Schlusskurs.
Diese Strategie verwendet horizontale Linien als wichtige Unterstützungs- und Widerstandsniveaus und erzeugt Handelssignale durch Liniendurchbrüche. Der Vorteil ist, dass die Logik einfach und einfach zu implementieren ist und Trends gut erfassen kann. Der Nachteil ist jedoch, dass sie überhandeln, falsche Signale erzeugen und nur lang gehen kann, aber nicht kurz. In Zukunft kann sie optimiert und verbessert werden, indem andere Indikatoren kombiniert, die Handelsfrequenz reduziert, Leerverkaufmechanismen hinzugefügt und Parameter dynamisch angepasst werden.
/*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ı")