৩.৩ কিভাবে এম ভাষায় কৌশল বাস্তবায়ন করা যায়

লেখক:ভাল, তৈরিঃ 2019-06-25 12:08:47, আপডেটঃ 2023-11-11 17:01:30

img

কিভাবে এম ভাষায় কৌশল বাস্তবায়ন করা যায়

সংক্ষিপ্তসার

পূর্ববর্তী নিবন্ধে, আমরা এম ভাষা, মৌলিক ব্যাকরণ, মডেল এক্সিকিউশন পদ্ধতি এবং মডেল শ্রেণীবিভাগের প্রবর্তনের দিক থেকে ট্রেডিং কৌশল বাস্তবায়নের মূলনীতি ব্যাখ্যা করেছি। এই নিবন্ধে, আমরা সাধারণভাবে ব্যবহৃত কৌশল মডিউল এবং প্রযুক্তি থেকে পূর্ববর্তী অংশটি চালিয়ে যাব। সূচক, ধাপে ধাপে আপনাকে একটি কার্যকর ইনট্রাডে পরিমাণগত ট্রেডিং কৌশল অর্জনে সহায়তা করতে।

কৌশল মডিউল

img

এটি সম্পর্কে চিন্তা করুন, আপনি লেগো টুকরো দিয়ে একটি রোবট কিভাবে তৈরি করবেন? আপনি সবসময় উপরে থেকে নীচে বা নীচে থেকে উপরে, টুকরো টুকরো করে একত্রিত করতে পারবেন না। সামান্য সাধারণ জ্ঞান থাকা ব্যক্তিরা জানেন যে তাদের মাথা, বাহু, পা, ডানা ইত্যাদি একত্রিত করা উচিত এবং তারপরে সেগুলিকে একটি সম্পূর্ণ রোবটে একত্রিত করা উচিত। প্রোগ্রাম লেখার ক্ষেত্রেও এটি সত্য, প্রয়োজনীয় ফাংশনগুলিকে একক কৌশল মডিউলে লিখুন এবং তারপরে এই পৃথক কৌশল মডিউলগুলিকে একটি সম্পূর্ণ ট্রেডিং কৌশলতে একত্রিত করুন। নীচে আমি কিছু সাধারণ কৌশল মডিউল তালিকাভুক্ত করবঃ

img

স্টেজ বৃদ্ধি

স্টেজ বৃদ্ধি হ'ল বর্তমান কে-লাইন এর বন্ধের দামের শতাংশের তুলনা পূর্ববর্তী এন সময়ের বন্ধের দামের পার্থক্যের সাথে। উদাহরণস্বরূপঃ সর্বশেষ 10 কে-লাইন স্টেজ বৃদ্ধি গণনা করা যেতে পারেঃ

CLOSE_0:=CLOSE; //get the current K-line's closing price, and save the results to variable CLOSE_0. 
CLOSE_10:=REF(CLOSE,10); //get the pervious 10 K-lines' closing price, and save the results to variable CLOSE_10

(CLOSE_0-CLOSE_10)/CLOSE_10*100;//calculating the percentage of current K line's closing price compare with previous N periods of closing price's difference.

নতুন উচ্চ মূল্য

নতুন সর্বোচ্চ মূল্য গণনা করা হয় বর্তমান K-লাইন N চক্রের সর্বোচ্চ মূল্যের চেয়ে বড় কিনা। উদাহরণস্বরূপঃ বর্তমান K-লাইন সর্বশেষ 10 K-লাইন সর্বোচ্চ মূল্যের চেয়ে বড় কিনা তা গণনা করা যায়ঃ

HHV_10:=HHV(HIGH,10); //Get the highest price of latest 10 K-lines, which includes the current K-line.
HIGH>REF(HHV_10,1); //Judge whether the current K-line's highest price is greater than pervious K-lines' HHV_10 value.

বিপুল পরিমাণে লেনদেনের সাথে মূল্যবৃদ্ধি

