এই কৌশলটি পরিমাণগত ট্রেডিং বাস্তবায়নের জন্য কম পরিচিত কপক বক্ররেখা প্রযুক্তিগত সূচক ব্যবহার করে। কপক বক্ররেখা এসএন্ডপি 500 বা এসপিওয়াই ইটিএফ এর মতো একটি ট্রেডিং সমতুল্য বাজারের সূচকের পরিবর্তনের হারের (আরওসি) একটি ওজনযুক্ত চলমান গড় গ্রহণ করে প্রাপ্ত। কপক বক্ররেখা শূন্যের উপরে অতিক্রম করার সময় কিনুন সংকেত উত্পন্ন হয় এবং এটি নীচে অতিক্রম করার সময় বিক্রয় সংকেত উত্পন্ন হয়। মুনাফা লক করার জন্য একটি ঐচ্ছিক ট্রেলিং স্টপ লস উপলব্ধ। কৌশলটি অন্যান্য ইটিএফ এবং স্টকগুলিতে বাণিজ্য সংকেত উত্পন্ন করার জন্য প্রক্সি হিসাবে $ এসপিওয়াই কপক বক্ররেখা ব্যবহার করে।
কৌশলটি ট্রেডিং সংকেত তৈরির জন্য প্রযুক্তিগত সূচক হিসাবে কপক কার্ভ ব্যবহার করে। কপক কার্ভ সূত্রটি হলঃ
কপক কার্ভ = ১০ পেরিওড WMA (১৪ পেরিওড ROC + ১১ পেরিওড ROC)
যেখানে ROC পরিবর্তনের হার গণনা করা হয়ঃ (বর্তমান বন্ধ - বন্ধ N সময়কাল আগে) / বন্ধ N সময়কাল আগে
কৌশলটি $SPY এর বন্ধের মূল্যের উপর ভিত্তি করে কপক কার্ভ গণনা করে। কার্ভ শূন্যের উপরে অতিক্রম করার সময় কিনুন সংকেত উত্পন্ন হয় এবং নীচে অতিক্রম করার সময় বিক্রয় সংকেত উত্পন্ন হয়।
কৌশলটি ট্রেড সংকেত তৈরির জন্য কপক কার্ভের অনন্য বক্ররেখা আকারের বৈশিষ্ট্যগুলি ব্যবহার করে। সাধারণ সূচকের তুলনায়, কপক কার্ভের শক্তিশালী ভবিষ্যদ্বাণী ক্ষমতা রয়েছে। তবে একটি স্বতন্ত্র সূচক হিসাবে, এর নির্ভরযোগ্যতার যাচাইয়ের প্রয়োজন। মিথ্যা সংকেতগুলি ফিল্টার করতে এটি অন্যান্য কারণগুলির সাথে একত্রিত করার পরামর্শ দেওয়া হয়। প্যারামিটার অপ্টিমাইজেশান, স্টপ লস অপ্টিমাইজেশান এবং অন্যান্য সূচকগুলির সাথে একত্রিত করে, এই কৌশলটি একটি কার্যকর পরিমাণগত ট্রেডিং সিস্টেম হয়ে উঠতে পারে।
/*backtest start: 2023-10-13 00:00:00 end: 2023-11-12 00:00:00 period: 1d basePeriod: 1h 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/ // © RolandoSantos //@version=4 strategy(title = "Coppock Curve", shorttitle = "Copp Curve Strat", default_qty_type=strategy.cash, default_qty_value=10000, initial_capital=10000) ///trail stop longTrailPerc = input(title="Trail Long Loss (%)", minval=0.0, step=0.1, defval=100) * 0.01 // Determine trail stop loss prices longStopPrice = 0.0 longStopPrice := if (strategy.position_size > 0) stopValue = close * (1 - longTrailPerc) max(stopValue, longStopPrice[1]) else 0 //Use SPY for Copp Curve entries and exits// security = input("SPY") ticker = security(security, "D", close) ///Copp Curve//// wmaLength = input(title="WMA Length", type=input.integer, defval=10) longRoCLength = input(title="Long RoC Length", type=input.integer, defval=14) shortRoCLength = input(title="Short RoC Length", type=input.integer, defval=11) source = ticker curve = wma(roc(source, longRoCLength) + roc(source, shortRoCLength), wmaLength) ///Lower Band Plot/// band1 = hline(0) band0 = hline(100) band2 = hline(-100) fill(band1, band0, color=color.green, transp=90) fill(band2, band1, color=color.red, transp=90) plot(curve, color=color.white) ///Trade Conditions/// Bull = curve > 0 Bear = curve < 0 ///Entries and Exits// if (Bull) strategy.entry("Long", strategy.long, comment = "LE") if (Bear) strategy.close("Long", qty_percent=100, comment="close") // Submit exit orders for trail stop loss price if (strategy.position_size > 0) strategy.exit(id="Long Trail Stop", stop=longStopPrice)