এটি মুভিং গড়ের উপর ভিত্তি করে একটি সহজ দিনের ট্রেডিং কৌশল, যা GBPUSD 1 ঘন্টা সময়সীমার জন্য উপযুক্ত। এটি শুধুমাত্র লন্ডন ওপেন এ প্রবেশ করে এবং লন্ডন বন্ধে প্রস্থান করে, যা লন্ডন সেশনের সময় ট্রেন্ড ব্রেকআউট ট্রেডিংয়ের জন্য আদর্শ।
কৌশলটি দুটি চলমান গড় ব্যবহার করে, একটি খুব দ্রুত এবং অন্যটি খুব ধীর। যুক্তিটি নিম্নরূপঃ
শুধুমাত্র লন্ডন ওপেনে (সকাল ৮টা) প্রবেশ করুন যখন দাম দ্রুত এমএ-র উপরে চলে যায়। যদি বন্ধ বা উচ্চ দ্রুত এমএ-র উপরে চলে যায় তবে লম্বা যান, যদি বন্ধ বা নিম্ন দ্রুত এমএ-র নীচে চলে যায় তবে সংক্ষিপ্ত যান।
পূর্ববর্তী বারগুলি বন্ধ করার জন্য দীর্ঘ সময়ের জন্য ধীর এমএ এর উপরে, সংক্ষিপ্ত সময়ের জন্য ধীর এমএ এর নীচে থাকতে হবে, যা প্রবণতা ছাড়াই সঞ্চালিত হয়।
50-100 পয়েন্টের খুব ছোট স্টপ লস ব্যবহার করুন।
লন্ডন বন্ধের সময় কোনো লাভ নেই, 15: 00 এ শর্তহীনভাবে প্রস্থান করে।
এটি একটি খুব সহজ ব্রেকআউট কৌশল, কিন্তু লন্ডন সেশনের ট্রেন্ডের বৈশিষ্ট্যগুলি সঠিকভাবে ব্যবহার করে, এর নিম্নলিখিত সুবিধা রয়েছেঃ
শুধুমাত্র স্পষ্ট প্রবণতা প্রবেশ করে, অস্থির বাজার ঝুঁকি এড়াতে।
শুধুমাত্র লন্ডনের উচ্চ অস্থিরতার সময় ট্রেডিংয়ের ব্রেকআউট হয়।
ছোট স্টপ লস কিছু রিট্র্যাক্সিং সহ্য করতে পারে।
শর্তহীন প্রস্থান রাতারাতি ঝুঁকি এড়ায়।
এই কৌশলের কিছু ঝুঁকিও রয়েছে:
লন্ডনে কোন স্পষ্ট প্রবণতা না থাকলে দীর্ঘ সময় ধরে স্থির থাকতে পারে।
স্টপ লস রিট্র্যাকশনে বন্ধ হওয়ার ঝুঁকি।
যখন শক্তিশালী প্রবণতা দীর্ঘায়িত হোল্ডিং সময়ের প্রয়োজন হয় তখন প্রাথমিক প্রস্থান ঝুঁকি।
প্রশমিতকরণগুলির মধ্যে রয়েছে প্রবেশের নিয়মগুলি প্রসারিত করা, মুনাফা লক করার জন্য ট্রেলিং স্টপ ব্যবহার করা এবং বাজারের অবস্থার উপর ভিত্তি করে গতিশীলভাবে প্রস্থান সময় সামঞ্জস্য করা।
কৌশলটি বিভিন্ন ক্ষেত্রে উন্নত করা যেতে পারে:
আরএসআই, বোলিংজার ব্যান্ডের মতো অন্যান্য ফিল্টার যুক্ত করুন যাতে বাজার আরও অস্থির হয় না।
বিভিন্ন পরামিতি পরীক্ষা করে চলমান গড়ের সমন্বয়কে অনুকূল করুন।
সর্বোত্তম পরিসীমা খুঁজে পেতে বিভিন্ন স্টপ লস আকার পরীক্ষা করুন।
স্থির সময়ের পরিবর্তে মূল্যের ক্রিয়াকলাপের ভিত্তিতে গতিশীলভাবে প্রস্থান সময় সামঞ্জস্য করুন।
অন্যান্য মুদ্রা জোড়া এবং সময়সীমা পরীক্ষা করুন।
অ্যাকাউন্টের আকারের উপর ভিত্তি করে পজিশনের আকারের মতো ঝুঁকি ব্যবস্থাপনা যুক্ত করুন।
সামগ্রিকভাবে এটি একটি খুব সহজ এবং ব্যবহারিক লন্ডন সেশন ব্রেকআউট কৌশল। এটি সেশনের বৈশিষ্ট্যগুলি সঠিকভাবে ব্যবহার করে নির্দিষ্ট ট্রেডিং ঝুঁকি এড়ানোর সুবিধা পায়। স্থিতিশীলতা এবং লাভজনকতা উন্নত করার জন্য আরও অপ্টিমাইজেশনের ক্ষেত্রও রয়েছে। কৌশলটি কার্যকরভাবে লন্ডন সেশনের ব্রেকআউট ট্রেডিংয়ের জন্য একটি দরকারী কাঠামো এবং টেম্পলেট সরবরাহ করে।
/*backtest start: 2023-09-08 00:00:00 end: 2023-10-08 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // strategy(title="2 ma breakout",shorttitle="2 ma breakout", initial_capital=10000,overlay=true, commission_type = strategy.commission.cash_per_contract, commission_value = 0.00008 ) timeinrange(res, sess) => time(res, sess) != 0 //Change false to false = You have to turn on, won't show up by default //****Always use lowercase letters doNYOpen = input(defval=false, type = input.bool, title="NY Open On") doNYSession = input(defval=false, type = input.bool, title="NY Session On") doNYClose = input(defval=false, type = input.bool, title="NY Close On") doAussieOpen = input(defval=false, type = input.bool, title="Aussie Open On") doAussieSession = input(defval=false, type = input.bool, title="Aussie Session On") doAussieClose = input(defval=false, type = input.bool, title="Aussie Close On") doAsiaOpen = input(defval=false, type = input.bool, title="Asia Open On") doAsiaSession = input(defval=false, type = input.bool, title="Asia Session On") doAsiaClose = input(defval=false, type = input.bool, title="Asia Close On") doEurOpen = input(defval=true, type = input.bool, title="Euro Open On") doEurSession = input(defval=true, type = input.bool, title="Euro Session On") doEurClose = input(defval=true, type = input.bool, title="Euro Close On") //You can copy and paste these colors. white - silver - gray - maroon - red - purple - fuchsia - green - lime // olive - yellow - navy - blue - teal - aqua - orange nySessionStart = color.olive nySession = color.olive nySessionEnd = color.olive asiaSessionStart = color.blue asiaSession = color.blue asiaSessionEnd = color.blue europeSessionStart = color.red europeSession = color.red europeSessionEnd = color.red colorwhite = color.white //****Note ---- Use Military Times --- So 3:00PM = 1500 bgcolor(doAsiaSession and timeinrange(timeframe.period, "1800-0400") ? asiaSession : na, transp=75) //bgcolor(timeinrange(timeframe.period, "0000-0300") ? color.white : na, transp=75) bgcolor(doEurSession and timeinrange(timeframe.period, "0300-1100") ? europeSession : na, transp=75) bgcolor(doNYSession and timeinrange(timeframe.period, "0800-1600") ? nySession : na, transp=75) active = input(true, title="Show On Chart") pricehigh = security(syminfo.tickerid, '60', high[0]) pricelow = security(syminfo.tickerid, '60', low[0]) //Daily Plots offs_daily = 0 hiHighs = 0 loLows = 0 //plot(timeinrange(timeframe.period, "0000-0300") and pricehigh ? pricehigh : na, title="Previous Daily High", style=plot.style_line, linewidth=2, color=color.gray) //plot(timeinrange(timeframe.period, "0000-0300") and pricelow ? pricelow : na, title="Previous Daily Low", style=plot.style_linebr, linewidth=2, color=color.gray) if(timeinrange(timeframe.period, "0000-0300")) hiHighs = highest(high, 3) loLows = lowest(low, 3) // From Date Inputs fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2020, title = "From Year", minval = 1970) // To Date Inputs toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2020, title = "To Year", minval = 1970) // Calculate start/end date and time condition startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp(toYear, toMonth, toDay, 00, 00) time_cond = true len = input(2) src = input(close, title="Source") out = sma(src, len) lena = input(200, minval=1, title="Length slow") srca = input(close, title="Source") outa = ema(srca, lena) //tp = input(100, title="tp") sl = input(66, title="sl") // if(smabool) // out := sma(src, len) // else if(emabool) // out := ema(src, len) // else if(hmabool) // out := hma(src, len) // else if(vmabool) // out := wma(src, len) // else if(vwmabool) // out := vwma(src, len) // else if(smmabool) // out := sma(src, len) plot(out, color=color.white, title="MA") plot(outa, color=color.white, title="MA") longC = timeinrange(timeframe.period, "0300-0400") and (crossover(close,out) or crossover(high,out)) and close[1] > outa and time_cond shortC = timeinrange(timeframe.period, "0300-0400") and (crossunder(close,out) or crossunder(low,out)) and close[1] < outa and time_cond //inputlondon = input(false, title="london session") //inputny = input(false, title="new york session") //if(inputlondon==true) strategy.initial_capital = 50000 //MONEY MANAGEMENT-------------------------------------------------------------- balance = strategy.netprofit + strategy.initial_capital //current balance floating = strategy.openprofit //floating profit/loss risk = input(1,type=input.float,title="Risk % of equity ")/100 //risk % per trade temp01 = balance * risk //Risk in USD temp02 = temp01/sl //Risk in lots temp03 = temp02*100 //Convert to contracts size = temp03 - temp03%1 //Normalize to 1000s (Trade size) if(size < 1) size := 1 //Set min. lot size strategy.entry("long",1,when=longC) //strategy.close("long", when = crossunder(close,out) or not (timeinrange(timeframe.period, "0300-1000"))) strategy.close("long", when = not (timeinrange(timeframe.period, "0300-0945"))) strategy.exit("x_long","long", loss = sl) strategy.entry("short",0,when=shortC) //strategy.close("short",when = crossover(close,out) or not (timeinrange(timeframe.period, "0300-1000"))) strategy.close("short",when = not (timeinrange(timeframe.period, "0300-0945"))) strategy.exit("x_short","short", loss = sl) //strategy.exit("closelong", "RSI_BB_LONG" , profit = close * 0.01 / syminfo.mintick, loss = close * 0.01 / syminfo.mintick, alert_message = "closelong") //strategy.exit("closeshort", "RSI_BB_SHORT" , profit = close * 0.01 / syminfo.mintick, loss = close * 0.01 / syminfo.mintick, alert_message = "closeshort")