উদাহরণস্বরূপঃ যদি বর্তমান K-লাইন এর বন্ধের মূল্য পূর্ববর্তী 10 K-লাইনের বন্ধের মূল্যের 1.5 গুণ হয়, যার অর্থ 10 দিনের মধ্যে, মূল্য 50% বৃদ্ধি পেয়েছে; এবং ট্রেডিং ভলিউমটি পূর্ববর্তী 10 K-লাইনের 5 গুণেরও বেশি বৃদ্ধি পেয়েছে। লিখতে পারেনঃ

CLOSE_10:=REF(CLOSE,10); //get the 10th K-line closing price
IS_CLOSE:=CLOSE/CLOSE_10>1.5; //Judging whether the current K Line closing price is 1.5 times greater than the value of CLOSE_10 

VOL_MA_10:=MA(VOL,10); //get the latest 10 K-lines' average trading volume
IS_VOL:=VOL>VOL_MA_10*5; //Judging whether the current K-line's trading volume is 5 times greater than the value of VOL_MA_10

IS_CLOSE AND IS_VOL; //Judging whether the condition of IS_CLOSE and IS_VOL are both true.

মূল্য সংকীর্ণ শক বাজার

সংকীর্ণ শক বাজার মানে হল যে মূল্য সাম্প্রতিক সময়ের মধ্যে একটি নির্দিষ্ট পরিসরের মধ্যে বজায় রাখা হয়। উদাহরণস্বরূপঃ যদি 10 চক্রের সর্বোচ্চ মূল্য বিয়োগ 10 চক্রের সর্বনিম্ন মূল্য, ফলাফল বর্তমান কে-লাইন এর বন্ধের মূল্য দ্বারা বিভক্ত 0.05 এর চেয়ে কম হয়ঃ

HHV_10:=HHV(CLOSE,10); //Get the highest price in 10 cycles(including current K-line)
LLV_10:=LLV(CLOSE,10); //Get the lowest price in 10 cycles(including current K-line)

(HHV_10-LLV_10)/CLOSE<0.05; //Judging whether the difference between HHV_10 and LLV_10 divided by current k-line's closing price is less than 0.05.

মুভিং মিডিয়ার অর্থ হল শীর্ষ বাজার

মুভিং এভারেজ দীর্ঘ এবং সংক্ষিপ্ত দিক নির্দেশ করে, কে লাইন 5,10,20,30,60 মুভিং এভারেজ লাইনের দ্বারা সমর্থিত বা প্রতিরোধ করা হয়, মুভিং এভারেজ ষাঁড় বা ভালুকের বাজার নির্দেশ করে। লিখতে পারেনঃ

MA_5:=MA(CLOSE,5);  //get the moving average of 5 cycle closing price.
MA_10:=MA(CLOSE,10);//get the moving average of 10 cycle closing price.
MA_20:=MA(CLOSE,20);//get the moving average of 20 cycle closing price.
MA_30:=MA(CLOSE,30);//get the moving average of 30 cycle closing price.

MA_5>MA_10 AND MA_10>MA_20 AND MA_20>MA_30; //determine wether the MA_5 is greater than MA_10, and MA_10 is greater than MA_20, and MA_20 is greater than MA_30.

পূর্ববর্তী উচ্চ মূল্য এবং এর অবস্থান

পূর্ববর্তী উচ্চ মূল্যের অবস্থান এবং এর অবস্থান পেতে, আপনি সরাসরি FMZ Quant API ব্যবহার করতে পারেন। লিখতে পারেনঃ

HHV_20:=HHV(HIGH,20); //get the highest price of 20 cycle(including current K line)
HHVBARS_20:=HHVBARS(HIGH,20); //get the number of cycles from the highest price in 20 cycles to current K line
HHV_60_40:REF(HHV_20,40); //get the highest price between 60 cycles and 40 cycles.

দামের ব্যবধান বেড়েছে

