
Die Fischer-Indikator-Mobilstop-Strategie ist eine quantitative Handelsstrategie, die die Fischer-Indikator-Mobilstop-Strategie kombiniert. Die Strategie nutzt die Fischer-Indikator-Mobilstop-Strategie, um Kauf- und Verkaufssignale zu erzeugen, während die Stop-Tracking-Strategie eingerichtet wird, um die Gewinne zu sperren und gleichzeitig die Gewinne zu schützen.
Die Optimierung der Parameter kann durch Anpassung der Stop-Loss-Stopp-Ratio, die Prüfung verschiedener Kombinationen von Parametern; in Kombination mit anderen Indikatoren Filtersignale; Einstellung der Position-Management-Regeln, um das einzelne Risiko zu steuern.
Die mobile Stop-Loss-Strategie von Fisherman Indicators integriert Trendbeurteilung und Stop-Loss-Management. Durch die Optimierung der Parameter, die Kombination der Indikatoren und die Verbesserung der Stop-Loss-Methode kann sie für die meisten Sorten geeignet sein und es lohnt sich, sie zu erforschen und zu praktizieren, um bessere Gewinne zu erzielen, wenn übertragbare Verluste verhindert werden.
/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Fisher_Yurik Strategy with Trailing Stop", shorttitle="FY Strategy", overlay=true)
// Date Ranges
from_month = input(defval = 1, title = "From Month")
from_day = input(defval = 1, title = "From Day")
from_year = input(defval = 2021, title = "From Year")
to_month = input(defval = 1, title = "To Month")
to_day = input(defval = 1, title = "To Day")
to_year = input(defval = 9999, title = "To Year")
start = timestamp(from_year, from_month, from_day, 00, 00) // backtest start window
finish = timestamp(to_year, to_month, to_day, 23, 59) // backtest finish window
window = true
period = input(2, title='Period')
cost = input.float(1.05, title='profit level ', step=0.01)
dusus = input.float(1.02, title='after the signal', step=0.01)
var float Value = na
var float Fish = na
var float ExtBuffer1 = na
var float ExtBuffer2 = na
price = (high + low) / 2
MaxH = ta.highest(high, period)
MinL = ta.lowest(low, period)
Value := 0.33 * 2 * ((price - MinL) / (MaxH - MinL) - 0.5) + 0.67 * nz(Value[1])
Value := math.max(math.min(Value, 0.999), -0.999)
Fish := 0.5 * math.log((1 + Value) / (1 - Value)) + 0.5 * nz(Fish[1])
up = Fish >= 0
ExtBuffer1 := up ? Fish : na
ExtBuffer2 := up ? na : Fish
var float entryPrice = na
var float stopPrice = na
if (ExtBuffer1 > ExtBuffer1[1])
entryPrice := close*dusus
stopPrice := close * cost
if (ExtBuffer2 < ExtBuffer2[1])
entryPrice := close
stopPrice := close * cost
// Sadece seçilen test döneminde işlem yapma koşulu eklenmiştir
strategy.entry("Buy", strategy.long, when=ExtBuffer1 > ExtBuffer1[1] and window)
strategy.exit("Take Profit/Trailing Stop", from_entry="Buy", when=(close >= entryPrice * cost) or (close < stopPrice), trail_offset=0.08, trail_price=entryPrice * cost)