ٹرینڈ ریورس ٹریڈنگ حکمت عملی ایک رجحان سے باخبر رہنے کی حکمت عملی ہے جس میں خرید و فروخت کے اشارے دینے کے لئے ایک مساوی نظام کا استعمال کیا جاتا ہے۔ یہ مختلف ادوار کی متحرک اوسط کی حساب کتاب کرکے ، موجودہ قیمت کے رجحان کی سمت کا تعین کرتا ہے ، اور رجحان کے الٹ پوائنٹس پر خرید یا فروخت کا آپریشن کرتا ہے۔ اس حکمت عملی کا مقصد وسط اور لمبی لائن کے رجحان کو پکڑنا ہے ، اور جب رجحان بدل جاتا ہے تو تجارت کرنا ہے۔
یہ حکمت عملی دو منتقل اوسط ، ایک لمبی مدت کی اوسط کے ساتھ ایک بیس لائن کے طور پر ، اور ایک اور مختصر مدت کی اوسط کے ساتھ اس کے کراسنگ کے ذریعہ تجارتی سگنل پیدا کرتی ہے۔ اس کا عملی منطق مندرجہ ذیل ہے:
ایک اوسط اوسط اوسط حساب لگائیں ، جس میں لین 1 کا دورانیہ پیرامیٹر ہے ، جو طویل دورانیہ کے رجحانات کی نمائندگی کرتا ہے۔
ایک سگنل میڈین لائن کا حساب لگائیں ، جس کی مدت پیرامیٹر لین 2 ہے ، جو ایک مختصر مدت کے رجحان کی نمائندگی کرتا ہے ، لین 2 < لین 1
جب مختصر اوسط لائن اوپر سے نیچے کی طرف سے لمبی اوسط لائن میں گرتی ہے تو ، ڈیفیکس ٹریڈنگ اس بات کی نشاندہی کرتی ہے کہ رجحان الٹ گیا ہے اور اسٹاک کی قیمت نیچے کی طرف جاسکتی ہے۔
جب مختصر اوسط نیچے کی طرف سے طویل اوسط کو توڑتا ہے تو ، زیادہ تجارت کریں ، جس سے یہ ظاہر ہوتا ہے کہ رجحان الٹ گیا ہے اور اسٹاک کی قیمتیں بڑھ سکتی ہیں۔
جب قیمت لمبی اوسط کے قریب واپس آتی ہے تو ، بیعانہ واپس لے لیا جاتا ہے۔
اس طرح، ایک رجحان ٹریڈنگ کے لئے ایک طویل اور درمیانی لائن کے رجحان کے نقطہ نظر کو پکڑنے کے لئے، ایک منتقل اوسط کے ساتھ ایک کراسنگ کے ذریعے.
اوسط لائن کراسنگ سسٹم کا استعمال کرتے ہوئے ، درمیانی دور کے رجحان کی الٹ کو مؤثر طریقے سے پکڑا جاسکتا ہے۔
تجارت کے اشارے سادہ، واضح اور آسانی سے سمجھنے کے قابل ہیں۔
اپنی مرضی کے مطابق سائیکل پیرامیٹرز مختلف اقسام اور تاجروں کے لئے موزوں ہیں.
ہر خطرے پر قابو پانے کے لئے اسٹاپ لاسٹ اسٹاپ سیٹ اپ۔
اسٹاک کی قیمتوں کی پیش گوئی کرنے کی ضرورت نہیں ہے، صرف رجحانات کی سمت پر توجہ دیں.
زلزلے کے دوران ، مساوی لائنیں اکثر کراس ہوتی ہیں ، جس سے زیادہ غلط سگنل پیدا ہوتے ہیں۔
مختصر مدت کی قیمتوں میں اتار چڑھاو سے فائدہ اٹھانا ممکن نہیں ہے ، اور صرف لمبی اور درمیانی لکیری رجحانات پر تجارت کے لئے موزوں ہے۔
اوسط لکیری نظام قیمتوں میں ہونے والی تبدیلیوں سے پیچھے رہ جاتا ہے اور وقت پر رجحان کی تبدیلی کو پکڑنے میں ناکام رہتا ہے۔
اس کے نتیجے میں، آپ کو زیادہ سے زیادہ منافع نہیں مل سکتا.
مارکیٹ میں ٹریڈنگ کی فریکوئنسی کو ایڈجسٹ کرنے کے لئے پیرامیٹرز کو وقت پر ایڈجسٹ کریں۔
دیگر تکنیکی اشارے جیسے MACD، KD وغیرہ کے ساتھ مل کر تصدیق کریں، جعلی سگنل کو فلٹر کریں۔
رجحان فلٹر شامل کریں ، صرف اس وقت اشارہ کریں جب رجحان واضح ہو۔
ایک سے زیادہ ٹائم فریم ٹریڈنگ ، مختلف سائیکل میڈین لائنز ایک ساتھ کام کرتی ہیں ، جو تجارت کے زیادہ مواقع پیدا کرتی ہیں۔
متحرک اصلاح کے پیرامیٹرز ، تاکہ مارکیٹ میں تبدیلیوں کے ساتھ سائیکل پیرامیٹرز کو اپنایا جاسکے۔
مشین لرننگ ماڈل کے ساتھ رجحانات کو تبدیل کرنے میں مدد ملتی ہے.
ترازو الٹ ٹریڈنگ حکمت عملی مجموعی طور پر ایک سادہ عملی رجحان کی پیروی کرنے کی حکمت عملی ہے۔ یہ طویل مدتی قیمتوں کے رجحانات کو پکڑنے کے لئے وسط مدتی رجحان الٹ کا فیصلہ کرنے کے لئے مساوی لائنوں کو عبور کرتا ہے۔ یہ حکمت عملی لاگو کرنا آسان ہے ، ٹریڈنگ سگنل واضح ہے ، لیکن اس میں کچھ حدود بھی ہیں۔ پیرامیٹرز کی ترتیب کو مستقل طور پر بہتر بنانے ، دوسرے تکنیکی اشارے کو جوڑنے اور مشین لرننگ متعارف کروانے جیسے طریقوں سے حکمت عملی کی تاثیر کو بڑھاوا دیا جاسکتا ہے ، تاکہ مارکیٹ کے مواقع کو بہتر طور پر پکڑ سکے۔
/*backtest
start: 2022-10-02 00:00:00
end: 2023-10-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//Created by 100kiwi
strategy(title = "TrapTrading", overlay = true)
/////////////////////////////////////////////////////////////////////
// COMPONENT CODE START
//*******************************************************************
// Backtesting Period Selector | Component by pbergden
//*******************************************************************
testStartYear = input(2015, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2018, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)
testPeriod() => true
// COMPONENT CODE STOP
/////////////////////////////////////////////////////////////////////
// input
buySide = input(defval = true, title = "Trade Direction (ON: Buy Side OFF: Sell Side)", type = bool)
counterTrend = input(defval = true, title = "Trade Mode (ON: Counter Trend OFF: Trend Following)", type = bool)
len1 = input(defval = 14, title = "Period")
multiple = input(defval = 1.4, title = "Multiple")
m1 = close - close[len1]
controlPoint = counterTrend ? lowest(abs(m1), len1) == abs(m1) : highest(abs(m1), len1) == abs(m1)
baseLine = valuewhen(controlPoint, avg(close, close[len1]), 0)
// trap line
atr = atr(len1)
line1Up = baseLine + (atr * multiple)
line2Up = baseLine + (atr * 2 * multiple)
line3Up = baseLine + (atr * 3 * multiple)
line4Up = baseLine + (atr * 4 * multiple)
line5Up = baseLine + (atr * 5 * multiple)
line6Up = baseLine + (atr * 6 * multiple)
line7Up = baseLine + (atr * 7 * multiple)
line8Up = baseLine + (atr * 8 * multiple)
line9Up = baseLine + (atr * 9 * multiple)
line10Up = baseLine + (atr * 10 * multiple)
line1Down = baseLine - (atr * multiple)
line2Down = baseLine - (atr * 2 * multiple)
line3Down = baseLine - (atr * 3 * multiple)
line4Down = baseLine - (atr * 4 * multiple)
line5Down = baseLine - (atr * 5 * multiple)
line6Down = baseLine - (atr * 6 * multiple)
line7Down = baseLine - (atr * 7 * multiple)
line8Down = baseLine - (atr * 8 * multiple)
line9Down = baseLine - (atr * 9 * multiple)
line10Down = baseLine - (atr * 9 * multiple)
// draw
color = close >= baseLine ? teal : red
barcolor(controlPoint ? yellow : na, title = "Candle Color")
plot(baseLine, title = "Base Line", color = white, linewidth = 4, style = stepline, transp = 0)
plot(line1Up, title = "1Up Line", color = green, linewidth = 1, style = stepline, transp = 0)
plot(line2Up, title = "2Up Line", color = green, linewidth = 1, style = stepline, transp = 0)
plot(line3Up, title = "3Up Line", color = green, linewidth = 1, style = stepline, transp = 0)
plot(line4Up, title = "4Up Line", color = green, linewidth = 1, style = stepline, transp = 0)
plot(line5Up, title = "5Up Line", color = green, linewidth = 1, style = stepline, transp = 0)
plot(line6Up, title = "6Up Line", color = green, linewidth = 1, style = stepline, transp = 0)
plot(line7Up, title = "7Up Line", color = green, linewidth = 1, style = stepline, transp = 0)
plot(line8Up, title = "8Up Line", color = green, linewidth = 1, style = stepline, transp = 0)
plot(line9Up, title = "9Up Line", color = green, linewidth = 1, style = stepline, transp = 0)
plot(line10Up, title = "10Up Line", color = green, linewidth = 1, style = stepline, transp = 0)
plot(line1Down, title = "1Down Line", color = red, linewidth = 1, style = stepline, transp = 0)
plot(line2Down, title = "2Down Line", color = red, linewidth = 1, style = stepline, transp = 0)
plot(line3Down, title = "2Down Line", color = red, linewidth = 1, style = stepline, transp = 0)
plot(line4Down, title = "4Down Line", color = red, linewidth = 1, style = stepline, transp = 0)
plot(line5Down, title = "5Down Line", color = red, linewidth = 1, style = stepline, transp = 0)
plot(line6Down, title = "6Down Line", color = red, linewidth = 1, style = stepline, transp = 0)
plot(line7Down, title = "7Down Line", color = red, linewidth = 1, style = stepline, transp = 0)
plot(line8Down, title = "8Down Line", color = red, linewidth = 1, style = stepline, transp = 0)
plot(line9Down, title = "9Down Line", color = red, linewidth = 1, style = stepline, transp = 0)
plot(line10Down, title = "10Down Line", color = red, linewidth = 1, style = stepline, transp = 0)
// strategy code
if testPeriod() and buySide
strategy.exit("Exit Long0", from_entry = "Long0", qty = 1, limit = line2Up)
strategy.exit("Exit Long1", from_entry = "Long1", qty = 1, limit = line1Up)
strategy.exit("Exit Long2", from_entry = "Long2", qty = 1, limit = baseLine)
strategy.exit("Exit Long3", from_entry = "Long3", qty = 1, limit = line1Down)
strategy.exit("Exit Long4", from_entry = "Long4", qty = 1, limit = line2Down)
strategy.exit("Exit Long5", from_entry = "Long5", qty = 1, limit = line3Down)
strategy.exit("Exit Long6", from_entry = "Long6", qty = 1, limit = line4Down)
strategy.exit("Exit Long7", from_entry = "Long7", qty = 1, limit = line5Down)
strategy.exit("Exit Long8", from_entry = "Long8", qty = 1, limit = line6Down)
strategy.exit("Exit Long9", from_entry = "Long9", qty = 1, limit = line7Down)
strategy.exit("Exit Long10", from_entry = "Long10", qty = 1, limit = line8Down)
strategy.order("Long0", strategy.long, qty = 1, limit = baseLine, when = strategy.position_size <= 0)
strategy.order("Long1", strategy.long, qty = 1, limit = line1Down, when = strategy.position_size <= 1)
strategy.order("Long2", strategy.long, qty = 1, limit = line2Down, when = strategy.position_size <= 2)
strategy.order("Long3", strategy.long, qty = 1, limit = line3Down, when = strategy.position_size <= 3)
strategy.order("Long4", strategy.long, qty = 1, limit = line4Down, when = strategy.position_size <= 4)
strategy.order("Long5", strategy.long, qty = 1, limit = line5Down, when = strategy.position_size <= 5)
strategy.order("Long6", strategy.long, qty = 1, limit = line6Down, when = strategy.position_size <= 6)
strategy.order("Long7", strategy.long, qty = 1, limit = line7Down, when = strategy.position_size <= 7)
strategy.order("Long8", strategy.long, qty = 1, limit = line8Down, when = strategy.position_size <= 8)
strategy.order("Long9", strategy.long, qty = 1, limit = line9Down, when = strategy.position_size <= 9)
strategy.order("Long10", strategy.long, qty = 1, limit = line10Down, when = strategy.position_size <= 10)
else
if testPeriod() and not buySide
strategy.exit("Exit Short0", from_entry = "Short0", qty = 1, limit = line2Down)
strategy.exit("Exit Short1", from_entry = "Short1", qty = 1, limit = line1Down)
strategy.exit("Exit Short2", from_entry = "Short2", qty = 1, limit = baseLine)
strategy.exit("Exit Short3", from_entry = "Short3", qty = 1, limit = line1Up)
strategy.exit("Exit Short4", from_entry = "Short4", qty = 1, limit = line2Up)
strategy.exit("Exit Short5", from_entry = "Short5", qty = 1, limit = line3Up)
strategy.exit("Exit Short6", from_entry = "Short6", qty = 1, limit = line4Up)
strategy.exit("Exit Short7", from_entry = "Short7", qty = 1, limit = line5Up)
strategy.exit("Exit Short8", from_entry = "Short8", qty = 1, limit = line6Up)
strategy.exit("Exit Short9", from_entry = "Short9", qty = 1, limit = line7Up)
strategy.exit("Exit Short10", from_entry = "Short10", qty = 1, limit = line8Up)
strategy.order("Short0", strategy.short, qty = 1, limit = baseLine, when = strategy.position_size >= 0)
strategy.order("Short1", strategy.short, qty = 1, limit = line1Up, when = strategy.position_size >= -1)
strategy.order("Short2", strategy.short, qty = 1, limit = line2Up, when = strategy.position_size >= -2)
strategy.order("Short3", strategy.short, qty = 1, limit = line3Up, when = strategy.position_size >= -3)
strategy.order("Short4", strategy.short, qty = 1, limit = line4Up, when = strategy.position_size >= -4)
strategy.order("Short5", strategy.short, qty = 1, limit = line5Up, when = strategy.position_size >= -5)
strategy.order("Short6", strategy.short, qty = 1, limit = line6Up, when = strategy.position_size >= -6)
strategy.order("Short7", strategy.short, qty = 1, limit = line7Up, when = strategy.position_size >= -7)
strategy.order("Short8", strategy.short, qty = 1, limit = line8Up, when = strategy.position_size >= -8)
strategy.order("Short9", strategy.short, qty = 1, limit = line9Up, when = strategy.position_size >= -9)
strategy.order("Short10", strategy.short, qty = 1, limit = line10Up, when = strategy.position_size >= -10)