ٹرپل EMA ٹریلنگ اسٹاپ اسٹریٹیجی


تخلیق کی تاریخ: 2023-10-17 15:05:41 آخر میں ترمیم کریں: 2023-10-17 15:05:41
کاپی: 2 کلکس کی تعداد: 715
1
پر توجہ دیں
1617
پیروکار

ٹرپل EMA ٹریلنگ اسٹاپ اسٹریٹیجی

جائزہ

یہ حکمت عملی ٹریڈنگ سگنل پیدا کرنے کے لئے ایک تیز رفتار 5 دن ای ایم اے ، ایک درمیانی رفتار 20 دن ای ایم اے ، اور ایک سست 50 دن ای ایم اے کے ایک کراس کی طرف سے ایک عام ٹریڈنگ حکمت عملی کا نفاذ ہے۔ اس کے علاوہ ، یہ جعلی سگنل کو فلٹر کرنے کے لئے موجودہ K لائن اختتامی قیمت سے پہلے دن کے اختتامی قیمت میں اضافے یا کمی کے کچھ ٹکڑوں کو بھی جوڑتا ہے۔ اس کے علاوہ ، اس حکمت عملی میں منافع کو مقفل کرنے کے لئے اسٹاپ نقصانات کا سراغ لگانا بھی شامل ہے۔

اصول

