STEM اور MATCS مشترکہ رفتار ٹریڈنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-09-15 16:22:48
ٹیگز:

اس حکمت عملی کو STEM اور MATCS مشترکہ رفتار ٹریڈنگ حکمت عملی کہا جاتا ہے۔ یہ تجارتی سگنل پیدا کرنے کے لئے سپر ٹرینڈ اشارے کو MACD اشارے کے ساتھ جوڑتا ہے۔

حکمت عملی کیسے کام کرتی ہے:

  1. جب قیمت میں تبدیلی آتی ہے تو خرید و فروخت کے سگنل پیدا کرنے کے لئے سپر ٹرینڈ اشارے کا حساب لگائیں۔
  2. MACD اشارے کے تیز ، درمیانے اور سست ایم اے کا حساب لگائیں۔ خریدنے کے سگنل اس وقت پیدا ہوتے ہیں جب تیز ایم اے درمیانے ایم اے سے اوپر عبور کرتا ہے۔ فروخت کے سگنل اس وقت پیدا ہوتے ہیں جب تیز ایم اے درمیانے ایم اے سے نیچے عبور کرتا ہے۔
  3. سپر ٹرینڈ اور ایم اے سی ڈی کے سگنلز کو یکجا کریں، صرف تب ہی تجارت کریں جب دونوں اشارے متفق ہوں۔
  4. متحرک سٹاپ نقصان کی سطحوں کا حساب کرنے کے لئے اے ٹی آر اشارے کا استعمال کریں۔

تجارت کے مخصوص قوانین:

  1. جب سپر ٹرینڈ نیچے سے اوپر کی طرف پلٹ جاتا ہے، اور ایم اے سی ڈی تیز رفتار ایم اے میڈیم ایم اے کے اوپر سے گزر جاتا ہے، تو طویل عرصے تک جاتا ہے.
  2. جب سپر ٹرینڈ اوپر سے نیچے کی طرف پلٹ جاتا ہے، اور MACD تیز رفتار MA درمیانے درجے کے MA سے نیچے گزر جاتا ہے، مختصر ہو جاتا ہے.
  3. باہر نکلنے کے قواعد: نقصان کو روکنے یا منافع حاصل کرنے (اختیاری) ۔

اس حکمت عملی کے فوائد:

  1. متعدد اشارے کو ملا کر سگنل کی درستگی میں اضافہ ہوتا ہے۔
  2. متحرک سٹاپ نقصان انفرادی بڑے نقصان کو محدود کر سکتا ہے.
  3. رجحان کی پیروی اور اوسط ریورس کی صلاحیتوں دونوں ہے.

اس حکمت عملی کے خطرات:

  1. غلط سپر ٹرینڈ اور ایم اے سی ڈی پیرامیٹرز خراب سگنل پیدا کر سکتے ہیں۔
  2. بہت قریب سٹاپ نقصان کے نتیجے میں اکثر سٹاپ آؤٹ ہو سکتے ہیں۔
  3. فیس اور سلائڈ منافع پر اثر انداز ہوتا ہے.

خلاصہ یہ ہے کہ ، STEM اور MATCS مشترکہ رفتار ٹریڈنگ حکمت عملی اشارے کے انضمام کے ذریعے اثرات کو بڑھا دیتی ہے ، جو قلیل مدتی اور درمیانی مدتی تجارت کے لئے موزوں ہے۔ اسٹاپ نقصان کی درخواست خطرے کے کنٹرول کے لئے اہم ہے۔ تاجروں کو پیرامیٹر کی اصلاح اور سخت رقم کے انتظام کے ذریعے رواں تجارت میں خطرات کو کم کرنے کی ضرورت ہے۔


