এই কৌশলটি একক চলমান গড় এবং বোলিংজার ব্যান্ড সূচক উপর ভিত্তি করে। এটি যখন দাম বোলিংজার ব্যান্ডের উপরের বা নীচের ব্যান্ডটি ভেঙে দেয় তখন এটি ক্রয় এবং বিক্রয় সংকেত উত্পন্ন করে। এছাড়াও এটি প্রবণতা নির্ধারণের জন্য চলমান গড়ের দিক অন্তর্ভুক্ত করে, যখন এমএ বাড়ছে তখন কেবল দীর্ঘ এবং যখন এমএ হ্রাস পাচ্ছে তখন সংক্ষিপ্ত সময় নেয়।
কৌশলটি মূলত নিম্নলিখিত সূচকগুলিকে মূল্যায়নের জন্য ব্যবহার করেঃ
নির্দিষ্ট ট্রেডিং সিগন্যাল হল:
ট্রেন্ড এবং ব্রেকআউটকে একত্রিত করে, ট্রেডিং সিগন্যাল আরো নির্ভরযোগ্য হয়ে ওঠে এবং মিথ্যা ব্রেকআউট এড়ানো যায়।
সাধারণভাবে এটি একটি সহজ কিন্তু ব্যবহারিক কৌশল যা বেশিরভাগ মানুষের জন্য উপযুক্ত। কিছু টিউনিং এবং অপ্টিমাইজেশান সহ এটি আরও শক্তিশালী এবং আরও বাজারের পরিস্থিতিতে অভিযোজিত হতে পারে। এটি একটি কৌশল যা সুপারিশ করার মতো।
/*backtest start: 2023-12-14 00:00:00 end: 2023-12-18 19:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title="single sma cross", shorttitle="single sma cross",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,overlay=true,currency="USD") s=input(title="s",defval=90) p=input(title="p",type=float,defval=.9,step=.1) sa=sma(close,s) plot(sa,color=red,linewidth=3) band=stdev(close,s)*p plot(band+sa,color=lime,title="") plot(-band+sa,color=lime,title="") // ===Strategy Orders============================================= ======== inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0) inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0) inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0) inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0) useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na longCondition = crossover(close,sa+band) and rising(sa,5) shortCondition = crossunder(close,sa-band) and falling(sa,5) crossmid = cross(close,sa) strategy.entry(id = "Long", long=true, when = longCondition) strategy.close(id = "Long", when = shortCondition) strategy.entry(id = "Short", long=false, when = shortCondition) strategy.close(id = "Short", when = longCondition) strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=crossmid) strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=crossmid)