
ٹریکنگ بیئر مارکیٹ حکمت عملی ایک غیر ملکی کرنسی کی حکمت عملی ہے جس کا مقصد یورو / امریکی ڈالر کو یورپین مارکیٹ کے کھلنے کے وقت ایک عام طرز عمل کو پکڑنے کے لئے ڈیزائن کیا گیا ہے۔ یہ حکمت عملی یورپین مارکیٹ کے کھلنے کے دوران یورو کے ایک سے زیادہ سر پھنس جانے کی وجہ سے خالی کرنے پر مجبور ہونے کی خصوصیات کا فائدہ اٹھاتی ہے۔ خاص طور پر ، یہ حکمت عملی یورو / امریکی ڈالر کی 1 گھنٹے کی K لائن میں الٹ پلٹ شکل میں الٹ پلٹ (اسٹار آف فائرنگ یا سر) کی تلاش کے بعد ، RSI جیسے اشارے فلٹرنگ سگنل کا جائزہ لے گی ، اور جب اس کی تصدیق ہوجاتی ہے تو ، اس کا نتیجہ برباد ہوجاتا ہے ، اور اسٹاپ نقصان کا مقام الٹ پلٹ کے اونچائی پر طے ہوتا ہے ، اور ہدف منافع قابل قبول خطرے سے متعلق واپسی کی شرح پر مبنی ہوتا ہے۔
ریچھ کی مارکیٹ کی حکمت عملی کو ٹریک کرنے کا بنیادی تجارتی منطق اس مفروضے پر مبنی ہے: یورو / لندن کے افتتاحی وقت کے دوران ، یورو سے زیادہ خریدنے والے تاجر اور الگورتھم یورو / امریکی ڈالر کی قیمت کو بلند کریں گے۔ لیکن اگر قیمتوں میں اس کے بعد اضافہ نہیں ہوتا ہے یا اس میں کمی کی کوئی علامت نظر آتی ہے تو ، یہ زیادہ خریدنے والے پھنس جاتے ہیں۔ لہذا جب قیمتوں میں واپسی شروع ہوتی ہے تو ، وہ زیادہ سے زیادہ بولی اتارنے پر مجبور ہوجاتے ہیں ، جس سے کمی بڑھ جاتی ہے۔
اس حکمت عملی کا مقصد مختصر مدت کے زوال کو پکڑنے کے لئے اس ریز مارکیٹ تھیوری کا استعمال کرنا ہے۔ خاص طور پر ، یہ یوروپی ٹائم زون ((مثال کے طور پر 2am-7am) میں 1 گھنٹے کے K لائن پر الٹ موڈک ٹونک سگنل تلاش کرے گا۔ یہاں الٹ موڈک ٹونک سگنل کا فیصلہ کرنے کا معیار یہ ہے کہ: ٹونک کے جسمانی حصے کی بندش قیمت کھلنے کی قیمت سے کم ہے ، اور بندش کی قیمت 0.5 گنا سے زیادہ نہیں ہے۔ مجموعی طور پر ٹونک اتار چڑھاؤ کی حد ((یعنی بندش کی قیمت کم ترین قیمت کے قریب ہے) ۔
اس طرح کے ریورس موڈ میں جھنڈے لگنے کا مطلب ہے کہ ایک سے زیادہ جھنڈے لگنے کا خطرہ ہے۔ سگنل کی مزید تصدیق کے لئے ، حکمت عملی مندرجہ ذیل فلٹرنگ شرائط کو بھی چیک کرتی ہے۔
تمام فلٹرنگ کی شرائط کو پورا کرنے کے بعد ، حکمت عملی ریورسنگ بندش کے دوران خالی ہوجاتی ہے ، اسٹاپ نقصان کی قیمت اونچائی سے اوپر رکھی جاتی ہے ، اور ہدف منافع کو قابل قبول رسک ریٹرن کی بنیاد پر پوزیشن میں لایا جاتا ہے (ڈیفالٹ رسک ریٹرن کی شرح 1 پر 1) ۔
نوٹ کریں کہ یہ حکمت عملی صرف یوروپی ٹائم زون میں فعال ہے اور اگر قیمت یوروپی ٹائم زون سے باہر نکل جاتی ہے تو ، اس کی حیثیت کو دوبارہ ترتیب دیا جائے گا اور اگلے ٹائم زون کے لئے انتظار کیا جائے گا۔
یہ ایک سادہ لیکن عملی حکمت عملی ہے۔ اس کے اہم فوائد یہ ہیں:
مجموعی طور پر ، ایک مختصر لائن رات کے وقت ارورائزیشن کی حکمت عملی کے طور پر ریچھ کی مارکیٹ کی حکمت عملی کا سراغ لگانا ، اس کی استحکام اور افادیت دونوں کے لئے ایک اچھا انتخاب ہے۔
اس حکمت عملی کے کچھ فوائد کے باوجود ، کسی بھی مالیاتی مصنوعات کی تجارت میں خطرات لاحق ہیں ، جن میں سے کچھ اہم ہیں:
مندرجہ بالا خطرے کے بارے میں کچھ تجاویز یہ ہیں:
اس حکمت عملی کی سادگی اور ممکنہ خطرات کو مدنظر رکھتے ہوئے ، یہ بہتر بنانے کے بارے میں کچھ نکات ہیں جن پر غور کیا جاسکتا ہے۔
ریچھ مارکیٹ کی حکمت عملی کا سراغ لگانا ایک سادہ ، ٹریڈنگ رسک کنٹرول کرنے والی شارٹ لائن ڈیلیوری حکمت عملی ہے۔ یہ یورو کے کثیر سر والے بیعانہ کے رجحان سے پیدا ہونے والی قلیل مدتی ایڈجسٹمنٹ کو پکڑ کر مستحکم منافع حاصل کرتا ہے۔ اس حکمت عملی کو سمجھنے اور بہتر بنانے میں آسان ہے ، اور یہ رات کے بیعانہ تجارت کا ایک مثالی انتخاب ہے۔ یقینا ، کسی بھی مالیاتی مصنوعات کی تجارت میں خطرہ ہوتا ہے ، جس میں پیرامیٹرز کو ایڈجسٹ کرنے اور مارکیٹ کے ماحول میں تبدیلی کے مطابق مناسب طریقے سے بہتر بنانے کی ضرورت ہوتی ہے۔
/*backtest
start: 2024-02-18 00:00:00
end: 2024-02-25 00:00:00
period: 3h
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/
// © ZenAndTheArtOfTrading / PineScriptMastery
// FTB Strategy (PineConnector Version)
// Last Updated: 21st July, 2021
// @version=4
strategy("[2021] FTB Strategy", shorttitle="FTB", overlay=true)
// Risk Settings
var g_risk = "Risk Settings"
pips = input(title="Stop Pips", type=input.float, defval=2.0, group=g_risk, tooltip="How many pips above high to put stop loss")
rr = input(title="Risk:Reward", type=input.float, defval=1.0, group=g_risk, tooltip="This determines the risk:reward profile of the setup")
// Filters
var g_filter = "Filter Settings"
timezone = input(title="Timezone", type=input.session, defval="0200-0700", group=g_filter, tooltip="Which timezone to search for FTB signals in")
days = input(title="Days To Trade", defval="13457", group=g_filter, tooltip="Which days to trade this strategy on (Monday & Friday disabled by default)")
useRsiFilter = input(title="RSI OB/OS?", type=input.bool, defval=true, group=g_filter, tooltip="If true then the RSI must be considered overbought before a signal is valid")
useCloseFilter = input(title="Previous Bar Must Be Bullish?", type=input.bool, defval=false, group=g_filter, tooltip="If true then the previous bar must have closed bullish")
useHighFilter = input(title="High Filter", type=input.bool, defval=false, group=g_filter, tooltip="If true then the signal bar must be the highest bar over X bars")
highLookback = input(title="High Lookback", type=input.integer, defval=10, group=g_filter, tooltip="This is for setting the High Filter lookback distance")
fib = input(title="Candle Close %", defval=0.5, group=g_filter, tooltip="For identifying shooting star candles (0.5 = must close <= 50% mark of candle size)")
rsiLen = input(title="RSI Length", type=input.integer, defval=3, group=g_filter, tooltip="RSI length")
rsiOB = input(title="RSI OB", type=input.float, defval=70.0, group=g_filter, tooltip="RSI overbought threshold")
// PineConnector Settings
var g_pc = "PineConnector Settings"
pc_id = input(title="License ID", defval="YOUR_ID", type=input.string, group=g_pc, tooltip="This is your PineConnector license ID")
pc_risk = input(title="Risk Per Trade", defval=1, step=0.5, type=input.float, group=g_pc, tooltip="This is how much to risk per trade (% of balance or lots)")
pc_prefix = input(title="MetaTrader Prefix", defval="", type=input.string, group=g_pc, tooltip="This is your broker's MetaTrader symbol prefix")
pc_suffix = input(title="MetaTrader Suffix", defval="", type=input.string, group=g_pc, tooltip="This is your broker's MetaTrader symbol suffix")
pc_spread = input(title="Spread", defval=0.5, type=input.float, group=g_pc, tooltip="Enter your average spread for this pair (used for offsetting limit order)")
pc_limit = input(title="Use Limit Order?", defval=true, type=input.bool, group=g_pc, tooltip="If true a limit order will be used, if false a market order will be used")
// Generate PineConnector alert string
var symbol = pc_prefix + syminfo.ticker + pc_suffix
var limit = pc_limit ? "limit" : ""
pc_entry_alert(direction, sl, tp) =>
price = pc_limit ? "price=" + tostring(pc_spread) + "," : ""
pc_id + "," + direction + limit + "," + symbol + "," + price + "sl=" + tostring(sl) + ",tp=" + tostring(tp) + ",risk=" + tostring(pc_risk)
// Get RSI filter
rsiValue = rsi(close, rsiLen)
rsiFilter = not useRsiFilter or rsiValue >= rsiOB
// Check high & close filter
highFilter = not useHighFilter or high == highest(high, highLookback)
closeFilter = not useCloseFilter or close[1] > open[1]
// InSession() determines if a price bar falls inside the specified session
inSession(sess) => na(time(timeframe.period, sess + ":" + days)) == false
// Calculate 50% mark of candle size
bearFib = (high - low) * fib + low
// Check filters
filters = inSession(timezone) and closeFilter and high > high[1] and rsiFilter and highFilter and open != close
// Detect valid shooting star pinbar pattern
var takenTradeAlready = false
star = true
// Calculate stops & targets
shortStopPrice = high + (syminfo.mintick * pips * 10)
shortStopDistance = shortStopPrice - close
shortTargetPrice = close - (shortStopDistance * rr)
// Save stops & targets for the current trade
var tradeStopPrice = 0.0
var tradeTargetPrice = 0.0
// If we detect a valid shooting star, save our stops & targets, enter short and generate alert
if star and barstate.isconfirmed
tradeStopPrice := shortStopPrice
tradeTargetPrice := shortTargetPrice
takenTradeAlready := true
alertString = pc_entry_alert("sell", tradeStopPrice, tradeTargetPrice)
alert(alertString, alert.freq_once_per_bar_close)
strategy.entry(id="Short", long=strategy.short, when=strategy.position_size == 0, comment=alertString)
// If we have exited the FTB session then reset our takenTradeAlready flag for the next session
if not inSession(timezone) and inSession(timezone)[1]
takenTradeAlready := false
// If price has exceeded target then cancel limit order if it's still active
if pc_limit and low <= tradeTargetPrice and strategy.position_size == 0
alert(pc_id + ",cancelshort," + symbol)
tradeTargetPrice := na
// Draw stops & targets
plot(star ? tradeStopPrice : na, color=color.red, style=plot.style_linebr, title="SL")
plot(star ? shortTargetPrice : na, color=color.green, style=plot.style_linebr, title="TP")
// Draw short signals
plotshape(star ? 1 : na, style=shape.triangledown, color=color.red)
// Change background color to highlight detection zone
bgcolor(color=inSession(timezone) ? color.new(color.red,80) : na, title="Session")
// Exit trade whenever our stop or target is hit
strategy.exit(id="Short Exit", from_entry="Short", limit=tradeTargetPrice, stop=tradeStopPrice, when=strategy.position_size != 0)