দামের ফাঁক এমন একটি ঘটনা যেখানে দুটি কে লাইনের সর্বোচ্চ এবং সর্বনিম্ন দামগুলি সংযুক্ত নয়। এটি দুটি কে লাইনের সমন্বয়ে গঠিত, এবং দামের ফাঁক ভবিষ্যতের মূল্য আন্দোলনের সমর্থন এবং চাপ পয়েন্টগুলির রেফারেন্স মূল্য। যখন দামের ফাঁক ঘটে তখন অনুমান করা যেতে পারে যে মূল দিকের সাথে প্রবণতা বরাবর একটি ত্বরণ শুরু হয়েছে। এটি লিখতে পারেঃ

HHV_1:=REF(H,1); //get the pervious K line's highest price
LLV_1:=REF(L,1); //get the pervious K line's lowest price
HH:=L>HHV_1; //judging wether the current K line's lowest price is greater than pervious K line's highest price (jump up)
LL:=H<LLV_1; //judging wether the current K line's highest price is greater than pervious K line's lowest price (jump down)
HHH:=L/REF(H,1)>1.001; //adding additional condition, the bigger of the price gap, the stronger the signal (jump up)  
LLL:=H/REF(L.1)<0.999; //adding additional condition, the bigger of the price gap, the stronger the signal (jump down)  
JUMP_UP:HH AND HHH; //judging the overall condition, whether it is a jump up
JUMP_DOWN:LL AND LLL; //judging the overall condition, whether it is a jump down

সাধারণ প্রযুক্তিগত সূচক

চলমান গড়

img

পরিসংখ্যানগত দৃষ্টিকোণ থেকে, চলমান গড় হ'ল দৈনিক মূল্যের গাণিতিক গড়, যা একটি প্রবণতা মূল্যের গতিপথ। চলমান গড় সিস্টেমটি বেশিরভাগ বিশ্লেষকদের দ্বারা ব্যবহৃত একটি সাধারণ প্রযুক্তিগত সরঞ্জাম। প্রযুক্তিগত দৃষ্টিকোণ থেকে, এটি এমন একটি কারণ যা প্রযুক্তিগত বিশ্লেষকদের মনস্তাত্ত্বিক মূল্যকে প্রভাবিত করে। চিন্তাভাবনা ব্যবসায়ের সিদ্ধান্ত গ্রহণের কারণটি প্রযুক্তিগত বিশ্লেষকদের জন্য একটি ভাল রেফারেন্স সরঞ্জাম। এফএমজেড কোয়ান্ট সরঞ্জামটি বিভিন্ন ধরণের চলমান গড়কে সমর্থন করে, যেমন নীচে দেখানো হয়েছেঃ

MA_DEMO:MA(CLOSE,5);   // get the moving average of 5 cycle
MA_DEMO:EMA(CLOSE,15); // get the smooth moving average of 15 cycle
MA_DEMO:EMA2(CLOSE,10);// get the linear weighted moving average of 10 cycle
MA_DEMO:EMAWH(CLOSE,50); // get the exponentially weighted moving average of 50 cycle
MA_DEMO:DMA(CLOSE,100);  // get the dynamic moving average of 100 cycle
MA_DEMO:SMA(CLOSE,10,3); // get the fixed weight of 3 moving average of closing price in 10 cycle
MA_DEMO:ADMA(CLOSE,9,2,30); // get the fast-line 2 and slow-line 30 Kaufman moving average of closing price in 9 cycle.

বোলিংজার ব্যান্ড

img

বোলিংগার ব্যান্ডগুলিও পরিসংখ্যানগত নীতির উপর ভিত্তি করে। মধ্য রেলটি এন-দিনের চলমান গড় অনুসারে গণনা করা হয় এবং উপরের এবং নীচের রেলগুলি স্ট্যান্ডার্ড বিচ্যুতি অনুসারে গণনা করা হয়। যখন বিওএলএল চ্যানেলটি প্রশস্ত থেকে সংকীর্ণ হতে পরিবর্তন হতে শুরু করে, যার অর্থ দাম ধীরে ধীরে গড়ের দিকে ফিরে আসবে। যখন বিওএলএল চ্যানেলটি সংকীর্ণ থেকে প্রশস্ত হয়ে উঠছে, এর অর্থ হ'ল বাজারটি পরিবর্তন হতে শুরু করবে। যদি দামটি উপরের রেলটি অতিক্রম করে তবে এর অর্থ ক্রয় ক্ষমতা বাড়ানো হয়েছে। যদি দামটি নীচের রেলটি অতিক্রম করে তবে এটি বিক্রয় ক্ষমতা বাড়ানো হয়েছে।

