এটা প্রায়ই বলা হয় যে ট্রেডিং একটি শিল্প, এবং শিল্প অনুপ্রেরণা থেকে আসে। তাই আজ আমি আপনার সাথে শেয়ার করতে চাই কিভাবে আমার ট্রেডিং অনুপ্রেরণা অন্বেষণ করতে FMZ Quant ডেটা প্লেব্যাক ফাংশন ব্যবহার করতে হয়।
আমরা সাধারণত যা অনুপ্রেরণা বলি তা হ'ল সৃজনশীল অবস্থা যা লোকেরা চিন্তা করার প্রক্রিয়াতে উত্পাদন করে। ব্যবসায়ীদের জন্য, আমাদের মস্তিষ্কের বাম গোলার্ধ কৌশল লেখার, মূলধন বরাদ্দ এবং পরামিতি সেটিংয়ের মতো একটি সিরিজের নিয়মের সূত্রপাত সম্পন্ন করেছে। ট্রেডিংয়ের অনুপ্রেরণা এবং বাজার অনুভূতি মস্তিষ্কের ডান গোলার্ধ থেকে আসে।
অনেক মানুষ
একজন সাধারণ মানুষের চোখে, বাজার অনুভূতি রহস্যময়। এটি একটি রহস্যময় প্রতিভা। এর সাথে, আপনি বাজারে দাঁড়াতে পারেন। আসলে, এটি মস্তিষ্কের দ্বারা স্বতন্ত্র ট্রেডিং অভিজ্ঞতার সংক্ষিপ্তসার। এটি বাজার পর্যবেক্ষণের কয়েক বছর ধরে উপলব্ধি করা একটি অস্পষ্ট পূর্বনির্ধারিত অনুভূতি।
যদিও কঠোরভাবে বলতে গেলে, অনুপ্রেরণা বাজার অনুভূতির সাথে ঠিক একই নয়, আমরা বিশ্বাস করি যে হাজার হাজার বার বাজার পরিমার্জন করার পরে, আমাদের বাজারের গভীরতর বোঝা থাকবে এবং আমরা সহজেই কৌশলগুলি বিকাশ করতে সক্ষম হব। সুতরাং আপনি যদি এই প্রতিভা অর্জন করতে চান এবং আরও ট্রেডিং কৌশল বিকাশ করতে চান। কেবলমাত্র বিপুল সংখ্যক লেনদেনের মাধ্যমে আমরা আমাদের ট্রেডিং সিস্টেম উন্নত করতে পারি।
তবে, দেশীয় কমোডিটি ফিউচার এবং স্টকগুলির প্রতিদিন মাত্র কয়েক ঘন্টা ট্রেডিংয়ের সময় থাকে, তাই বাজারটি পর্যবেক্ষণে, নিজের লাভের নিদর্শন এবং ট্রেডিং নিয়মগুলি গঠনে এবং কেবলমাত্র লাইভ ট্রেডিং থেকে অবচেতনভাবে নিজের শর্তযুক্ত রিফ্লেক্সগুলি প্রশিক্ষণের ক্ষেত্রে অভিজ্ঞতার উন্নতি করা অপ্রতিরোধ্য হবে। দীর্ঘ সময়ের ব্যয় প্রদানের পাশাপাশি, বেশিরভাগ ব্যবসায়ীরা মূলধন ক্ষতির ব্যয়ও বহন করে। এই সমস্যাটি সমাধানের জন্য, এফএমজেড কুইন্ট ডেটা প্লেব্যাক ফাংশনটি বিকাশ করেছে।
ডেটা প্লেব্যাক ফাংশনটি এক্সচেঞ্জের ট্রেডিংয়ের সময় নির্বিশেষে প্রশিক্ষিত হতে পারে এবং এটি বিভিন্ন পণ্যের ফিউচার এবং ডিজিটাল মুদ্রার জাতগুলিকে সমর্থন করে। বাজারটি ম্যানুয়ালি বা স্বয়ংক্রিয়ভাবে পুনরায় খেলতে পারে এবং ঐতিহাসিক বাজারের শুরু এবং শেষ সময় এবং প্লেব্যাক গতি অবাধে সেট করা যেতে পারে। অন্যান্য সফ্টওয়্যারগুলির তুলনায়, কে-লাইন ডেটা প্লেব্যাক মোডটি ব্যাপকভাবে ব্যবহৃত হয়, যখন এফএমজেড কোয়ান্ট টিক স্তরে ডেটা প্লেব্যাক মোড গ্রহণ করে, যা আসল বট ট্রেডিংয়ের ব্যাকটেস্টিং পরিবেশের খুব কাছাকাছি এবং এটি বাজারের মূল্য ভলিউম ডেটা পুনরুত্পাদন করে, যা ব্যবসায়ীদের নিজেদেরকে বাস্তব জগতে নিমজ্জিত করার অনুমতি দেয়।
এফএমজেড কোয়ান্টের অফিসিয়াল ওয়েবসাইট খুলুন (fmz.com) নিবন্ধন করতে এবং লগ ইন করতে, এবং তারপরে ড্যাশবোর্ডে ডাটাবেস ক্লিক করুন ডেটা প্লেব্যাক ফাংশন পৃষ্ঠা প্রদর্শন করতে। চারটি বিকল্প বাক্স এবং একটি নির্বাচন বোতাম রয়েছে। প্রথমে, কেবলমাত্র বাস্তব বট প্লেব্যাক সমর্থন করে এমন জাতগুলি প্রদর্শন করতে নির্বাচন বোতামটি ক্লিক করুন, তারপরে উপরের বাম দিকে পুনরায় খেলতে হবে এমন জাতগুলি নির্বাচন করুন, তারপরে পরবর্তী দুটি বিকল্প বাক্সে ডেটাগুলির শুরু এবং শেষ সময় নির্বাচন করুন, তারপরে ডেটাগুলির সময়কাল নির্বাচন করুন বাস্তব বট প্লেব্যাক হিসাবে, এবং অবশেষে ডেটা প্লেব্যাক ফাংশন শুরু করতে খুব ডানদিকে গো বোতামটি ক্লিক করুন।
ডেটা লেবেলের অধীনে তিনটি বিভাগ রয়েছে। বাম দিকে ট্রেডিং ইতিহাস রয়েছে, যেখানে সমস্ত অর্ডার যা বন্ধ করা হয়েছে তা কালানুক্রমিক ক্রমে প্রদর্শিত হয়। মাঝখানে প্রতিটি ক্রয় এবং বিক্রয় অর্ডার ডেটার 20-পজিশন গভীরতা রয়েছে। ডানদিকে ডেটা প্লেব্যাকের নিয়ন্ত্রণ অঞ্চল রয়েছে, যেখানে আপনি একটি মিডিয়া প্লেয়ার ব্যবহারের মতো ম্যানুয়াল এবং স্বয়ংক্রিয় ডেটা প্লেব্যাক পদ্ধতি নির্বাচন করতে পারেন।
অবস্থান সূচকটি কার্সারকে বাম থেকে ডানে এগিয়ে এবং পিছনে টেনে আনতে পারে, যা আপনাকে দ্রুত ডেটা প্লেব্যাকের শুরু সময় নির্বাচন করতে দেয়।
ডাটা প্লেব্যাকের গতিও নীচে কার্সারটিকে ডান থেকে বাম দিকে, মিলিসেকেন্ডে সরিয়ে নিয়ন্ত্রণ করা যায়, প্লেব্যাকের সময় ডেটা উভয়ই ত্বরান্বিত এবং ধীর করতে।
যদিও বৈশ্বিক অর্থনৈতিক পরিবেশ, জাতীয় ম্যাক্রো নীতি, প্রাসঙ্গিক শিল্প নীতি, সরবরাহ ও চাহিদা সম্পর্ক, আন্তর্জাতিক ঘটনা, সুদের হার এবং বিনিময় হার, মুদ্রাস্ফীতি এবং ডিফ্লেশন, বাজার মনোবিজ্ঞান, অজানা কারণ ইত্যাদি সহ অনেকগুলি কারণ রয়েছে যা দাম বাড়তে এবং হ্রাস পেতে প্রভাবিত করে, তবে বাজারের চূড়ান্ত মূল্য বিভিন্ন পক্ষের মধ্যে প্রতিযোগিতা এবং শর্ট পজিশন পক্ষের ফলাফল। যদি আরও বেশি লোক বিক্রি করে তবে দাম বাড়বে; বিপরীতে, যদি আরও বেশি লোক কেনার চেয়ে বিক্রি করে তবে দাম হ্রাস পাবে। তারপরে আমাদের কেবল একটি ট্রেডিং কৌশল তৈরির জন্য দাম বিশ্লেষণ করতে হবে।
বাইনারেন্স এক্সচেঞ্জের সাম্প্রতিক মাসের বিটিসি_ইউএসডিটি ট্রেডিং জোড়াগুলির এফএমজেড কোয়ান্ট প্লেব্যাকের মাধ্যমে, আমরা দেখেছি যে যখন বাজারটি তীব্রভাবে বেড়েছে এবং হ্রাস পেয়েছে, তখন টিকের অর্ডার বইয়ের ডেটা লং এবং শর্ট পজিশনের মধ্যে অর্ডার ভলিউমের দিক থেকে স্পষ্টতই অসমত্রীক। যখন বাজার বাড়ছে, তখন চলমান দীর্ঘ অর্ডারগুলির সংখ্যা স্পষ্টতই চলমান শর্ট অর্ডারগুলির সংখ্যার চেয়ে বেশি; যখন বাজার বাড়ছে, তখন চলমান দীর্ঘ অর্ডারগুলির সংখ্যার চেয়ে চলমান শর্ট অর্ডারগুলির সংখ্যা স্পষ্টতই বেশি। সুতরাং আমরা অর্ডার বইয়ের অপেক্ষমান অর্ডার ভলিউমের ভিত্তিতে অল্প সময়ের মধ্যে দাম বৃদ্ধি এবং হ্রাসের পূর্বাভাস দিতে পারি?
উত্তর হ্যাঁ।
যখন বাজার বাড়ছে, তখন লং অর্ডারের সংখ্যা স্পষ্টতই লং অর্ডারের চেয়ে বেশি।
যখন বাজার হ্রাস পাচ্ছে, তখন শর্ট অর্ডারের সংখ্যা অবশ্যই লং অর্ডারের চেয়ে বেশি।
আমরা দীর্ঘ এবং সংক্ষিপ্ত মুলতুবি অর্ডার গণনা এবং তাদের তুলনা করার জন্য গভীর টিক ডেটা সংগ্রহ করতে পারি, যদি সংযুক্ত দীর্ঘ এবং সংক্ষিপ্ত মুলতুবি অর্ডারগুলি খুব আলাদা হয় তবে এটি একটি সম্ভাব্য ট্রেডিং সুযোগ হতে পারে। উদাহরণস্বরূপ, যখন দীর্ঘ অবস্থানের অর্ডারের সংখ্যা শর্ট পজিশন অর্ডারের N গুণ হয়, তখন আমরা মনে করতে পারি যে বাজারে বেশিরভাগ লোকেরা উত্থানমুখী, এবং ভবিষ্যতে স্বল্প সময়ের মধ্যে দামের উত্থানের সম্ভাবনা বাড়বে; যখন শর্ট বিক্রেতার সংখ্যা দীর্ঘ বিক্রেতার N গুণ হয়, তখন আমরা মনে করতে পারি যে বাজারে বেশিরভাগ লোক নেতিবাচক, এবং অদূর ভবিষ্যতে দাম হ্রাসের সম্ভাবনা বাড়বে।
উপরের কৌশল যুক্তি অনুযায়ী, এটি কোডে বাস্তবায়িত হতে শুরু করে।fmz.com> লগইন > ড্যাশবোর্ড > কৌশল > কৌশল যোগ করুন > পাইথন ভাষা নির্বাচন করতে এবং কৌশল লিখতে শুরু করার জন্য উপরের ডান কোণে ড্রপ-ডাউন মেনুতে ক্লিক করুন। এই কৌশলটি শিক্ষার একটি ভূমিকা হিসাবে কাজ করে, তাই আমি কৌশলটি সহজ করার চেষ্টা করি এবং নিম্নলিখিত কোডের মন্তব্যগুলিতে মনোযোগ দিন।
ধাপ ১ঃ কৌশলগত কাঠামো লিখুন
# Strategy main function
def onTick():
pass
# Program entry
def main():
while True: # Enter the infinite loop mode
onTick() # Execute the strategy main function
Sleep(1000) # Sleep for 1 second
আমাদের কৌশলটি বড় থেকে ছোট পর্যন্ত লিখতে হবে, ঠিক যেমন একটি বাড়ি তৈরি করা, প্রথমে ফ্রেমটি তৈরি করা এবং তারপরে প্রাচীরটি। এই কাঠামোতে, আমরা দুটি ফাংশন ব্যবহার করিঃ প্রধান ফাংশন এবং অনটিক ফাংশন। প্রধান ফাংশনটি হল প্রোগ্রামের এন্ট্রি, অর্থাৎ প্রোগ্রামটি এখান থেকে কার্যকর হবে, তারপরে অসীম লুপ মোডে প্রবেশ করুন এবং অনটিক ফাংশনটি বারবার কার্যকর করুন। তারপরে আমাদের কেবল কৌশল সামগ্রীটি অনটিক ফাংশনে লিখতে হবে।
ধাপ ২ঃ গ্লোবাল ভেরিয়েবল লিখুন
vol_ratio_arr = [] # Long/Short positions pending order ratio array
mp = 0 # Virtual positions
vol_ratio_arr একটি গ্লোবাল ভেরিয়েবল হিসাবে সংজ্ঞায়িত হওয়ার কারণ, কারণ আমার কৌশলটি টিক ডেটার একটি টুকরোর দীর্ঘ এবং সংক্ষিপ্ত অবস্থানের অপেক্ষাকৃত আদেশের অনুপাত সংগ্রহ করতে হবে। যদি আমরা vol_ratio_arr ভেরিয়েবলটিকে অনটিক ফাংশনে রাখি, তবে লুপের সাথে চালানো স্পষ্টতই অযৌক্তিক। আমাদের যা দরকার তা হল নির্দিষ্ট শর্ত পূরণ হলে লুপ মোডে ভেরিয়েবলের মান পরিবর্তন করা। সবচেয়ে যুক্তিসঙ্গত উপায় হল ভেরিয়েবলটিকে লুপের বাইরে রাখা।
পজিশন ম্যানেজমেন্ট খুবই প্রয়োজনীয়, কারণ এটি ট্রেডিং লজিকের সাথে সম্পর্কিত। সাধারণভাবে, আমরা স্পট লেনদেনের অ্যাকাউন্ট অর্জন করে রাখা মুদ্রা জোড়া গণনা করি। কোডটি সহজ করার জন্য, একটি বিশ্বব্যাপী ভার্চুয়াল অবস্থান পরিবর্তনশীল সরাসরি ট্রেডিং লজিক নিয়ন্ত্রণ করতে সংজ্ঞায়িত করা হয়।
ধাপ 3: বর্তমান বহুগুণ খালি অনুপাত গণনা করুন
depth = exchange.GetDepth() # Get depth data
asks = depth['Asks'] # Get asks array
bids = depth['Bids'] # Get bids array
asks_vol = 0 # All pending orders at ask price
bids_vol = 0 # All pending orders at bid price
for index, ask in enumerate(asks): # Iterate through the ask price array
# Linear calculation of all pending orders at the ask price
asks_vol = asks_vol + ask['Amount'] * (20 - index)
for index, bid in enumerate(bids): # Iterate through the bid price array
# Linear calculation of all pending orders at the bid price
bids_vol = bids_vol + bid['Amount'] * (20 - index)
bidask_ratio = bids_vol / asks_vol # Calculate long/short position ratio
যেমনটি আমরা সকলেই জানি, ডিজিটাল মুদ্রা সাধারণত গভীর তথ্যের 20 স্তর, তাই আমরা দীর্ঘ এবং সংক্ষিপ্ত অবস্থানের অর্ডারের সংখ্যা যোগ করতে পারি দীর্ঘ এবং সংক্ষিপ্ত অবস্থানের অনুপাত গণনা করতে। যখন এই মানটি 1 এর চেয়ে বড় হয়, এর অর্থ হ'ল উত্থানকারীরা ভবিষ্যতে স্বল্প সময়ের মধ্যে দাম বাড়বে; যখন এই মানটি 1 এর চেয়ে কম হয়, এর অর্থ হ'ল bearish লোকেরা ভবিষ্যতে স্বল্প সময়ের মধ্যে দাম হ্রাস পাবে।
যাইহোক, একটি বিষয় আলাদা করা উচিত। অপেক্ষমান অর্ডারটি খোলার বাজারের কাছাকাছি থাকায়, উত্থান বা বার্শের আকাঙ্ক্ষা আরও শক্তিশালী হবে। উদাহরণস্বরূপ, প্রথম স্তরের অর্ডারটি 20 তম স্তরের চেয়ে অবশ্যই উত্থান করতে ইচ্ছুক। অতএব, যখন আমরা অপেক্ষমান অর্ডারগুলি জমা করি, তখন আমাদের 20 স্তরের অর্ডারগুলিকে রৈখিক উপায়ে বিভিন্ন ওজন দিতে হবে, যা আরও যুক্তিসঙ্গত হবে।
ধাপ ৪ঃ একটি নির্দিষ্ট সময়ের মধ্যে লং/শর্ট পজিশনের অনুপাতের রৈখিক হিসাব
global vol_ratio_arr, mp # Introduce global variables
vol_ratio_arr.insert(0, bidask_ratio) # Put the long/short position ratio into the global variable array
if len(vol_ratio_arr) > 20: # If the array exceeds the specified length
vol_ratio_arr.pop() # Delete the oldest elements
all_ratio = 0 # Temporary variable, ratio of all long and short position pending orders
all_num = 0 # Temporary variables, all linear multipliers
for index, vol_ratio in enumerate(vol_ratio_arr): # Variable global variable arrays
num = 20 - index # Linear multiplier
all_num = all_num + num # Linear multiplier accumulation
all_ratio = all_ratio + vol_ratio * num # Accumulation of all long and short position pending orders ratio
ratio = all_ratio / all_num # Linear long and short position pending order ratio
লং-শর্ট পজিশন রেসিও দীর্ঘ ক্রমবর্ধমান মুলতুবি আদেশগুলিকে সংক্ষিপ্ত ক্রমবর্ধমান মুলতুবি আদেশগুলির দ্বারা বিভক্ত করে প্রাপ্ত করা যেতে পারে। তবে, এটি কেবল একটি টিক ডেটা। যদি কেবলমাত্র একটি টিক ডেটা ব্যবহার করা হয় তবে এটি কেনা বেচা লেনদেনের সিদ্ধান্ত নেওয়ার পক্ষে এটি একটি বুদ্ধিমান পছন্দ নাও হতে পারে, কারণ দ্রুত পরিবর্তিত বাজারে, একটি টিক ডেটা বিশ্বাসযোগ্য নয়। সুতরাং আমাদের টিক ডেটার একটি নির্দিষ্ট টুকরো সংগ্রহ করতে হবে এবং অবশেষে রৈখিক গণনার মাধ্যমে একটি ন্যায্য মূল্য গণনা করতে হবে।
ধাপ ৫ঃ অর্ডার দিন
last_ask_price = asks[0]['Price'] # Latest buy one price for asks
last_bid_price = bids[0]['Price'] # Latest sell one price for bids
if mp == 0 and ratio > buy_threshold: # If no currency is held currently, and the ratio is greater than the specified value
exchange.Buy(last_ask_price, 0.01) # Buy
mp = 1 # Set the value of virtual position
if mp == 1 and ratio < sell_threshold: # If there is currency held currently, and the ratio is less than the specified value
exchange.Sell(last_bid_price, 0.01) # Sell
mp = 0 # Reset the value of virtual position
কারণ অর্ডার দেওয়ার সময় আমাদের একটি মূল্য নির্দিষ্ট করতে হবে, আমরা সরাসরি ক্রয় করার সময় সর্বশেষ বিক্রয় এক মূল্য ব্যবহার করতে পারেন; বিক্রয় করার সময়, আপনি সরাসরি সর্বশেষ কিনতে এক মূল্য ব্যবহার করতে পারেন। অবশেষে, অর্ডার দেওয়ার পরে ভার্চুয়াল অবস্থানের মান পুনরায় সেট করুন।
উপরেরটি ডেটা প্লেব্যাক ফাংশনের উপর ভিত্তি করে বিকাশিত লিনিয়ার পেনডিং অর্ডার ফ্লো কৌশলটির কোড বিশ্লেষণ। আপনি যদি পরিমাণগত ব্যবসায়ের শিক্ষানবিস হন তবে ডেটা প্লেব্যাক ফাংশন শূন্য ব্যয়ে ট্রেডিং শিখতে পারে এবং লেনদেন বোঝার সময়কে সংক্ষিপ্ত করতে পারে। প্রাথমিক ফলাফল অর্জনের জন্য সাধারণত একটি বাস্তব বট বা সিমুলেটেড লেনদেনের জন্য বেশ কয়েক বছর সময় লাগে। একই প্রভাব অর্জনের জন্য ডেটা প্লেব্যাক ফাংশনটির জন্য বেশ কয়েক সপ্তাহ সময় লাগে। সময় নষ্ট না করার ভিত্তিতে, আপনি ন্যূনতম ক্ষতির সাথে ট্রেডিং শিখতে পারেন। উন্নত ব্যবসায়ীদের জন্য, গতিশীল পুনরাবৃত্তি আপনাকে আপনার অতীতের সমস্যাগুলি বিশ্লেষণ করতে, ট্রেডিং কৌশলগুলি যাচাই এবং উন্নত করতে, কৌশলগুলিতে ব্যবসায়ীদের আত্মবিশ্বাস বাড়াতে এবং নতুন কৌশলগত অনুপ্রেরণা তৈরি করতে সহায়তা করতে পারে।