
ڈبل ساحلوں کی توڑنے والی حکمت عملی میں ساحلوں کے تجارتی قانون کی توڑنے والی حکمت عملی اور لنڈا راشک کے موبائل اسٹاپ اصول کو ملا دیا گیا ہے ، جس میں عمدہ توڑنے کی کارکردگی اور سخت خطرے پر قابو پانے کی حکمت عملی ہے۔ یہ حکمت عملی قیمتوں کے اوپر اور نیچے توڑنے کی نگرانی کرتی ہے ، جب توڑ پڑتا ہے تو زیادہ یا کم پوزیشن قائم کرتی ہے ، اور موبائل اسٹاپ نقصان اور موبائل اسٹاپ مینجمنٹ پوزیشن کا استعمال کرتی ہے۔
بنیادی منطق یہ ہے کہ بڑے دورانیہ کی اونچائی پر چھوٹی دورانیہ کی اونچائی کو توڑنے پر خالی ہوجائیں ، اور بڑے دورانیہ کی نچلی سطح پر چھوٹی دورانیہ کی نچلی سطح کو توڑنے پر زیادہ کریں۔ پوزیشن قائم کرنے کے بعد چلنے والی روک تھام اور چلنے والی روک تھام ، پہلے روک تھام کے خطرے کی تصدیق کریں۔ جب پوزیشن کی تعداد مقررہ رکنے کی تعداد میں جمع ہوجاتی ہے تو ، اگلے دور میں روک تھام کا آرڈر منسوخ کریں ، اور پھر آدھی پوزیشن سے باہر نکلیں اور منافع کو مقفل کرنے اور قیمت کے فرق کو ٹریک کرنے کے لئے چلنے والی روک تھام اور چلنے والی روک تھام کو ترتیب دیں۔
آپریشن کے لیے درج ذیل مراحل پر عمل کریں:
یہ ایک جامع اور کامیاب حکمت عملی ہے جس میں مندرجہ ذیل فوائد ہیں:
اہم خطرات اور ان سے نمٹنے کے اقدامات درج ذیل ہیں:
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
دو سمندری طوفانوں کی توڑنے والی حکمت عملی میں دوہری سائیکل ٹکنالوجی ، توڑنے والی تھیوری اور سخت رسک مینجمنٹ کے طریقوں کا جامع استعمال ہوتا ہے ، جس میں اعلی جیت کی شرح کو برقرار رکھنے کے ساتھ ساتھ منافع کی استحکام کو بھی یقینی بنایا جاتا ہے۔ حکمت عملی کا ماڈل سادہ اور واضح ہے ، سمجھنے اور لاگو کرنے میں آسان ہے ، اور یہ ایک بہت ہی عمدہ مقداری حکمت عملی ہے۔ اس حکمت عملی میں بہت زیادہ اصلاح کی گنجائش بھی ہے ، اور سرمایہ کار اس کی بنیاد پر جدت طرازی کرسکتے ہیں ، اور بہتر تجارتی نظام تشکیل دے سکتے ہیں۔
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "Turtle soup plus one", shorttitle = "Turtle soup plus one", overlay=true)
bigPeriod = input(20)
smallPeriod = input(4)
takeProfitBars = input(0)
trailingStop = input(5, title = "Trailing stop percentages")
if (strategy.position_size == 0)
strategy.cancel("Long")
strategy.cancel("Short")
strategy.cancel("Stop")
stopLossPrice = 0.1
stopLossPrice := nz(stopLossPrice[1])
takeProfitStarted = false
takeProfitStarted := nz(takeProfitStarted[1])
prevHigh = highest(high, bigPeriod - smallPeriod)[smallPeriod]
smallPeriodHigh = highest(high, smallPeriod - 1)[1]
if (high > prevHigh and prevHigh > smallPeriodHigh and close > prevHigh and strategy.position_size == 0)
strategy.order("Short", strategy.short, stop = prevHigh)
if strategy.position_size < 0 and strategy.position_size[1] == 0
stopLossPrice := high[1]
strategy.order("Stop", strategy.long, qty = -strategy.position_size, stop = stopLossPrice)
takeProfitStarted := false
if (strategy.position_size < 0 and sum(strategy.position_size, takeProfitBars) == strategy.position_size * takeProfitBars and close < strategy.position_avg_price and not takeProfitStarted)
takeProfitStarted := true
strategy.cancel("Stop")
strategy.order("ExitHalf", strategy.long, qty = ceil(-strategy.position_size / 2), stop = close)
if (strategy.position_size != -1)
strategy.exit("ExitFull", "Short", qty = -strategy.position_size - ceil(-strategy.position_size / 2), loss = stopLossPrice, trail_price = close, trail_offset = -(close - strategy.position_avg_price) * trailingStop / 100 / syminfo.mintick)
prevLow = lowest(low, bigPeriod - smallPeriod)[smallPeriod]
smallPeriodLow = lowest(low, smallPeriod - 1)[1]
if (low < prevLow and prevLow < smallPeriodLow and close < prevLow and strategy.position_size == 0)
strategy.order("Long", strategy.long, stop = prevLow)
if strategy.position_size > 0 and strategy.position_size[1] == 0
stopLossPrice := low[1]
strategy.order("Stop", strategy.short, qty = strategy.position_size, stop = stopLossPrice)
takeProfitStarted := false
if (strategy.position_size > 0 and sum(strategy.position_size, takeProfitBars) == strategy.position_size * takeProfitBars and close > strategy.position_avg_price and not takeProfitStarted)
takeProfitStarted := true
strategy.cancel("Stop")
strategy.order("ExitHalf", strategy.short, qty = ceil(strategy.position_size / 2), stop = close)
if (strategy.position_size != 1)
strategy.exit("ExitFull", "Long", qty = strategy.position_size - ceil(strategy.position_size / 2),loss = stopLossPrice, trail_price = close, trail_offset = (close - strategy.position_avg_price) * trailingStop / 100 / syminfo.mintick)
// === Backtesting Dates ===
testPeriodSwitch = input(false, "Custom Backtesting Dates")
testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(3, "Backtest Start Month")
testStartDay = input(6, "Backtest Start Day")
testStartHour = input(08, "Backtest Start Hour")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,testStartHour,0)
testStopYear = input(2038, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(14, "Backtest Stop Day")
testStopHour = input(14, "Backtest Stop Hour")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,testStopHour,0)
testPeriod() =>
time >= testPeriodStart and time <= testPeriodStop ? true : false
isPeriod = testPeriodSwitch == true ? testPeriod() : true
// === /END
if not isPeriod
strategy.cancel_all()
strategy.close_all()