সমস্ত প্রযুক্তিগত সূচকগুলির মধ্যে, বোলিংজার ব্যান্ড গণনার পদ্ধতিটি সবচেয়ে জটিলগুলির মধ্যে একটি, যা পরিসংখ্যানের মধ্যে স্ট্যান্ডার্ড ডিভিয়েশন ধারণাটি প্রবর্তন করে, যার মধ্যে মধ্যম গতিপথ (এমবি), উপরের গতিপথ (ইউপি) এবং নিম্ন গতিপথ (ডিএন) জড়িত। সৌভাগ্যক্রমে, আপনাকে গণনার বিশদ জানতে হবে না, আপনি এটি সরাসরি ব্যবহার করতে পারেন FMZ Quant প্ল্যাটফর্ম নিম্নরূপঃ

MID:MA(CLOSE,100); //calculating moving average of 100 cycle, call it Bollinger Bands middle trajectory   
TMP2:=STD(CLOSE,100); //calculating standard deviation of closing price of 100 cycle.
TOP:MID+2*TMP2; //calculating middle trajectory plus 2 times of standard deviation, call it upper trajectory
BOTTOM:MID-2*TMP2; //calculating middle trajectory plus 2 times of standard deviation, call it lower trajectory

এমএসিডি সূচক

img

এমএসিডি সূচকটি দ্রুত (স্বল্পমেয়াদী) এবং ধীর (দীর্ঘমেয়াদী) চলমান গড় এবং তাদের সমষ্টি এবং বিচ্ছেদ ব্যবহার করে একটি দ্বৈত মসৃণকরণ অপারেশন। চলমান গড়ের নীতি অনুসারে বিকাশিত এমএসিডি ত্রুটিটি দূর করে যে চলমান গড় প্রায়শই মিথ্যা সংকেত দেয় এবং অন্য ভাল দিকটির প্রভাবও ধরে রাখে। অতএব, এমএসিডি সূচকটি চলমান গড়ের প্রবণতা এবং স্থিতিশীলতা রয়েছে। এটি স্টক কেনা এবং বিক্রয় করার সময়টি অধ্যয়ন করতে ব্যবহৃত হয়েছিল এবং স্টক মূল্য পরিবর্তন পূর্বাভাস দেয়। আপনি এটি নিম্নরূপ ব্যবহার করতে পারেনঃ

DIFF:EMA(CLOSE,10)-EMA(CLOSE,50); //First calculating the difference between short-term moving average and long-term moving average.
DEA:EMA(DIFF,10); //Then calculating average of the difference.

উপরে বর্ণিত পরিমাণগত ট্রেডিং কৌশলগুলির বিকাশে সাধারণভাবে ব্যবহৃত কৌশল মডিউল। এছাড়াও, এর চেয়ে অনেক বেশি রয়েছে। উপরের মডিউল উদাহরণগুলির মাধ্যমে, আপনি বেশ কয়েকটি ট্রেডিং মডিউল বাস্তবায়ন করতে পারেন যা আপনি স্বতন্ত্র ট্রেডিংয়ে সর্বাধিক ঘন ঘন ব্যবহার করেন। পদ্ধতিগুলি একই। পরবর্তী, আমরা একটি কার্যকর ইনট্রাডে ট্রেডিং কৌশল লিখতে শুরু করি।

কৌশল লিখুন

