کچھ لوگوں کا خیال ہے کہ صبح کے وقت مارکیٹ کا افتتاح وہ وقت ہوتا ہے جب مارکیٹ میں سب سے زیادہ اختلاف ہوتا ہے۔ تقریبا 30 منٹ کے بعد ، مارکیٹ نے راتوں رات کی ہر طرح کی معلومات کو مکمل طور پر ہضم کرلیا ہوتا ہے ، اور قیمت کا رجحان عقلی ہوتا ہے اور معمول پر آجاتا ہے۔ دوسرے الفاظ میں: پہلے 30 منٹ یا اس سے زیادہ میں مارکیٹ کا رجحان بنیادی طور پر آج کے تجارتی نمونہ کا تشکیل کرتا ہے۔
اس وقت پیدا ہونے والے نسبتا high اعلی اور کم پوائنٹس
اگرچہ رجحان کی تشکیل کے فورا بعد ہی توڑنے کی حکمت عملی مارکیٹ میں داخل ہوسکتی ہے۔ لیکن یہ فائدہ بھی ایک دو دھاری تلوار ہے۔ حساس اندراج کے نتیجے میں ، قیمت کی توڑ ناکام ہوگئی۔ لہذا اسٹاپ نقصان مرتب کرنا ضروری ہے۔ اسی وقت ، جیت اور کھونے کی حکمت عملی کی منطق کو حاصل کرنے کے لئے ، منافع حاصل کرنا ضروری ہے۔
باری باری کھولیں:fmz.comویب سائٹ> لاگ ان کریں > ڈیش بورڈ > حکمت عملی لائبریری > نئی حکمت عملی > پائتھون زبان کو منتخب کرنے اور حکمت عملی لکھنا شروع کرنے کے لئے اوپری دائیں کونے میں ڈراپ ڈاؤن مینو پر کلک کریں۔ نیچے دیئے گئے کوڈ میں تبصرے پر توجہ دیں۔
# Strategy main function
def onTick():
pass
# Program entry
def main():
while True: # enter infinite loop mode
onTick() # execute strategy main function
Sleep(1000) # Sleep for 1 second
ایک حکمت عملی کے فریم ورک لکھنے، یہ پچھلے باب میں سیکھا گیا ہے، ایک ہےonTick
تقریب، اور دوسرے ہےmain
فنکشن، جس میںonTick
تقریب میں ایک لامتناہی لوپ میں پھانسی دی جاتی ہےmain
function.
up_line = 0 # upper rail
down_line = 0 # lower rail
trade_count = 0 # Number of transactions on the day
کیونکہ اوپری اور نچلی ریلوں کو صرف 09:30 کے وقت شمار کیا جاتا ہے ، اور باقی وقت میں کوئی اعدادوشمار نہیں کیے جاتے ہیں ، لہذا ہمیں ان دو متغیرات کو لوپ کے باہر لکھنے کی ضرورت ہے۔ اس کے علاوہ ، دن کی تجارت میں لین دین کی تعداد کو محدود کرنے کے لئے ،trade_count
متغیر بھی لوپ کے باہر لکھا جاتا ہے.onTick
حکمت عملی، آپ کو استعمال کرنے کی ضرورت ہےglobal
حوالہ کے لئے مطلوبہ الفاظ.
exchange.SetContractType("rb888") # Subscribe to futures varieties
bar_arr = _C(exchange.GetRecords, PERIOD_M1) # Get 1-minute K line array
current_close = bar_arr[-1]['Close'] # Get the latest price
if len(bar_arr) <50: # If less than 50 k line bars
return # Return to continue waiting for data
اعداد و شمار حاصل کرنے کے لئے، سب سے پہلےSetContractType
فیوچر کی اقسام کو سبسکرائب کرنے کے لئے FMZ پلیٹ فارم API میں فنکشن، اور پھر استعمال کریںGetRecords
آپ کو بھی K لائن صف کی وضاحت میں منتقل کر سکتے ہیںPERIOD_M11
منٹ جب استعمال کرتے ہوئےGetRecords
function.
اگلا مرحلہ تازہ ترین قیمت حاصل کرنا ہے ، جس کا استعمال موجودہ قیمت اور اوپری اور نچلی ریلوں کے مابین پوزیشن تعلقات کا تعین کرنے کے لئے کیا جاتا ہے۔ اسی وقت ، خرید یا فروخت فنکشن کا استعمال کرتے ہوئے آرڈر دیتے وقت ، آپ کو مخصوص قیمت میں منتقل کرنے کی ضرورت ہے۔ اس کے علاوہ ، k لائن باروں کی تعداد کو فلٹر کرنا مت بھولنا ، کیونکہ اگر k لائن باروں کی تعداد بہت کم ہے تو ، ایسی غلطی ہوگی جس کا حساب نہیں لگایا جاسکتا ہے۔
def current_time():
current_time = bar_arr[-1]['Time'] # Get current K-line timestamp
time_local = time.localtime(current_time / 1000) # Processing timestamp
hour = time.strftime("%H", time_local) # Format the timestamp and get the hour
minute = time.strftime("%M", time_local) # Format the timestamp and get the minute
if len(minute) == 1:
minute = "0" + minute
return int(hour + minute)
اوپری اور نچلی ریلوں کا حساب لگاتے وقت اور آرڈر دیتے وقت ، یہ فیصلہ کرنا ضروری ہے کہ آیا موجودہ وقت ہمارے ذریعہ متعین کردہ تجارتی وقت سے ملتا ہے ، لہذا فیصلہ کرنے میں آسانی کے ل we ، ہمیں موجودہ K لائن کے مخصوص گھنٹوں اور منٹوں سے نمٹنے کی ضرورت ہے۔
global up_line, down_line, trade_count # Introduce global variables
current_time = current_time() # processing time
if current_time == 930: # If the latest K-line time is 09:30
up_line = TA.Highest(bar_arr, 30,'High') + count # The highest price of the first 30 k line bars
down_line = TA.Lowest(bar_arr, 30,'Low')-count # The lowest price of the first 30 ke line bars
trade_count = 0 # Reset the number of transactions to 0
position_arr = _C(exchange.GetPosition) # Get position array
if len(position_arr) > 0: # If the position array length is greater than 0
position_arr = position_arr[0] # Get position dictionary data
if position_arr['ContractType'] =='rb888': # If the position symbol is equal to the subscription symbol
if position_arr['Type']% 2 == 0: # If it is a long position
position = position_arr['Amount'] # The number of assigned positions is a positive number
else:
position = -position_arr['Amount'] # Assign a negative number of positions
profit = position_arr['Profit'] # Get position profit and loss
else:
position = 0 # The number of assigned positions is 0
profit = 0 # Assign position profit and loss to 0
پوزیشن کی حیثیت میں حکمت عملی کی منطق شامل ہے۔ ہمارے پہلے دس اسباق میں ہمیشہ ورچوئل ہولڈنگ پوزیشنوں کا استعمال کیا گیا ہے ، لیکن حقیقی تجارتی ماحول میں ، اس کا استعمال کرنا بہترین ہےGetPosition
حقیقی پوزیشن کی معلومات حاصل کرنے کا فنکشن، بشمول: پوزیشن کی سمت، پوزیشن کا منافع اور نقصان، پوزیشنوں کی تعداد وغیرہ۔
# If it is close to market closing or reach taking profit and stopping loss
if current_time > 1450 or profit > stop * 3 or profit < -stop:
if position > 0: # If holding a long position
exchange.SetDirection("closebuy") # Set transaction direction and type
exchange.Sell(current_close-1, 1) # Close long order
elif position <0: # If holding an empty order
exchange.SetDirection("closesell") # Set transaction direction and type
exchange.Buy(current_close + 1, 1) # Close short order
# If there is no current position, and it is less than the specified number of transactions, and within the specified trading time
if position == 0 and trade_count < 2 and 930 < current_time < 1450:
if current_close > up_line: # If the price is greater than the upper line
exchange.SetDirection("buy") # Set transaction direction and type
exchange.Buy(current_close + 1, 1) # Open long order
trade_count = trade_count + 1 # Increase the number of transactions
elif current_close < down_line: # If the price is less than the lower line
exchange.SetDirection("sell") # Set transaction direction and type
exchange.Sell(current_close-1, 1) # Open a short order
trade_count = trade_count + 1 # Increase the number of transactions
حکمت عملی میں منطقی غلطیوں سے بچنے کے ل it ، افتتاحی پوزیشن منطق سے پہلے اختتامی پوزیشن منطق لکھنا بہتر ہے۔ اس حکمت عملی میں ، جب کوئی پوزیشن کھولتے ہو تو ، پہلے موجودہ پوزیشن کی حیثیت کا تعین کریں ، چاہے وہ مخصوص تجارتی وقت کے اندر ہو ، اور پھر موجودہ قیمت اور اوپری اور نچلی ریلوں کے مابین تعلق کا تعین کریں۔ پوزیشن کو بند کرنے کے لئے پہلے یہ طے کرنا ہے کہ آیا یہ مارکیٹ کی بندش کے قریب ہے ، یا اس نے منافع کمانے اور نقصان کو روکنے کی شرائط کو حاصل کیا ہے۔
HANS123 ایک بہت ہی عام اور بہت موثر خودکار تجارتی حکمت عملی ہے۔ اس کا بنیادی اصول ایک خاص عرصے کے اندر پچھلی مارکیٹ کی سب سے زیادہ یا سب سے کم قیمت کو توڑنا ہے۔ یہ نظام مستحکم منافع کے ساتھ تقریبا تمام غیر ملکی کرنسی کی مصنوعات پر لاگو کیا جاسکتا ہے۔ یہ بھی ایک ابتدائی اندراج ٹریڈنگ موڈ ہے ، جس میں مناسب فلٹرنگ ٹکنالوجی ہے ، یا جیتنے کے امکانات کو بہتر بنا سکتی ہے۔
مکمل حکمت عملی ماخذ کوڈ کاپی کرنے کے لئے کلک کریںhttps://www.fmz.com/strategy/179805ترتیب کے بغیر بیک ٹسٹ
مندرجہ بالا HANS123 حکمت عملی کا اصول اور کوڈ تجزیہ ہے۔ در حقیقت ، HANS123 حکمت عملی مارکیٹ میں داخل ہونے کا بہتر وقت فراہم کرتی ہے۔ آپ مارکیٹ کی اپنی تفہیم اور لین دین کی تفہیم کے مطابق ، یا مختلف قسم کی اتار چڑھاؤ کے مطابق باہر نکلنے کے وقت کو بھی بہتر بنا سکتے ہیں۔ بہتر نتائج حاصل کرنے کے لئے منافع لینے اور نقصان کو روکنے جیسے پیرامیٹرز کو بہتر بنانے کے ل.