/*backtest
start: 2023-09-07 00:00:00
end: 2023-09-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © IncomePipelineGenerator
//@version=4
// strategy("STRAT_STEM_MATCS_BTC", overlay=true, pyramiding = 0, default_qty_value = 20, slippage = 5)


ST_EMA_PERIOD = input(1, minval=1)
ST_EMA = ema(close, ST_EMA_PERIOD)

LENGTH = input(title="ATR_PERIOD", type=input.integer, defval=95)
ATR_TUNE = input(title="ATR_TUNE", type=input.float, step=0.1, defval=2.1)
showLabels = input(title="Show_Buy/Sell_Labels ?", type=input.bool, defval=true)
highlightState = input(title="Highlight_State ?", type=input.bool, defval=true)

ATR = ATR_TUNE * atr(LENGTH)

longStop = ST_EMA - ATR
longStopPrev = nz(longStop[1], longStop)
longStop := (close[1]) > longStopPrev ? max(longStop, longStopPrev) : longStop

shortStop = ST_EMA + ATR
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := (close[1]) < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop

dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and (close) > shortStopPrev ? 1 : dir == 1 and (close) < longStopPrev ? -1 : dir


fastLength = input(3, minval=1), medLength=input(9, minval=1), slowLength=input(12, minval=1), signalLength=input(16,minval=1)
fastMA = ema(close, fastLength), medMA = ema(close, medLength), slowMA = ema(close, slowLength)

macd = fastMA - slowMA
fmacd = fastMA - medMA
smacd = slowMA - medMA

signal = ema(macd, signalLength)
fsignal = ema(fmacd, signalLength)
ssignal = ema(smacd, signalLength)


SetStopLossShort = 0.0
SetStopLossShort := if(strategy.position_size < 0)
    StopLossShort = shortStop
    min(StopLossShort,SetStopLossShort[1])

SetStopLossLong = 0.0
SetStopLossLong := if(strategy.position_size > 0)
    StopLossLong = longStop
    max(StopLossLong,SetStopLossLong[1])


ATR_CrossOver_Period = input(5, type=input.integer, minval=1, maxval=2000)
ATR_SIGNAL_FINE_TUNE = input(0.962, type=input.float)  
ATR_CS = atr(ATR_CrossOver_Period)*ATR_SIGNAL_FINE_TUNE

StopLoss_Initial_Short = input(0.0, type=input.float) 
StopLoss_Initial_Long = input(0.0, type=input.float) 

StopLoss_Long_Adjust = input(0.0, type=input.float) 
StopLoss_Short_Adjust = input(0.0, type=input.float) 

VOLUME_CHECK = input(200)

//Custom Time Interval
fromMinute = input(defval = 0, title = "From Minute", minval = 0, maxval = 60)
fromHour = input(defval = 0, title = "From Hour", minval = 0, maxval = 24)
fromDay = input(defval = 1, title = "From Day", minval = 1)
fromMonth = input(defval = 1, title = "From Month", minval = 1)
fromYear = input(defval = 2019, title = "From Year", minval = 1900)
tillMinute = input(defval = 0, title = "Till Minute", minval = 0, maxval = 60)
tillHour = input(defval = 0, title = "Till Hour", minval = 0, maxval = 24)
tillDay = input(defval = 1, title = "Till Day", minval = 1)
tillMonth = input(defval = 1, title = "Till Month", minval = 1)
tillYear = input(defval = 2020, title = "Till Year", minval = 1900)
timestampStart = timestamp(fromYear,fromMonth,fromDay,fromHour,fromMinute)
timestampEnd = timestamp(tillYear,tillMonth,tillDay,tillHour,tillMinute)


//Custom Buy Signal Code --  This is where you design your own buy and sell signals. You now have millions of possibilites with the use of simple if/and/or statements.
if (  dir==1 and dir[1]==-1  and volume > VOLUME_CHECK and ((fsignal[1] -fsignal) <= 0) and  cross(fmacd, smacd) )
    strategy.exit("SELL")
    strategy.entry("BUY", strategy.long)
    strategy.exit("BUY_STOP","BUY", stop = close - StopLoss_Initial_Long)

//Custom Sell Signal Code
if  ( dir == -1 and dir[1] == 1 and dir[2] == 1 and dir[3] == 1 and dir[4] == 1 and  cross(fmacd, smacd) )
    strategy.exit( "BUY")
    strategy.entry("SELL", strategy.short)
    strategy.exit("SELL_STOP","SELL", stop = close + StopLoss_Initial_Short)

//Slight adjustments to ST for fine tuning
if (strategy.opentrades > 0 )
    strategy.exit("BUY_TRAIL_STOP","BUY", stop = longStop - StopLoss_Long_Adjust)
    strategy.exit("SELL_TRAIL_STOP","SELL", stop = shortStop + StopLoss_Short_Adjust)

مزید