
اس حکمت عملی میں قیمتوں کے ٹوٹ پھوٹ کے اونچائی اور نچلے حصے کی ترتیب دی گئی ہے تاکہ کریپٹوکرنسی کی قیمتوں کے رجحانات کا سراغ لگایا جاسکے۔ جب قیمتوں کی اونچائی سے تجاوز ہوجائے تو زیادہ کام کریں ، اور جب قیمتوں کی نچلی حد سے تجاوز ہوجائے تو ، اس رجحان کو پکڑنے کے لئے خالی ہوجائیں۔
یہ حکمت عملی بنیادی طور پر ہموار منتقل اوسط کے وزن والے قانون کے ذریعہ قیمتوں میں واضح اضافہ یا کمی کا رجحان دیکھنے کا فیصلہ کرتی ہے۔ خاص طور پر ، یہ ایک خاص دورانیے میں اعلی ترین اور کم ترین قیمتوں کا حساب لگاتا ہے ، اور جب اصل تجارت کی قیمت اعدادوشمار کی اعلی ترین قیمت سے زیادہ ہوتی ہے تو ، اس کا فیصلہ اوپر کی طرف ہوتا ہے ، اور جب اصل تجارت کی قیمت اعدادوشمار کی کم ترین قیمت سے کم ہوتی ہے تو ، اس کا فیصلہ نیچے کی طرف ہوتا ہے۔
زیادہ خالی کرنے کی پوزیشن کھولنے کی قیمت ان پٹ پیرامیٹر خانہ ENTRY خانہ کے ذریعہ سیٹ کی گئی ہے ، اور خالی پوزیشن کی قیمت EXIT خانہ کے پیرامیٹرز کے ذریعہ سیٹ کی گئی ہے۔ پیمائش کا وقت بھی پیرامیٹرز کے ذریعہ سیٹ کیا جاسکتا ہے۔ اس طرح ، پیرامیٹرز کو ایڈجسٹ کرکے ، بہترین کمبو کا مجموعہ تلاش کیا جاسکتا ہے۔
اس حکمت عملی کا بنیادی منطق یہ ہے:
اس منطقی سائیکل کے ذریعے ، قیمتوں میں اضافے اور کمی کے رجحانات کو پکڑنا اور رجحانات کی پیروی کرنا ممکن ہے۔
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ پیرامیٹرز کو ایڈجسٹ کرکے ، قیمت کے رجحان کو خود بخود پکڑ لیا جاسکتا ہے ، بغیر کسی شخص کی طرف سے رجحان کی سمت کا فیصلہ کرنے کی ضرورت ہے۔ جب پیرامیٹرز کو مناسب طریقے سے ترتیب دیا جاتا ہے تو ، آپ خود بخود کریپٹوکرنسی کی قیمت میں اتار چڑھاؤ کی پیروی کرسکتے ہیں۔
اس کے علاوہ ، یہ حکمت عملی مقدار کی تجارت کے لئے موزوں ہے ، جس سے آرڈر کو آسانی سے خودکار کیا جاسکتا ہے۔ اس میں کوئی دستی کارروائی کی ضرورت نہیں ہے ، جس سے جذباتی تجارت کا خطرہ کم ہوجاتا ہے ، جس سے تجارت کی کارکردگی میں نمایاں اضافہ ہوتا ہے۔
آخر میں ، اس حکمت عملی کو پیرامیٹرز کو ایڈجسٹ کرکے زیادہ سے زیادہ منافع حاصل کیا جاسکتا ہے۔ مختلف ENTRY اور EXIT پیرامیٹرز کی جانچ کرکے ، زیادہ سے زیادہ منافع حاصل کرنے کے لئے بہترین پیرامیٹرز تلاش کیے جاسکتے ہیں۔
اس حکمت عملی کا سب سے بڑا خطرہ یہ ہے کہ پیرامیٹرز کی غلط ترتیب سے زیادہ بار بار تجارت ہوسکتی ہے ، جس سے ٹرانزیکشن فیس میں اضافہ ہوتا ہے اور پوائنٹس کا نقصان ہوتا ہے۔ اگر ENTRY بہت کم اور EXIT بہت زیادہ ترتیب دیا گیا ہے تو ، غلط تجارتی سگنل پیدا کرنا آسان ہے۔
اس کے علاوہ ، اگر پیرامیٹرز کو غیر مناسب طریقے سے ایڈجسٹ کیا گیا ہے تو ، قیمت کے رجحان کو وقت پر پکڑنے میں ناکامی اور تجارت کے مواقع سے محروم ہونے کا بھی سبب بن سکتا ہے۔ اس کے لئے بہت زیادہ بیک اپ کی ضرورت ہوتی ہے تاکہ بہترین پیرامیٹرز کو تلاش کیا جاسکے۔
آخر میں ، یہ حکمت عملی قلیل مدتی مارکیٹ کے شور کے لئے زیادہ حساس ہے ، جس سے غلط تجارتی سگنل پیدا ہوسکتے ہیں۔ اس سے بچنے کے لئے ٹریڈنگ ٹائم سائیکل پیرامیٹرز کو مناسب طریقے سے ترتیب دینے کی ضرورت ہے۔
اس حکمت عملی کو مزید بہتر بنانے کے لیے مندرجہ ذیل اقدامات کیے جا سکتے ہیں۔
اضافی اسٹاپ نقصان کی منطق۔ اس طرح ، جب نقصان ایک خاص تناسب تک بڑھ جاتا ہے تو اس سے زیادہ نقصان سے بچنے کے لئے اس کو روک دیا جاسکتا ہے۔
تکنیکی اشارے فلٹر کریں جیسے کہ چلتی اوسط۔ بڑے رجحانات کا اندازہ لگانے کے لئے MA ، KDJ جیسے اشارے کا استعمال کریں ، تاکہ قلیل مدتی شور سے زیادہ تجارت سے بچ سکے۔
آپٹمائزڈ پیرامیٹرز کی ترتیب کی منطق۔ ENTRY ، EXIT پیرامیٹرز کے لئے ایک موافقت پذیر تبدیلی کا طریقہ کار طے کیا جاسکتا ہے ، نہ کہ جامد ترتیب ، جس سے پیرامیٹرز کو مارکیٹ کے حالات کے مطابق ایڈجسٹ کیا جاسکتا ہے۔
مشین لرننگ ٹریننگ کے بہترین پیرامیٹرز کا استعمال کریں۔ موجودہ مارکیٹ کے ماحول کے لئے زیادہ سے زیادہ ENTRY اور EXIT ترتیبات حاصل کرنے کے لئے بہت سارے تاریخی اعداد و شمار کی تربیت کریں۔
اس حکمت عملی کے سب سے بڑے فوائد میں سے ایک یہ ہے کہ قیمت کے رجحانات کو پکڑنے کے ذریعے خود کار طریقے سے تجارت کو کم کیا جاسکتا ہے ، جو انسانی جذبات کو تجارت پر اثر انداز کرنے ، خطرے کو کم کرنے اور کارکردگی کو بہتر بنانے کے لئے استعمال کیا جاسکتا ہے۔ اس کے علاوہ ، پیرامیٹرز کو ایڈجسٹ کرکے بہترین منافع بخش مقامات کی تلاش کی جاسکتی ہے۔
حکمت عملی کا بنیادی خطرہ غلط پیرامیٹرز کی ترتیب اور مارکیٹ کے شور کے لئے زیادہ حساس ہے۔ اس میں نقصانات ، اشارے کے فلٹرنگ اور پیرامیٹرز کی موافقت کی اصلاح جیسے طریقوں سے بہتری کی ضرورت ہے۔
مجموعی طور پر ، یہ حکمت عملی ایک سادہ اور موثر رجحان کی پیروی کرنے والی حکمت عملی ہے ، جو مقدار اور خودکار تجارت کے لئے موزوں ہے۔ اس حکمت عملی کی استحکام کو مزید بہتر بنانے کے لئے مسلسل اصلاح کی جاسکتی ہے۔
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
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/
// © JstMtlQC
//@version=4
strategy("Trend Following Breakout",calc_on_order_fills=true,calc_on_every_tick =false, overlay=true, initial_capital=2000,commission_value=.1,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
/////////////// INPUT ENTRY EXIT
entry= input(100, "ENTRY H/L")
exit= input(50, "EXIT H/L")
/////////////// Backtest Input
FromYear = input(2015, "Backtest Start Year")
FromMonth = input(1, "Backtest Start Month")
FromDay = input(1, "Backtest Start Day")
ToYear = input(2999, "Backtest End Year")
ToMonth = input(1, "Backtest End Month")
ToDay = input(1, "Backtest End Day")
/////////////// Backtest Setting
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)
window() => time >= start and time <= finish ? true : false
/////////////// BUY OPEN PLOT
highestpricelong = highest(high,entry)[1]
plot(highestpricelong, color=color.green, linewidth=2)
/////////////// BUY CLOSE PLOT
lowestpricelong = lowest(high,exit)[1]
plot(lowestpricelong, color=color.green, linewidth=2)
/////////////// SHORT OPEN PLOT
lowestpriceshort = lowest(low,entry)[1]
plot(lowestpriceshort, color=color.red, linewidth=2)
/////////////// SHORT CLOSE PLOT
highestpriceshort = highest(low,exit)[1]
plot(highestpriceshort, color=color.red, linewidth=2)
///////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// CONDITION LONG SHORT //////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
/////////////// SHORT
entryshort= crossunder(close, lowestpriceshort)
exitshort= crossover(close,highestpriceshort)
/////////////// LONG
exitlong= crossover(close, lowestpricelong)
entrylong= crossover(close,highestpricelong)
///////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// LONG and SHORT ORDER //////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
/////////////// LONG
if (entrylong)
strategy.entry("LongEntry", strategy.long, when = window())
if (exitlong or entryshort)
strategy.close("LongEntry", when=window())
/////////////// SHORT
if (entryshort)
strategy.entry("short", strategy.short, when = window())
if (exitshort or entrylong)
strategy.close("short", when=window())