جب 5 دن ای ایم اے پر 20 دن ای ایم اے ، اور تینوں ای ایم اے کثیر سر ترتیب میں ہیں ((5 دن ای ایم اے > 20 دن ای ایم اے > 50 دن ای ایم اے) ، اور موجودہ K لائن اختتامی قیمت پچھلے دن کے اختتامی قیمت میں اضافہ سے زیادہ کچھ ٹکس ، زیادہ کام کریں۔ جب 5 دن ای ایم اے پر 20 دن ای ایم اے کے نیچے ، اور تینوں ای ایم اے خالی سر ترتیب میں ہیں ((5 دن ای ایم اے < 20 دن ای ایم اے < 50 دن ای ایم اے) ، اور موجودہ K لائن اختتامی قیمت پچھلے دن کے اختتامی قیمت میں کمی سے زیادہ کچھ ٹکس ، خالی کام کریں۔

داخلہ کے بعد ، اگر قیمت کچھ ٹکس سے زیادہ چلتی ہے تو ، ٹریکنگ اسٹاپ میکانیزم کو چالو کیا جاتا ہے ، اور قیمت کے اتار چڑھاؤ کے مطابق اسٹاپ لائن کو مستقل طور پر ایڈجسٹ کیا جاتا ہے ، تاکہ زیادہ منافع بخش کو لاک کیا جاسکے۔

فوائد

  1. ٹریڈ سگنل بنانے کے لئے ٹرپل ای ایم اے کا استعمال کرتے ہوئے ، مارکیٹ کے شور کو مؤثر طریقے سے فلٹر کریں اور رجحانات کی نشاندہی کریں۔ تیز رفتار ای ایم اے تازہ ترین تبدیلیوں کی عکاسی کرتی ہے ، درمیانی رفتار ای ایم اے رجحان کی سمت کا تعین کرتی ہے ، اور سست رفتار ای ایم اے فلٹرنگ کے جھٹکے۔

  2. موجودہ K لائن کے اختتامی قیمت کو پچھلے دن کے اختتامی قیمت کے مقابلے میں بڑھانا ، جعلی سگنل کو مزید فلٹر کرنے اور غیر ضروری تجارت کو کم کرنے میں مدد فراہم کرتا ہے۔

  3. ٹریکنگ سٹاپ کا استعمال کرتے ہوئے ، آپ کو منافع کو زیادہ سے زیادہ کرنے کے لئے اسٹاپ لائن کو متحرک طور پر مارکیٹ کی ترقی کے مطابق ایڈجسٹ کرنے کی اجازت دیتا ہے۔

  4. اس حکمت عملی کے پیرامیٹرز لچکدار ہیں اور مختلف اقسام اور ادوار کے مطابق بہتر بنایا جاسکتا ہے ، جو دن کی لکیر سے لے کر منٹ کی لکیر تک لاگو ہوتا ہے۔

خطرات

  1. ای ایم اے کے کراس سگنل اکثر ہلچل کے حالات میں ہوتے ہیں ، جس سے زیادہ تجارت پیدا ہوسکتی ہے جس سے لین دین کی فیس اور سلائڈ پوائنٹ کی لاگت میں اضافہ ہوتا ہے۔

  2. ٹریکنگ اسٹاپس بڑے جھٹکے میں ممکنہ طور پر قبل از وقت اسٹاپس ہیں جو پورے رجحان کو برقرار نہیں رکھ سکتے ہیں۔

  3. ای ایم اے تاخیر کی خصوصیت رجحان کی تبدیلی سے محروم ہوسکتی ہے ، جس سے نقصان ہوتا ہے۔

  4. ای ایم اے سائیکل کی لمبائی ، اسٹاپ نقصان ٹکس کا پتہ لگانے جیسے پیرامیٹرز کو بہتر بنانے کی ضرورت ہے۔ مختلف اقسام اور سائیکل کے تحت اثر میں بہت زیادہ فرق ہے۔

اصلاح کی سمت

  1. دوسرے اشارے جیسے MACD، KD وغیرہ کے ساتھ مل کر ٹریڈنگ سگنل کو فلٹر کرنے میں مدد مل سکتی ہے۔

  2. بہترین پیرامیٹرز کا مجموعہ تلاش کرنے کے لئے مخصوص قسم اور دورانیہ پیرامیٹرز کے مطابق جانچ اور اصلاح کی جاسکتی ہے۔

  3. پیرامیٹرز کو دستی مداخلت یا مشین لرننگ جیسے طریقوں سے متحرک طور پر ایڈجسٹ کیا جاسکتا ہے۔

  4. مخصوص حالات میں ٹریکنگ سٹاپ کو بند کرنے پر غور کیا جاسکتا ہے ، اور پوری پوزیشن پر قبضہ کرنے کا رجحان۔

  5. اس کے علاوہ، یہ ایک خود کار طریقے سے روکنے کے ساتھ مل کر ایک سادہ ٹریکنگ سٹاپ نقصان کی جگہ لے سکتا ہے.

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-02 12:00:00
period: 1m
basePeriod: 1m
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/
// © Matt Dearden - IndoPilot
// @version=4

/////////////////////////////////////////////////////// Initial Parameters /////////////////////////////////////////////////////// 
SystemName = "Triple EMA Strategy"
ShortSystemName = "TEMA"
InitPosition = 0
InitCapital = 50000
InitCommission = 0.004 //approx value to compensate for Oanda spreads
InitPyramidMax = 0
CalcOnorderFills = true

strategy(title=SystemName, shorttitle=ShortSystemName, overlay=true, pyramiding=InitPyramidMax, 
 default_qty_type=strategy.cash, default_qty_value=InitPosition, commission_type=strategy.commission.percent, 
 commission_value=InitCommission, initial_capital=InitCapital, max_lines_count=500, 
 max_labels_count=500, process_orders_on_close=false, calc_on_every_tick=false) 

///////////////////////////////////////////////////////////// Inputs /////////////////////////////////////////////////////////////

DateFilter = input(false, "═════ Data Filtering ═════") 
InitYear = input(title="Year", type=input.integer, defval=2021, minval=2000, maxval=2021)
InitMonth = input(title="Month (0=ALL)", type=input.integer, defval=0, minval=0, maxval=12)
InitStopLoss = input(title="Stop Loss (ticks)", type=input.integer, defval=100, minval=0, maxval=1000) 
TrailingStopLoss = input(title="Trailing S/L (ticks)", type=input.integer, defval=130, minval=0, maxval=1000) 
InitBuffer = input(title="Buffer (ticks)", type=input.integer, defval=15, minval=0, maxval=1000) 
InitEMA1 = input(title="EMA 1", type=input.integer, defval=5, minval=0, maxval=1000) 
InitEMA2 = input(title="EMA 2", type=input.integer, defval=20, minval=0, maxval=1000) 
InitEMA3 = input(title="EMA 3", type=input.integer, defval=50, minval=0, maxval=1000) 

//////////////////////////////////////////////////////////// Variables ///////////////////////////////////////////////////////////

var StopLoss = float(0.0)
var StartPrice = float(0.0)
//setup multipliers and catch JPY difference
Multiplier = syminfo.currency == "JPY" ? 10 : 1000
//get the daily exchange rate from yesterday
//X_rate = security(AccountCurrency+syminfo.currency, "D", close[1]) 
OrderQty = 1  
Buffer = InitBuffer / (Multiplier * 100)

/////////////////////////////////////////////////////// Triple EMA Strategy //////////////////////////////////////////////////////

EMA1 = ema(close, InitEMA1)
EMA2= ema(close, InitEMA2)
EMA3 = ema(close, InitEMA3)

//entry conditions
longCondition = crossover(EMA1, EMA2) and close > EMA3 and EMA1 > EMA3 and EMA2 > EMA3 and close > (close[1] + Buffer) 
shortCondition = crossunder(EMA1, EMA2) and close < EMA3 and EMA1 < EMA3 and EMA2 < EMA3 and close < (close[1] - Buffer) 

/////////////////////////////////////////////////////// Trailing Stoploss ////////////////////////////////////////////////////////

if (strategy.position_size > 0 and (close > (StartPrice + (TrailingStopLoss / (100 * Multiplier)))))  
    StopLoss := max(StopLoss, close - (TrailingStopLoss / (100 * Multiplier))) 
    strategy.exit("Long Stoploss", "Long") 
    
if (strategy.position_size < 0 and (close < (StartPrice - (InitStopLoss / (100 * Multiplier))))) 
    StopLoss := min(StopLoss, close + (TrailingStopLoss / (100 * Multiplier)))
    strategy.exit("Short Stoploss", "Short") 
    
///////////////////////////////////////////////////////// Setup entries /////////////////////////////////////////////////////////

if (longCondition)
    StartPrice := close
    StopLoss := StartPrice - (InitStopLoss / (100 * Multiplier)) 
    strategy.entry("Long", strategy.long, qty=OrderQty)
    strategy.exit("Long Stoploss", "Long")

if (shortCondition)
    StartPrice := close
    StopLoss := StartPrice + (InitStopLoss / (100 * Multiplier)) 
    strategy.entry("Short", strategy.short, qty=OrderQty)
    strategy.exit("Short Stoploss", "Short")
    
///////////////////////////////////////////////////////// Draw the EMAs /////////////////////////////////////////////////////////
plot(EMA1, "EMA1", color=#00FF00)
plot(EMA2, "EMA2", color=#FF0000)
plot(EMA3, "EMA3", color=#4040FF)