
یہ حکمت عملی بنیادی طور پر بی ٹی سی کی طویل مدتی سرمایہ کاری کو خودکار کرنے کے لئے استعمال کی جاتی ہے۔ ڈبل ای ایم اے اور ایل ایس ایم اے کے کراسنگ کے ذریعہ رجحان کی سمت کا فیصلہ کرنے کے لئے ، اور اے ٹی آر اشارے کا استعمال کرتے ہوئے متحرک اسٹاپ نقصان کا حساب لگانے کے لئے ، بی ٹی سی کے کثیر رخا رجحانات کی موثر نگرانی کے لئے۔
25 دن کے ای ایم اے اور 100 دن کے ایل ایس ایم اے کا استعمال کرتے ہوئے دوہری مساوی لائنیں تشکیل دی گئیں ، ان کے کراسنگ کو مارکیٹ کے رجحانات کا تعین کرنے کے لئے استعمال کیا جاتا ہے۔ ای ایم اے تیزی سے قیمتوں میں تبدیلیوں کا جواب دیتا ہے ، ایل ایس ایم اے کی ہلچل جھوٹی ہے۔
جب فاسٹ ای ایم اے اوپر سے سست ایل ایس ایم اے کو عبور کرتا ہے تو یہ فیصلہ کیا جاتا ہے کہ یہ اب بھی ایک ہیڈ ٹرینڈ میں ہے ، اس وقت زیادہ کام کریں۔ اس کے برعکس ، جب فاسٹ ای ایم اے نیچے سے سست ایل ایس ایم اے کو عبور کرتا ہے تو اسے خالی سر میں داخل ہونے کا فیصلہ کیا جاتا ہے ، اس وقت پوزیشن صاف کریں۔
جب آپ تجارت میں داخل ہوتے ہیں تو ، اے ٹی آر اشارے کے حساب سے متحرک اسٹاپ نقصانات کو مستقل طور پر ایڈجسٹ کیا جاتا ہے ، جس سے بی ٹی سی کے عروج کے رجحان کی موثر نگرانی کی جاسکتی ہے۔ خاص طور پر ، اسٹاپ لائن کا ابتدائی نقطہ داخلے کی قیمت ہے ، اور اس کے بعد ہر ایڈجسٹمنٹ میں ایک مقررہ تناسب اے ٹی آر کی مقدار میں اضافہ ہوتا ہے۔
اسٹاپ لائن بی ٹی سی میں اضافے سے پیدا ہونے والی اتار چڑھاؤ کو مؤثر طریقے سے لاک کرنے کے قابل ہے ، جبکہ اسٹاپ پوائنٹ کو تازہ ترین قیمت کے قریب ہونے سے روکنے سے روکتا ہے۔ اس کے علاوہ ، حکمت عملی میں مزید منافع کو لاک کرنے کے لئے دو مختلف تناسب کی متحرک اسٹاپ بھی رکھی گئی ہے۔
ڈبل مساوی لائن کا استعمال کرتے ہوئے رجحانات کا تعین کرنا زیادہ قابل اعتماد ہے اور غلط سگنل کو مؤثر طریقے سے روکنے میں مدد ملتی ہے۔
اے ٹی آر متحرک ٹریکنگ اسٹاپ ، جو زیادہ تر منافع کو لاک کرنے کے ساتھ ساتھ بار بار چھوٹے اسٹاپ سے بچنے کے قابل ہے۔
اس سے قطع نظر کہ ملٹی ہیڈ ٹریڈ ختم ہوچکی ہے یا نہیں ، جب تک کہ یکساں لائن سے باہر نکلنے کا اشارہ مل جائے گا ، نوڈس کو نقصان پہنچایا جائے گا ، اور خطرہ قابو میں ہوگا۔
اعلی درجے کی آٹومیشن ، انسانی مداخلت کی ضرورت نہیں ، اور طویل عرصے تک کام کرنے میں آسان ہے۔
اس کے علاوہ، اس نے کہا کہ اس نے اس بات کو یقینی بنایا ہے کہ اس کے ساتھ ساتھ اس کے ساتھ ساتھ اس کے ساتھ ساتھ اس کے ساتھ ساتھ اس کے ساتھ ساتھ اس کے ساتھ ساتھ اس کے ساتھ ساتھ.
اگرچہ ڈبل یکساں لائن کا امتزاج غلط سگنل کو کم کرتا ہے ، لیکن زلزلے کے حالات میں اس سے مکمل طور پر گریز کرنا مشکل ہے۔
اے ٹی آر پیرامیٹرز کی غلط ترتیب بھی نقصان کو روکنے کے اثر کو متاثر کرتی ہے اور مختلف اقسام کے مطابق ایڈجسٹ کرنے کی ضرورت ہے۔
غیر معقول اوسط لکیری مدت یا وقت پر اپ ڈیٹ کرنے میں ناکامی بھی سگنل میں تاخیر کا سبب بن سکتی ہے۔
سرور کی استحکام کو یقینی بنانا اور غیر معمولی خرابیوں سے بچنے کے لئے جو خود کار طریقے سے تجارت میں رکاوٹ کا سبب بنتا ہے.
اس میں مزید اشارے شامل کرنے کی کوشش کی جاسکتی ہے جیسے برن بینڈ۔ یا مشین لرننگ ماڈل کا استعمال کرتے ہوئے قیمت کی پیش گوئی کریں۔
اے ٹی آر متحرک سٹاپ نقصان کے حساب کتاب کے طریقہ کار کو ایڈجسٹ اور بہتر بنایا جاسکتا ہے تاکہ سٹاپ نقصان کو ہموار کیا جاسکے۔
اہم خبروں کے جھٹکے سے بچنے کے لئے ٹریڈنگ کی مقدار اور فیٹور کے دن کی گردش پر مبنی الرٹ میکانزم شامل کیا جاسکتا ہے۔
مختلف کرنسیوں کے پیرامیٹرز مختلف ہوتے ہیں ، لہذا آپ کو زیادہ سے زیادہ تاریخی اعداد و شمار کا استعمال کرکے ذاتی نوعیت کے پیرامیٹرز کی تربیت دی جاسکتی ہے۔
یہ حکمت عملی مجموعی طور پر ایک بہت ہی عملی بی ٹی سی خود کار طریقے سے سرمایہ کاری کا طریقہ ہے۔ ڈبل ای ایم اے کا استعمال کرتے ہوئے بڑے رجحان کا تعین کرنا بہت قابل اعتماد ہے ، اس کے علاوہ اے ٹی آر ٹریکنگ اسٹاپ نقصان کے ساتھ ، یہ ایک اچھا منافع حاصل کرسکتا ہے ، اور اس کی مدت بھی طویل ہوسکتی ہے۔ پیرامیٹرز کو مستقل طور پر بہتر بنانے اور ایڈجسٹ کرنے کے ساتھ ، اس حکمت عملی کی تاثیر میں بہتری کی گنجائش ہے ، جو تجرباتی جانچ پڑتال کے قابل ہے۔
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Wunderbit Trading
//@version=4
strategy("Automated Bitcoin (BTC) Investment Strategy", overlay=true, initial_capital=5000,pyramiding = 0, currency="USD", default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent,commission_value=0.1)
//////////// Functions
Atr(p) =>
atr = 0.
Tr = max(high - low, max(abs(high - close[1]), abs(low - close[1])))
atr := nz(atr[1] + (Tr - atr[1])/p,Tr)
//TEMA
TEMA(series, length) =>
if (length > 0)
ema1 = ema(series, length)
ema2 = ema(ema1, length)
ema3 = ema(ema2, length)
(3 * ema1) - (3 * ema2) + ema3
else
na
tradeType = input("LONG", title="What trades should be taken : ", options=["LONG", "SHORT", "BOTH", "NONE"])
///////////////////////////////////////////////////
/// INDICATORS
source=close
/// TREND
trend_type1 = input("TEMA", title ="First Trend Line : ", options=["LSMA", "TEMA","EMA","SMA"])
trend_type2 = input("LSMA", title ="First Trend Line : ", options=["LSMA", "TEMA","EMA","SMA"])
trend_type1_length=input(25, "Length of the First Trend Line")
trend_type2_length=input(100, "Length of the Second Trend Line")
leadLine1 = if trend_type1=="LSMA"
linreg(close, trend_type1_length, 0)
else if trend_type1=="TEMA"
TEMA(close,trend_type1_length)
else if trend_type1 =="EMA"
ema(close,trend_type1_length)
else
sma(close,trend_type1_length)
leadLine2 = if trend_type2=="LSMA"
linreg(close, trend_type2_length, 0)
else if trend_type2=="TEMA"
TEMA(close,trend_type2_length)
else if trend_type2 =="EMA"
ema(close,trend_type2_length)
else
sma(close,trend_type2_length)
p3 = plot(leadLine1, color= #53b987, title="EMA", transp = 50, linewidth = 1)
p4 = plot(leadLine2, color= #eb4d5c, title="SMA", transp = 50, linewidth = 1)
fill(p3, p4, transp = 60, color = leadLine1 > leadLine2 ? #53b987 : #eb4d5c)
//Upward Trend
UT=crossover(leadLine1,leadLine2)
DT=crossunder(leadLine1,leadLine2)
// TP/ SL/ FOR LONG
// TAKE PROFIT AND STOP LOSS
long_tp1_inp = input(15, title='Long Take Profit 1 %', step=0.1)/100
long_tp1_qty = input(20, title="Long Take Profit 1 Qty", step=1)
long_tp2_inp = input(30, title='Long Take Profit 2%', step=0.1)/100
long_tp2_qty = input(20, title="Long Take Profit 2 Qty", step=1)
long_take_level_1 = strategy.position_avg_price * (1 + long_tp1_inp)
long_take_level_2 = strategy.position_avg_price * (1 + long_tp2_inp)
long_sl_input = input(5, title='stop loss in %', step=0.1)/100
long_sl_input_level = strategy.position_avg_price * (1 - long_sl_input)
// Stop Loss
multiplier = input(3.5, "SL Mutiplier", minval=1, step=0.1)
ATR_period=input(8,"ATR period", minval=1, step=1)
// Strategy
//LONG STRATEGY CONDITION
SC = input(close, "Source", input.source)
SL1 = multiplier * Atr(ATR_period) // Stop Loss
Trail1 = 0.0
Trail1 := iff(SC < nz(Trail1[1], 0) and SC[1] < nz(Trail1[1], 0), min(nz(Trail1[1], 0), SC + SL1), iff(SC > nz(Trail1[1], 0), SC - SL1, SC + SL1))
Trail1_high=highest(Trail1,50)
// iff(SC > nz(Trail1[1], 0) and SC[1] > nz(Trail1[1], 0), max(nz(Trail1[1], 0), SC - SL1),
entry_long=crossover(leadLine1,leadLine2) and Trail1_high < close
exit_long = close < Trail1_high or crossover(leadLine2,leadLine1) or close < long_sl_input_level
///// BACKTEST PERIOD ///////
testStartYear = input(2016, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)
testStopYear = input(9999, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriod() =>
time >= testPeriodStart and time <= testPeriodStop ? true : false
if testPeriod()
if tradeType=="LONG" or tradeType=="BOTH"
if strategy.position_size == 0 or strategy.position_size > 0
strategy.entry("long", strategy.long, comment="b8f60da7_ENTER-LONG_BINANCE_BTC/USDT_b8f60da7-BTC-Investment_4H", when=entry_long)
strategy.exit("TP1", "long", qty_percent=long_tp1_qty, limit=long_take_level_1)
strategy.exit("TP2", "long", qty_percent=long_tp2_qty, limit=long_take_level_2)
strategy.close("long", when=exit_long, comment="b8f60da7_EXIT-LONG_BINANCE_BTC/USDT_b8f60da7-BTC-Investment_4H" )
// LONG POSITION
plot(strategy.position_size > 0 ? long_take_level_1 : na, style=plot.style_linebr, color=color.green, linewidth=1, title="1st Long Take Profit")
plot(strategy.position_size > 0 ? long_take_level_2 : na, style=plot.style_linebr, color=color.green, linewidth=1, title="2nd Long Take Profit")
plot(strategy.position_size > 0 ? Trail1_high : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Long Stop Loss")