ফরেক্স স্পট মার্কেটে, HANS123 নামে একটি সুপরিচিত কৌশল রয়েছে। এর যুক্তি মূলত মূল্যায়ন করে যে বাজার খোলার পরে কে লাইনের সংখ্যাটির সর্বোচ্চ বা সর্বনিম্ন মূল্যের মাধ্যমে দামটি ভেঙে যায় কিনা

কৌশলগত যুক্তি

  • খোলার ৩০ মিনিট পর বাজারে প্রবেশের জন্য প্রস্তুত;

  • উর্ধ্ব রেল = খোলার পর 30 মিনিট উচ্চতা;

  • নিম্ন রেল = খোলার পর ৩০ মিনিট;

  • যখন মূল্য উপরের সীমা অতিক্রম করে, তখন পজিশনটি কিনুন এবং খুলুন;

  • যখন দাম নীচের রেলের নিচে পড়ে, তখন বিক্রেতা পজিশনটি খোলে।

  • ইনট্রা ডে ট্রেডিং কৌশল, বন্ধের আগে বন্ধ;

কৌশল কোড

// Data Calculation
Q:=BARSLAST(DATA<>REF(DATA,1))+1; //Calculating the number of period from 
the first K line of the current trading day to current k line, and assign the results to N 
HH:=VALUEWHEN(TIME=0930,HHV(H,Q)); //when time is 9:30, get the highest price of N cycles, and assign the results to HH
LL:=VALUEWHEN(TIME=0930,LLV(L,Q)); //When time is 9:30, get the lowest price of N cycles, and assign the results to LL

//Placing Orders
TIME>0930 AND TIME<1445 AND C>HH,BK; //If the time is greater than 9:30 and lesser than 14:45, and the closing price is greater than HH, opening long position.
TIME>0930 AND TIME<1445 AND C<LL,SK; //If the time is greater than 9:30 and lesser than 14:45, and the closing price is lesser than LL, opening short position.
TIME>=1445,CLOSEOUT; //If the time is greater or equal to 14:45, close all position.

//Filtering the signals
AUTOFILTER;  //opening the filtering the signals mechanism

সংক্ষেপে

উপরে আমরা কৌশল মডিউল ধারণা শিখেছি। বেশ কয়েকটি সাধারণভাবে ব্যবহৃত কৌশল মডিউল ক্ষেত্রে, আমরা FMZ Quant প্রোগ্রামিং সরঞ্জাম সম্পর্কে একটি সাধারণ ধারণা ছিল, এটা বলা যেতে পারে যে কৌশল মডিউল লিখতে শেখা এবং প্রোগ্রামিং লজিক চিন্তা উন্নত উন্নত পরিমাণগত ট্রেডিং একটি মূল পদক্ষেপ। অবশেষে, আমরা একটি ক্লাসিক ফরেক্স ট্রেডিং কৌশল অনুযায়ী ট্রেডিং কৌশল বাস্তবায়ন FMZ Quant টুল ব্যবহার।

পরবর্তী বিভাগের বিজ্ঞপ্তি

সম্ভবত কিছু লোকের জন্য এখনও কিছুটা বিভ্রান্তি রয়েছে, মূলত কোডিং অংশের কারণে। চিন্তা করবেন না, আমরা ইতিমধ্যে আপনার জন্য এটি ভেবেছি। এফএমজেড কোয়ান্ট প্ল্যাটফর্মে, নতুনদের জন্য আরও একটি সহজ প্রোগ্রামিং সরঞ্জাম রয়েছে। এটি ভিজ্যুয়াল প্রোগ্রামিং, আসুন এটি শিগগিরই শিখুন!

স্কুলের পর ব্যায়াম

  1. অনেক ট্রেডিং মডিউল বাস্তবায়ন করার চেষ্টা করুন যা আপনি সবচেয়ে বেশি ব্যবহার করেন।

  2. FMZ Quant প্ল্যাটফর্মে M ভাষা ব্যবহার করে KDJ সূচক অ্যালগরিদম বাস্তবায়নের চেষ্টা করুন।


আরো