এই কৌশলটির মূল ধারণা হল একটি নির্দিষ্ট মোমবাতি প্যাটার্নের আবির্ভাবের পরে একটি লং পজিশন খোলার, যথা নিম্নমুখী ফাঁক (কলারবার) এর পরে পরবর্তী বারটি খোলার পরে একটি লং পজিশন খোলার পরে পূর্ববর্তী বারটির সর্বনিম্নে ফিরে আসা।
এই কৌশলটির নির্দিষ্ট শর্তগুলি হলঃ পূর্ববর্তী দুটি বারের তুলনায় পূর্ববর্তী বারটির নিম্নতম এবং উচ্চতর উচ্চতা রয়েছে, যা নেমে যাওয়া ব্যবধানকে নির্দেশ করে; এবং বর্তমান বারটির নিম্নতমটি পূর্ববর্তী বারটির নিম্নতমের চেয়ে কম বা সমান, যা একটি প্রত্যাহারের লক্ষণ। যখন উভয় শর্ত পূরণ করা হয়, পরবর্তী বারটি খোলা হলে একটি দীর্ঘ অবস্থান খোলা হয়।
লং পজিশন খোলার পর, স্টপ লসটি পলব্যাকের সর্বনিম্ন স্তরে সেট করা হয়, যা পূর্ববর্তী বারের সর্বনিম্ন স্তরে, এবং লাভ গ্রহণ প্রবেশ মূল্যের তুলনায় ২% এর বেশি সেট করা হয়। যখন লাভ গ্রহণ বা স্টপ লস স্পর্শ করা হয়, তখন অবস্থানটি বন্ধ হয়ে যায়।
এই কৌশলটির সবচেয়ে বড় সুবিধা হ'ল নির্দিষ্ট মোমবাতি প্যাটার্নের পরে উচ্চ সম্ভাব্যতার রিবাউন্ডের সুযোগটি দখল করা। পুলব্যাকের পরে নেমে আসা ফাঁকটি একটি অত্যন্ত শক্তিশালী প্রযুক্তিগত প্যাটার্ন উপস্থাপন করে যা এই স্তরে বিক্রয় চাপটি শেষ হয়ে যেতে পারে এবং উচ্চ সম্ভাব্যতার রিবাউন্ড হওয়ার সম্ভাবনা রয়েছে। অতএব, এই কৌশলটি স্বল্পমেয়াদী ব্যবসায়ের জন্য আরও উপযুক্ত।
মূল ঝুঁকি হল পলব্যাক শেষ হওয়ার পরে অব্যাহত ড্রপডাউন। যেহেতু আমরা পলব্যাকের সর্বনিম্ন অবস্থানের আশেপাশে দীর্ঘ অবস্থান নিচ্ছি, তাই যদি সময়মতো ক্ষতি কমাতে না পারি তবে উল্লেখযোগ্য ক্ষতি হতে পারে। এছাড়াও, যদি পলব্যাক ব্যাপ্তি ছোট হয় তবে স্টপ লসটি খুব শক্তভাবে সেট করা হয় তবে এটি বন্ধ হয়ে যেতে পারে। সুতরাং এই কৌশলটি স্বল্পমেয়াদী ব্যবসায়ের জন্য আরও পছন্দসই, যার জন্য ঘনিষ্ঠ বাজার মনোযোগ এবং সময়মত স্টপ লস প্রয়োজন।
অন্যান্য প্রযুক্তিগত সূচকগুলি সংকেত নির্ভুলতা এবং কৌশল স্থিতিশীলতা উন্নত করতে অন্তর্ভুক্ত করা যেতে পারে, যেমন এমএসিডি সোনার ক্রস প্রবেশ করা, বা প্রবেশের আগে সাধারণ মূল্যটি সমর্থন স্তরে রয়েছে তা পরীক্ষা করা। এছাড়াও, সর্বোত্তম পরামিতি সেটটি খুঁজে পেতে বিভিন্ন পণ্য এবং সময়সীমার মধ্যে ওয়াক ফরোয়ার্ড অপ্টিমাইজেশন পরিচালনা করা যেতে পারে। মেশিন লার্নিং কৌশলগুলি স্বয়ংক্রিয় পরামিতি টিউনিংয়ের জন্যও ব্যবহার করা যেতে পারে।
সংক্ষেপে, এটি একটি সাধারণ স্বল্পমেয়াদী ব্রেকআউট পলব্যাক দীর্ঘ কৌশল। এটি পলব্যাকের পরে ডাউনসাইড গ্যাপের শক্তিশালী প্যাটার্নের পরে রিবাউন্ড সুযোগটি ক্যাপচার করে। তবে সময়মতো ক্ষতি কমাতে ব্যর্থ হলে এটি বিশাল ক্ষতির ঝুঁকিও বহন করে। অনুকূল ফলাফলের জন্য ঘন ঘন বাজার পর্যবেক্ষণের প্রয়োজন। আরও সূচক এবং পরামিতি অপ্টিমাইজেশান সহ ফিল্টারিং সংকেতগুলির মাধ্যমে আরও উন্নতি করা যেতে পারে।
/*backtest start: 2024-01-22 00:00:00 end: 2024-02-21 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // Created by Leon Ross //study(title="OutsideDownOpenLower", shorttitle="ODOL", overlay=true) strategy(title = "Outside", shorttitle = "OB", overlay = true ) //Window of time //start = timestamp(2018, 01, 01, 00, 00) // backtest start window //finish = timestamp(2018, 12, 31, 23, 59) // backtest finish window //window() => time >= start and time <= finish ? true : false // create function "within window of time" //Conditions outsideBar = low < low[1] and high > high[1] and close < open allConditions = outsideBar //Stop and Take Profit as percentages //inpTakeProfit = input(2, title='Take Profit %', type=float)/100 //takeProfitValue = strategy.position_avg_price * (1 + inpTakeProfit) //useTakeProfit = inpTakeProfit > 0 ? takeProfitValue : na //inpStopLoss = input(1, title='Stop Loss %', type=float)/100 //stopLossValue = strategy.position_avg_price * (1 - inpStopLoss) //useStopLoss = inpStopLoss > 0 ? stopLossValue : na //entry = strategy.position_avg_price //Stop as last bars low and profit as percentage entry = strategy.position_avg_price inpTakeProfit = input(2.0, title='Take Profit %', type=float)/100 takeProfitValue = strategy.position_avg_price * (1 + inpTakeProfit) useTakeProfit = inpTakeProfit > 0 ? takeProfitValue : na inpStopLoss = valuewhen(allConditions, low, 0) stopLossValue = inpStopLoss useStopLoss = inpStopLoss > 0 ? stopLossValue : na //Plots bgcolor(allConditions ==1 ? aqua : na, transp=70) plot(entry, color=blue, style=linebr, linewidth=2) plot(useStopLoss, color=red, style=linebr, linewidth=2) plot(useTakeProfit, color=green, style=linebr, linewidth=2) //Entires strategy.entry(id = "Long", long = true, when = allConditions) // use function or simple condition to decide when to get in //Exits //if (barssince(allConditions) == 2) //strategy.close("Long") //else strategy.exit("Exit Long", from_entry = "Long", stop = useStopLoss)