وسائل لوڈ ہو رہے ہیں... لوڈنگ...

hans123 اندرونی دن کی کامیابی کی حکمت عملی

مصنف:نیکی, تخلیق: 2020-08-12 11:38:39, تازہ کاری: 2023-10-10 21:15:02

img

پیش لفظ

HANS123 حکمت عملی سب سے پہلے بنیادی طور پر غیر ملکی کرنسی کی مارکیٹ میں لاگو کی گئی تھی۔ اس کا تجارتی طریقہ نسبتا simple آسان ہے اور یہ رجحان کی پیشرفت کے نظام سے تعلق رکھتا ہے۔ یہ تجارتی طریقہ رجحان کی تشکیل کے ساتھ ہی مارکیٹ میں داخل ہوسکتا ہے ، لہذا یہ بہت سارے تاجروں کے ذریعہ پسند کیا جاتا ہے۔ اب تک ، HANS123 نے بہت سارے ورژنوں کو بڑھا دیا ہے ، آئیے ہم HANS123 حکمت عملی کو ایک ساتھ سمجھیں اور تعینات کریں۔

img

حکمت عملی کا اصول

کچھ لوگوں کا خیال ہے کہ صبح کے وقت مارکیٹ کا افتتاح وہ وقت ہوتا ہے جب مارکیٹ میں سب سے زیادہ اختلاف ہوتا ہے۔ تقریبا 30 منٹ کے بعد ، مارکیٹ نے راتوں رات کی ہر طرح کی معلومات کو مکمل طور پر ہضم کرلیا ہوتا ہے ، اور قیمت کا رجحان عقلی ہوتا ہے اور معمول پر آجاتا ہے۔ دوسرے الفاظ میں: پہلے 30 منٹ یا اس سے زیادہ میں مارکیٹ کا رجحان بنیادی طور پر آج کے تجارتی نمونہ کا تشکیل کرتا ہے۔

  • اوپری ریل: کھولنے کے 30 منٹ کے اندر سب سے زیادہ قیمت
  • نچلی ریل: کھلنے کے 30 منٹ کے اندر سب سے کم قیمت

اس وقت پیدا ہونے والے نسبتا high اعلی اور کم پوائنٹس ڈاؤ تھیوری میں موثر اعلی اور کم پوائنٹس بناتے ہیں ، اور HANS123 حکمت عملی اس کے ذریعہ قائم کردہ تجارتی منطق ہے۔ گھریلو فیوچر مارکیٹ میں ، مارکیٹ صبح 09:00 بجے کھلتی ہے ، اور 09:30 بجے آپ فیصلہ کرسکتے ہیں کہ آج یہ لمبا ہے یا مختصر۔ جب قیمت اعلی نقطہ کو اوپر کی طرف توڑتی ہے تو ، قیمت آسانی سے بڑھتی رہے گی؛ جب قیمت نیچے کی طرف کم نقطہ کو توڑتی ہے تو ، قیمت آسانی سے گرتی رہے گی۔

  • لانگ پوزیشن کھولنا: فی الحال کوئی ہولڈنگ پوزیشن نہیں ہے، اور قیمت اوپری ریل سے اوپر ٹوٹ جاتی ہے
  • مختصر پوزیشن کھولنا: فی الحال کوئی ہولڈنگ پوزیشن نہیں ہے، اور قیمت نیچے ریل سے نیچے ٹوٹ جاتی ہے

اگرچہ رجحان کی تشکیل کے فورا بعد ہی توڑنے کی حکمت عملی مارکیٹ میں داخل ہوسکتی ہے۔ لیکن یہ فائدہ بھی ایک دو دھاری تلوار ہے۔ حساس اندراج کے نتیجے میں ، قیمت کی توڑ ناکام ہوگئی۔ لہذا اسٹاپ نقصان مرتب کرنا ضروری ہے۔ اسی وقت ، جیت اور کھونے کی حکمت عملی کی منطق کو حاصل کرنے کے لئے ، منافع حاصل کرنا ضروری ہے۔

  • طویل پوزیشن سٹاپ نقصان: موجودہ طویل پوزیشن نقصان کی رقم تک پہنچ گئی ہے
  • مختصر پوزیشن سٹاپ نقصان: موجودہ مختصر پوزیشن نقصان کی رقم تک پہنچ گئی ہے
  • لمبی پوزیشنوں کے لئے منافع حاصل کریں، لمبی پوزیشنیں رکھیں اور منافع کی رقم تک پہنچیں
  • مختصر پوزیشنوں کے لئے منافع حاصل کریں، مختصر پوزیشنوں کو برقرار رکھیں اور منافع کی رقم تک پہنچیں

حکمت عملی لکھنا

باری باری کھولیں:fmz.comویب سائٹ> لاگ ان کریں > ڈیش بورڈ > حکمت عملی لائبریری > نئی حکمت عملی > پائتھون زبان کو منتخب کرنے اور حکمت عملی لکھنا شروع کرنے کے لئے اوپری دائیں کونے میں ڈراپ ڈاؤن مینو پر کلک کریں۔ نیچے دیئے گئے کوڈ میں تبصرے پر توجہ دیں۔

مرحلہ 1: حکمت عملی کا فریم ورک لکھیں

# 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.

مرحلہ 2: عالمی متغیرات کی وضاحت کریں

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حوالہ کے لئے مطلوبہ الفاظ.

مرحلہ 3: اعداد و شمار حاصل کریں

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 لائن باروں کی تعداد بہت کم ہے تو ، ایسی غلطی ہوگی جس کا حساب نہیں لگایا جاسکتا ہے۔

مرحلہ 4: پروسیسنگ ٹائم فنکشن

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 لائن کے مخصوص گھنٹوں اور منٹوں سے نمٹنے کی ضرورت ہے۔

مرحلہ 5: اوپری اور نچلے ریلوں کا حساب لگائیں

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

مرحلہ 6: پوزیشن حاصل کریں

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حقیقی پوزیشن کی معلومات حاصل کرنے کا فنکشن، بشمول: پوزیشن کی سمت، پوزیشن کا منافع اور نقصان، پوزیشنوں کی تعداد وغیرہ۔

مرحلہ 7: آرڈر دیں

# 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 حکمت عملی مارکیٹ میں داخل ہونے کا بہتر وقت فراہم کرتی ہے۔ آپ مارکیٹ کی اپنی تفہیم اور لین دین کی تفہیم کے مطابق ، یا مختلف قسم کی اتار چڑھاؤ کے مطابق باہر نکلنے کے وقت کو بھی بہتر بنا سکتے ہیں۔ بہتر نتائج حاصل کرنے کے لئے منافع لینے اور نقصان کو روکنے جیسے پیرامیٹرز کو بہتر بنانے کے ل.


متعلقہ

مزید