
मछुआरा सूचकांक चलती रोक रणनीति एक मात्रात्मक ट्रेडिंग रणनीति है जो मछुआरा सूचकांक और चलती रोक तंत्र को जोड़ती है। यह रणनीति मछुआरा सूचकांक का उपयोग खरीद और बेचने के संकेत उत्पन्न करने के लिए करती है, जबकि लाभ को लॉक करने के लिए ट्रैक करने वाले स्टॉप सेट करती है, और लाभ की रक्षा करते हुए अधिक लाभ के लिए प्रयास करती है।
स्टॉप लॉस स्टॉप अनुपात को समायोजित करके, विभिन्न पैरामीटर संयोजनों का परीक्षण करके पैरामीटर को अनुकूलित किया जा सकता है; अन्य संकेतकों के साथ संयोजन में फिल्टर सिग्नल; एकल जोखिम को नियंत्रित करने के लिए स्थिति प्रबंधन नियम सेट करें।
मछुआरे के लिए सूचक मोबाइल स्टॉप लॉस रणनीति में प्रवृत्ति के आकलन और स्टॉप लॉस प्रबंधन को एकीकृत किया गया है, जो पैरामीटर अनुकूलन, सूचक संयोजन और स्टॉप लॉस के तरीके में सुधार के माध्यम से, अधिकांश किस्मों के लिए अनुकूल है, जो कि अधिक से अधिक बर्दाश्त योग्य नुकसान को रोकने के लिए बेहतर रिटर्न प्राप्त करने के लिए खोज और अभ्यास के लायक है।
/*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)