কোপক কার্ভ ভিত্তিক পরিমাণগত ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৩-১১-১৩ ১১ঃ৪৪ঃ৫৫
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি পরিমাণগত ট্রেডিং বাস্তবায়নের জন্য কম পরিচিত কপক বক্ররেখা প্রযুক্তিগত সূচক ব্যবহার করে। কপক বক্ররেখা এসএন্ডপি 500 বা এসপিওয়াই ইটিএফ এর মতো একটি ট্রেডিং সমতুল্য বাজারের সূচকের পরিবর্তনের হারের (আরওসি) একটি ওজনযুক্ত চলমান গড় গ্রহণ করে প্রাপ্ত। কপক বক্ররেখা শূন্যের উপরে অতিক্রম করার সময় কিনুন সংকেত উত্পন্ন হয় এবং এটি নীচে অতিক্রম করার সময় বিক্রয় সংকেত উত্পন্ন হয়। মুনাফা লক করার জন্য একটি ঐচ্ছিক ট্রেলিং স্টপ লস উপলব্ধ। কৌশলটি অন্যান্য ইটিএফ এবং স্টকগুলিতে বাণিজ্য সংকেত উত্পন্ন করার জন্য প্রক্সি হিসাবে $ এসপিওয়াই কপক বক্ররেখা ব্যবহার করে।

নীতিমালা

কৌশলটি ট্রেডিং সংকেত তৈরির জন্য প্রযুক্তিগত সূচক হিসাবে কপক কার্ভ ব্যবহার করে। কপক কার্ভ সূত্রটি হলঃ

কপক কার্ভ = ১০ পেরিওড WMA (১৪ পেরিওড ROC + ১১ পেরিওড ROC)

যেখানে ROC পরিবর্তনের হার গণনা করা হয়ঃ (বর্তমান বন্ধ - বন্ধ N সময়কাল আগে) / বন্ধ N সময়কাল আগে

কৌশলটি $SPY এর বন্ধের মূল্যের উপর ভিত্তি করে কপক কার্ভ গণনা করে। কার্ভ শূন্যের উপরে অতিক্রম করার সময় কিনুন সংকেত উত্পন্ন হয় এবং নীচে অতিক্রম করার সময় বিক্রয় সংকেত উত্পন্ন হয়।

সুবিধা

  • অনন্য Coppock বক্ররেখা সূচক ব্যবহার করে যা চলন্ত গড় মত সাধারণ সূচক তুলনায় ভাল ভবিষ্যদ্বাণী ক্ষমতা আছে
  • অপ্টিমাইজেশনের জন্য কনফিগারযোগ্য প্যারামিটার যেমন WMA সময়কাল, ROC সময়কাল ইত্যাদি
  • সিগন্যাল উত্স হিসাবে $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)
    


আরো