یہ اکثر کہا جاتا ہے کہ ٹریڈنگ ایک فن ہے، اور فن الہام سے آتا ہے۔ لہذا آج میں آپ کے ساتھ اشتراک کرنا چاہتا ہوں کہ اپنے تجارتی الہام کو دریافت کرنے کے لئے ایف ایم زیڈ کوانٹ ڈیٹا پلے بیک فنکشن کا استعمال کیسے کریں۔
جو ہم عام طور پر حوصلہ افزائی کہتے ہیں وہ تخلیقی حالت سے مراد ہے جو لوگ سوچنے کے عمل میں پیدا کرتے ہیں۔ تاجروں کے ل our ، ہمارے دماغ کے بائیں نصف کرہ نے حکمت عملی لکھنے ، سرمایہ مختص کرنے اور پیرامیٹرز کی ترتیب جیسے قواعد کی ایک سیریز کی تشکیل مکمل کرلی ہے۔ ٹریڈنگ کی حوصلہ افزائی اور مارکیٹ کا احساس دماغ کے دائیں نصف کرہ سے آتا ہے۔
بہت سے لوگوں نے لفظ
ایک عام آدمی کی نظر میں ، مارکیٹ کا احساس پراسرار ہے۔ یہ ایک پراسرار ہنر ہے۔ اس کے ساتھ ، آپ مارکیٹ میں کھڑے ہوسکتے ہیں۔ در حقیقت ، یہ دماغ کے ذریعہ خود مختار تجارتی تجربے کا خلاصہ ہے۔ یہ مارکیٹ کو دیکھنے کے سالوں کے ذریعے محسوس ہونے والا ایک مبہم تعصب کا احساس ہے۔
اگرچہ سختی سے بات کرتے ہوئے ، حوصلہ افزائی بالکل وہی نہیں ہے جو مارکیٹ کا احساس ہے ، لیکن ہمارا خیال ہے کہ ہزاروں بار مارکیٹ کی اصلاح کے بعد ، ہمارے پاس مارکیٹ کی گہری تفہیم ہوگی ، اور ہم آسانی سے حکمت عملی تیار کرسکیں گے۔ لہذا اگر آپ اس ہنر کو حاصل کرنا چاہتے ہیں اور مزید تجارتی حکمت عملی تیار کرنا چاہتے ہیں۔ صرف بڑی تعداد میں لین دین کے ذریعے ، ہم اپنے تجارتی نظام کو بہتر بنا سکتے ہیں۔
تاہم ، گھریلو خام مال کے فیوچر اور اسٹاک میں صرف ایک دن میں چند گھنٹے کا ہی تجارتی وقت ہوتا ہے ، لہذا مارکیٹ کو دیکھنے ، اپنے منافع کے نمونوں اور تجارتی قوانین کی تشکیل ، اور صرف براہ راست تجارت سے لاشعوری طور پر اپنے مشروط ریفلیکس کی تربیت کرنے میں کسی کے تجربے کو بہتر بنانا زبردست ہوگا۔ طویل وقت کی لاگت ادا کرنے کے علاوہ ، زیادہ تر تاجر سرمایہ خسارے کی لاگت بھی برداشت کرتے ہیں۔ اس مسئلے کو حل کرنے کے لئے ، ایف ایم زیڈ کوانٹ نے ڈیٹا پلے بیک فنکشن تیار کیا۔
ڈیٹا پلے بیک فنکشن کو ایکسچینج کے تجارتی اوقات سے قطع نظر تربیت دی جاسکتی ہے ، اور یہ مختلف قسم کے خام مال کے فیوچر اور ڈیجیٹل کرنسی کی اقسام کی حمایت کرتا ہے۔ مارکیٹ کو دستی طور پر یا خود بخود پلے بیک کیا جاسکتا ہے ، اور تاریخی مارکیٹ کا آغاز اور اختتام کا وقت اور پلے بیک کی رفتار کو آزادانہ طور پر مقرر کیا جاسکتا ہے۔ دوسرے سافٹ ویئر کے مقابلے میں ، کے لائن ڈیٹا پلے بیک موڈ وسیع پیمانے پر استعمال ہوتا ہے ، جبکہ ایف ایم زیڈ کوانٹ ٹِک کی سطح پر ڈیٹا پلے بیک موڈ اپناتا ہے ، جو حقیقی روبوٹ ٹریڈنگ کے بیک ٹیسٹنگ ماحول کے واقعی قریب ہے ، اور یہ مارکیٹ کی قیمت حجم کے اعداد و شمار کو دوبارہ پیش کرتا ہے ، جس سے تاجروں کو حقیقی دنیا میں خود کو غرق کرنے کی اجازت ملتی ہے۔
FMZ Quant کی سرکاری ویب سائٹ کھولیں (fmz.comڈیش بورڈ میں ڈیٹا بیس پر کلک کریں تاکہ ڈیٹا پلے بیک فنکشن کا صفحہ دکھایا جاسکے۔ چار آپشن باکس اور ایک انتخاب بٹن ہیں۔ پہلے ، صرف ان اقسام کو ظاہر کرنے کے لئے انتخاب کے بٹن پر کلک کریں جو حقیقی بوٹ پلے بیک کی حمایت کرتے ہیں ، پھر بائیں اوپر کی طرف پلے بیک کرنے والی اقسام کو منتخب کریں ، پھر اگلے دو آپشن باکس میں ڈیٹا کا آغاز اور اختتام کا وقت منتخب کریں ، پھر ڈیٹا کی مدت کو حقیقی بوٹ پلے بیک کے طور پر منتخب کریں ، اور آخر میں ڈیٹا پلے بیک فنکشن کو شروع کرنے کے لئے دائیں طرف جانے والے بٹن پر کلک کریں۔
ڈیٹا لیبل کے تحت تین حصے ہیں۔ بائیں طرف تجارتی تاریخ ہے ، جہاں تمام آرڈرز جو بند ہوچکے ہیں وہ تاریخی ترتیب میں دکھائے گئے ہیں۔ وسط میں ہر خرید و فروخت کے آرڈر کے ڈیٹا کی 20 پوزیشن کی گہرائی ہے۔ دائیں طرف ڈیٹا پلے بیک کا کنٹرول ایریا ہے ، جہاں آپ میڈیا پلیئر کا استعمال کرتے ہوئے کی طرح دستی اور خودکار ڈیٹا پلے بیک کے طریقوں کا انتخاب کرسکتے ہیں۔
پوزیشن انڈیکس کرنسر کو بائیں سے دائیں آگے اور پیچھے گھسیٹ سکتا ہے، جس سے آپ کو ڈیٹا پلے بیک کے آغاز کا وقت تیزی سے منتخب کرنے کی اجازت ملتی ہے۔
ڈیٹا پلے بیک کی رفتار کو نیچے سے بھی کنٹرول کیا جاسکتا ہے جس میں کرنسر کو دائیں بائیں منتقل کرکے ملی سیکنڈ میں ، پلے بیک کے دوران ڈیٹا کو تیز اور سست کرنے کے لئے۔
اگرچہ قیمت میں اضافے اور کمی کو متاثر کرنے والے بہت سے عوامل ہیں ، جن میں عالمی معاشی ماحول ، قومی میکرو پالیسیاں ، متعلقہ صنعتی پالیسیاں ، طلب اور رسد کے تعلقات ، بین الاقوامی واقعات ، سود کی شرح اور زر مبادلہ کی شرح ، افراط زر اور افراط زر ، مارکیٹ نفسیات ، نامعلوم عوامل وغیرہ شامل ہیں ، لیکن مارکیٹ میں حتمی قیمت مختلف فریقوں اور شارٹ پوزیشن کی طرف کے مابین مقابلہ کا نتیجہ ہے۔ اگر زیادہ لوگ خریدتے ہیں تو قیمت بڑھ جائے گی۔ اس کے برعکس ، اگر زیادہ لوگ خریدتے ہیں تو قیمت کم ہوجائے گی۔ پھر ہمیں صرف تجارتی حکمت عملی بنانے کے لئے قیمت کا تجزیہ کرنے کی ضرورت ہے۔
بائننس ایکسچینج کے حالیہ مہینوں کے ایف ایم زیڈ کوانٹ پلے بیک کے ذریعے ، ہم نے پایا کہ جب مارکیٹ میں تیزی سے اضافہ اور کمی واقع ہوتی ہے تو ، ٹِک کے آرڈر بک کے اعداد و شمار طویل اور مختصر پوزیشنوں کے مابین آرڈرز کے حجم کے لحاظ سے واضح طور پر غیر متناسب ہوتے ہیں۔ جب مارکیٹ میں اضافہ ہوتا ہے تو ، جانے والے طویل آرڈرز کی تعداد واضح طور پر جانے والے مختصر آرڈرز کی تعداد سے زیادہ ہوتی ہے۔ جب مارکیٹ میں اضافہ ہوتا ہے تو ، جانے والے مختصر آرڈرز کی تعداد واضح طور پر جانے والے لمبے آرڈرز کی تعداد سے زیادہ ہوتی ہے۔ لہذا کیا ہم آرڈر بک میں زیر التواء آرڈر حجم کی بنیاد پر مختصر مدت میں قیمت میں اضافے اور کمی کی پیش گوئی کرسکتے ہیں؟
جواب ہاں میں ہے۔
جب مارکیٹ بڑھ رہی ہے تو، جانے والے طویل احکامات کی تعداد واضح طور پر جانے والے مختصر احکامات کی تعداد سے زیادہ ہے.
جب مارکیٹ کم ہو رہی ہے تو، مختصر آرڈرز کی تعداد واضح طور پر طویل آرڈرز کی تعداد سے زیادہ ہے.
ہم طویل اور مختصر زیر التواء آرڈرز کا حساب لگانے اور ان کا موازنہ کرنے کے لئے گہرائی میں ٹک ڈیٹا اکٹھا کرسکتے ہیں ، اگر مشترکہ طویل اور مختصر زیر التواء آرڈرز بہت مختلف ہیں تو ، یہ ایک ممکنہ تجارتی موقع ہوسکتا ہے۔ مثال کے طور پر ، جب طویل پوزیشن آرڈرز کی تعداد مختصر پوزیشن آرڈرز سے N گنا ہے تو ، ہم یہ سوچ سکتے ہیں کہ مارکیٹ میں زیادہ تر لوگ تیزی سے ہیں ، اور مستقبل میں مختصر وقت میں قیمت میں اضافے کا امکان بڑھ جائے گا۔ جب مختصر بیچنے والوں کی تعداد طویل بیچنے والوں سے N گنا ہے تو ، ہم یہ سوچ سکتے ہیں کہ مارکیٹ میں زیادہ تر لوگ bearish ہیں ، اور مستقبل قریب میں قیمت میں کمی کا امکان بڑھ جائے گا۔
مندرجہ بالا حکمت عملی منطق کے مطابق، یہ کوڈ میں لاگو کیا جا کرنے کے لئے شروع ہوتا ہے.fmz.comپائیتھون زبان کو منتخب کرنے اور حکمت عملی لکھنا شروع کرنے کے لئے اوپری دائیں کونے میں ڈراپ ڈاؤن مینو پر کلک کریں۔ یہ حکمت عملی تعلیم کے لئے تعارف کے طور پر کام کرتی ہے ، لہذا میں حکمت عملی کو آسان بنانے اور مندرجہ ذیل کوڈ میں تبصروں پر توجہ دینے کی کوشش کرتا ہوں۔
مرحلہ 1: حکمت عملی کا فریم ورک لکھیں
# 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
ہمیں اپنی حکمت عملی کو بڑے سے چھوٹے تک لکھنا چاہئے ، بالکل اسی طرح جیسے گھر بنانا ، پہلے فریم بنانا اور پھر دیوار بنانا۔ اس فریم ورک میں ، ہم دو افعال استعمال کرتے ہیں: مرکزی فنکشن اور آن ٹِک فنکشن۔ بنیادی فنکشن پروگرام کی ان پٹ ہے ، یعنی ، پروگرام یہاں سے عملدرآمد کرے گا ، پھر لامحدود لوپ موڈ میں داخل ہوگا ، اور بار بار آن ٹِک فنکشن کو انجام دے گا۔ پھر ہمیں صرف حکمت عملی کا مواد آن ٹِک فنکشن میں لکھنے کی ضرورت ہے۔
مرحلہ 2: گلوبل متغیرات لکھیں
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 سے زیادہ ہوتی ہے تو ، اس کا مطلب یہ ہے کہ تیزی والے لوگ مستقبل میں مختصر مدت میں bearish لوگوں سے زیادہ ہیں ، اس کا مطلب یہ ہے کہ قیمت میں اضافہ ہوگا۔ جب یہ قدر 1 سے کم ہوتی ہے ، اس کا مطلب یہ ہے کہ bearish لوگ مستقبل میں مختصر مدت میں bearish لوگوں سے زیادہ ہیں ، اس کا مطلب یہ ہے کہ قیمت میں کمی واقع ہوگی۔
تاہم ، ایک نکتہ فرق کرنا ہے۔ زیر التواء آرڈر کھلنے والی مارکیٹ سے جتنا قریب ہوگا ، تیزی یا بیریش کی خواہش اتنی ہی زیادہ ہوگی۔ مثال کے طور پر ، پہلی سطح کا آرڈر یقینی طور پر 20 ویں سطح کے مقابلے میں تیزی کے لئے زیادہ تیار ہے۔ لہذا ، جب ہم زیر التواء آرڈرز کو جمع کرتے ہیں تو ، ہمیں 20 سطحوں کے احکامات کو لکیری انداز میں مختلف وزن دینے کی ضرورت ہے ، جو زیادہ معقول ہوگا۔
مرحلہ 4: ایک وقت کی مدت میں طویل / مختصر پوزیشن کے تناسب کا لکیری حساب کتاب
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
لانگ شارٹ پوزیشن کا تناسب طویل مجموعی زیر التواء آرڈرز کو مختصر مجموعی زیر التواء آرڈرز سے تقسیم کرکے حاصل کیا جاسکتا ہے۔ تاہم ، یہ صرف ٹِک ڈیٹا ہے۔ اگر صرف ایک ٹِک ڈیٹا استعمال کیا جاتا ہے تو ، خرید و فروخت کے لین دین کا فیصلہ کرنا ایک دانشمند انتخاب نہیں ہوسکتا ہے ، کیونکہ تیزی سے بدلتی ہوئی مارکیٹ میں ، ایک ٹِک ڈیٹا ناقابل یقین ہے۔ لہذا ہمیں ٹِک ڈیٹا کا ایک مقررہ ٹکڑا جمع کرنے کی ضرورت ہے ، اور آخر کار لکیری حساب کتاب کے ذریعے منصفانہ قیمت کا حساب لگانا ہے۔
مرحلہ 5: آرڈر دیں
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
کیونکہ ہمیں آرڈر دیتے وقت قیمت کی وضاحت کرنے کی ضرورت ہوتی ہے ، لہذا ہم خریدتے وقت براہ راست آخری فروخت کی قیمت استعمال کرسکتے ہیں۔ فروخت کرتے وقت ، آپ براہ راست آخری خریدنے کی قیمت استعمال کرسکتے ہیں۔ آخر میں ، آرڈر دینے کے بعد ورچوئل پوزیشن کی قیمت کو ری سیٹ کریں۔
مندرجہ بالا ڈیٹا پلے بیک فنکشن کی بنیاد پر تیار کردہ لکیری زیر التواء آرڈر فلو حکمت عملی کا کوڈ تجزیہ ہے۔ اگر آپ مقداری تجارت کے ابتدائی ہیں تو ، ڈیٹا پلے بیک فنکشن صفر لاگت پر تجارت سیکھ سکتا ہے اور لین دین کو سمجھنے کے لئے وقت کو کم کرسکتا ہے۔ ابتدائی نتائج حاصل کرنے کے لئے عام طور پر کسی حقیقی بوٹ یا نقلی لین دین میں کئی سال لگتے ہیں۔ ڈیٹا پلے بیک فنکشن کو ایک ہی اثر حاصل کرنے میں کئی ہفتوں کا وقت لگتا ہے۔ وقت ضائع نہ کرنے کے پیش نظر ، آپ کم سے کم نقصان کے ساتھ تجارت سیکھ سکتے ہیں۔ اعلی درجے کے تاجروں کے ل dynamic ، متحرک پلے بیک آپ کو اپنے ماضی کے مسائل کا تجزیہ کرنے ، تجارتی حکمت عملیوں کی تصدیق اور بہتری میں مدد کرسکتا ہے ، حکمت عملیوں میں تاجروں کے اعتماد کو بہتر بناتا ہے ، اور نئی اسٹریٹجک الہام پیدا کرنے میں مدد کرتا ہے۔