یہ حکمت عملی ROC اور SMA کے مابین اختلافات کے مجموعے کا حساب کتاب کرکے تجارتی سگنل تیار کرتی ہے۔ یہ قلیل مدتی تجارتی حکمت عملیوں سے تعلق رکھتی ہے۔
حکمت عملی سب سے پہلے لمبائی l اور ROC کے ساتھ SMA کا حساب لگاتی ہے۔ پھر یہ قریبی قیمت اور SMA کے درمیان فرق k کا حساب لگاتی ہے۔ اس کے بعد یہ s دنوں کے لئے k جمع کرتی ہے اور رقم حاصل کرتی ہے۔ جب رقم > 0 ہوتی ہے تو یہ لمبی ہوتی ہے۔ جب رقم <0 ہوتی ہے تو یہ مختصر ہوتی ہے۔
خاص طور پر، کوڈ میں:
لمبائی l کے ساتھ SMA کا حساب لگائیں، ایک حاصل کریں.
لمبائی l کے ساتھ ROC کا حساب لگائیں، r حاصل کریں.
قریبی قیمت اور ایس ایم اے کے درمیان فرق کا حساب لگائیں: k = قریبی - a.
s دنوں کے لئے k جمع کریں، جمع حاصل کریں.
اگر رقم> 0 ہے تو، طویل پوزیشن؛ اگر رقم<0 ہے تو، مختصر پوزیشن.
باہر نکلیں جب لمبی کے لئے رقم <0، اور مختصر کے لئے رقم> 0.
اہم بات یہ ہے کہ فرق k کا خلاصہ کیا جائے اور تجارتی اشاروں کے لئے رقم کا نشان استعمال کیا جائے۔ جب حالیہ دنوں کے لئے k > 0 ، قیمت بڑھ رہی ہے ، لہذا طویل ہوجائیں۔ جب k < 0 ، قیمت کم ہورہی ہے ، تو مختصر ہوجائیں۔
اس سادہ قلیل مدتی تجارتی حکمت عملی کے مندرجہ ذیل فوائد ہیں:
استعمال شدہ اشارے سادہ اور سمجھنے میں آسان ہیں۔
اشارے کے فرق کے مطابق فلٹرنگ سے زیادہ درست تجارتی مواقع مل سکتے ہیں۔
اس فرق کا خلاصہ کرتے ہوئے قلیل مدتی رجحانات کو بہتر اندازہ لگایا جاسکتا ہے۔
پیرامیٹرز l اور s مختلف سائیکل کے لئے مقرر کیا جا سکتا ہے.
منطق واضح ہے اور اس میں ترمیم اور اصلاح کرنا آسان ہے۔
اکثر قلیل مدتی تجارت کے لئے اعلی سرمایہ کاری کی کارکردگی.
کچھ خطرات بھی ہیں:
قلیل مدتی تجارت میں زیادہ خطرات، نقصانات ممکن ہیں۔
ناقص پیرامیٹرز سے زیادہ تجارت یا مواقع ضائع ہو سکتے ہیں۔
رجحان کی تبدیلی کے مطابق ڈھالنا مشکل ہے، کوئی سٹاپ نقصان بڑے نقصان کا باعث بن سکتا ہے۔
پیرامیٹرز کی کثرت سے ایڈجسٹمنٹ تاجر کے تجربے پر بہت زیادہ انحصار کرتی ہے۔
اعلی تجارتی تعدد ٹرانزیکشن کی لاگت اور سلائڈج میں اضافہ کرسکتا ہے۔
حل:
تجارتی تعدد کو کم کرنے کے لئے پیرامیٹرز کو مناسب طریقے سے ایڈجسٹ کریں.
رجحانات کی نشاندہی کرنے کے لئے رجحانات کے اشارے شامل کریں.
ایک ہی تجارت کے نقصان کو کنٹرول کرنے کے لئے سٹاپ نقصان کو بہتر بنائیں.
تجربے پر انحصار کم کرنے کے لئے آٹو پیرامیٹر کی اصلاح شامل کریں.
ٹرانزیکشن لاگت کو کم کرنے کے لئے آرڈر پر عملدرآمد ماڈل کو بہتر بنائیں.
اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں مزید بہتر بنایا جاسکتا ہے:
پیرامیٹرز کے حساب کے طریقوں کو بہتر بنائیں، جیسے جینیاتی الگورتھم، پیرامیٹرز کو موافقت پذیر بنانے کے لئے.
سگنل کے معیار کو بہتر بنانے کے لیے مزید اشارے اور فلٹرز شامل کریں۔
سٹاپ نقصان کی حکمت عملی کو بہتر بنائیں، جیسے ٹریلنگ سٹاپ نقصان۔
پیسے کے انتظام کی حکمت عملی کو بہتر بنائیں جیسے خطرے کے نقطہ نظر کو کنٹرول کریں.
رجحان کی پیروی، سلائڈ کنٹرول وغیرہ کے ساتھ آرڈر پر عملدرآمد کے ماڈل کو بہتر بنائیں.
بیک ٹیسٹنگ اور آٹو اصلاح کے ماڈیولز شامل کریں.
سگنل کے معیار کا مقداری جائزہ شامل کریں.
ان اصلاحات کے ساتھ، یہ حکمت عملی ایک زیادہ جامع، ذہین، مستحکم اور کنٹرول قابل قلیل مدتی تجارتی نظام بن سکتی ہے.
خلاصہ یہ ہے کہ یہ حکمت عملی اشارے سے سادہ سگنل تیار کرتی ہے ، جس میں واضح منطق اور آسان نفاذ ہوتا ہے۔ پیرامیٹرز ، اسٹاپ نقصان ، منی مینجمنٹ وغیرہ میں مزید اصلاحات کے ساتھ ، یہ ایک قابل قدر مقداری تجارتی حکمت عملی بن سکتی ہے۔ لیکن کوئی حکمت عملی کامل نہیں ہے۔ تاجروں کو اب بھی ذاتی خطرہ کی ترجیح کی بنیاد پر اسے عقلی طور پر لاگو کرنے کی ضرورت ہے۔
/*backtest start: 2023-10-06 00:00:00 end: 2023-11-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Indicator Integrator Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=662, overlay=false) l = input(defval=170,title="Length for indicator") s = input(title="Length of summation",defval=18) a= sma(close,l) r=roc(close,l) k=close-a sum = 0 for i = 0 to s sum := sum + k[i] //plot(a,color=yellow,linewidth=2,transp=0) //bc = iff( sum > 0, white, teal) //plot(sum,color=bc, transp=20, linewidth=3,style=columns) //plot(sma(sum,3),color=white) //hline(0) inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0) inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0) inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0) inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0) useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na ////buyEntry = crossover(source, lower) ////sellEntry = crossunder(source, upper) if sum>0 strategy.entry("Long", strategy.long, oca_name="Long", comment="Long") else strategy.cancel(id="Long") if sum<0 strategy.entry("Short", strategy.short, oca_name="Short", comment="Short") else strategy.cancel(id="Short") strategy.initial_capital = 50000 plot(strategy.equity-strategy.initial_capital-strategy.closedtrades*.25/2, title="equity", color=red, linewidth=2) hline(0) //longCondition = sum>0 //exitlong = sum<0 //shortCondition = sum<0 //exitshort = sum>0 //strategy.entry(id = "Long", long=true, when = longCondition) //strategy.close(id = "Long", when = exitlong) //strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitlong) //strategy.entry(id = "Short", long=false, when = shortCondition) //strategy.close(id = "Short", when = exitshort) //strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitshort)