Type/to search
8
Follow
1364
Followers
پائن زبان کا استعمال کرتے ہوئے ایک نیم خودکار تجارتی ٹول لکھیں۔
Discussions
Created 2022-09-29 14:36:32  Updated 2024-11-29 19:01:54
 0
 2858

img

پائن زبان کا استعمال کرتے ہوئے ایک نیم خودکار تجارتی ٹول لکھیں۔

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

پیرامیٹر ڈیزائن

پائن لینگویج کا استعمال کرتے ہوئے اس طرح کے تقاضوں کو ڈیزائن کرنے کی حکمت عملی بہت آسان ہے تقاضوں کے مطابق افعال کو لاگو کرنے کے لیے درج ذیل پیرامیٹرز کو ڈیزائن کرنے کی ضرورت ہے۔

  1. آفسیٹ: جب ٹریلنگ ٹیک پرافٹ کو متحرک کیا جاتا ہے، تو ٹیک پرافٹ لائن کے آفسیٹ فاصلے کا تعین کرنے کے لیے سب سے زیادہ قیمت اور سب سے کم قیمت کو آف سیٹ کیا جاتا ہے۔
  2. حد: پیرامیٹر کو کنٹرول کرنے کے لیے استعمال کیا جاتا ہے - A. ابتدائی بنیاد پر براہ راست خریدیں، B. ایک مخصوص قیمت پر خریدنے کا انتظار کریں، C. کچھ نہ کریں۔
  3. رقم: آرڈر کی مقدار جب بیس گودام کھولا جاتا ہے۔
  4. نقصان: سٹاپ نقصان پوائنٹس۔
  5. targetOffset: قیمت کا فرق جو ٹریلنگ ٹیک پرافٹ کو متحرک کرتے وقت ابتدائی قیمت کو پورا کرتا ہے۔
  6. منٹ ٹک: قیمت میں ایک اضافہ۔
  7. سمت: بیس پوزیشن کو کھولنے کی سمت۔

ڈیزائن کی حکمت عملی

pine
/*backtest start: 2022-09-24 00:00:00 end: 2022-09-27 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}] args: [["v_input_1",20],["v_input_2",0],["v_input_4",50],["v_input_5",20],["RunMode",1,358374],["ZPrecision",0,358374],["XPrecision",3,358374]] */ strategy("跟踪止损止盈委托", overlay = true) varip targetPrice = na varip high_lowPrice = na varip isTrade = false varip isAlert = false varip isAlertMinTick = false varip isAlertFinished = false varip offset = input(30, "offset", "跟踪止损止盈偏移") varip limit = input(-1, "limit", "初始开仓价格,-1为不开仓,0为立即开仓,其它具体数值为限价价格") varip amount = input(1, "amount", "开仓量") varip loss = input(30, "loss", "止损") varip targetOffset = input(30, "targetOffset", "触发跟踪止盈止损偏移量") varip minTick = input(1, "minTick", "价格一跳") tradeType = input.string("long", "direction", tooltip="下单方向,long做多,short做空", options=["long", "short"]) if not barstate.ishistory and not isAlertMinTick runtime.log("检查syminfo.mintick是否正确!syminfo.mintick:", syminfo.mintick, "#FF0000") if syminfo.mintick < minTick runtime.error("系统syminfo.mintick < minTick参数", "#FF0000") isAlertMinTick := true if not barstate.ishistory and limit == -1 and not isAlert runtime.log("没有设置开仓价格,当前limit为-1(防止误开仓,初始默认limit为-1),禁止开仓", "#FF0000") isAlert := true if isTrade and strategy.position_size == 0 and not isAlertFinished runtime.log("所有委托流程执行完毕,仓位为0", "#FF0000") isAlertFinished := true if not barstate.ishistory and not isTrade and limit != -1 if limit == 0 strategy.entry("open", tradeType == "long" ? strategy.long : strategy.short, amount) else if limit > 0 strategy.entry("open", tradeType == "long" ? strategy.long : strategy.short, amount, limit=limit) if tradeType == "long" targetPrice := (limit == 0 ? close : limit) + targetOffset else targetPrice := (limit == 0 ? close : limit) - targetOffset strategy.exit("exit", "open", amount, loss=loss, trail_price=targetPrice, trail_offset=offset) runtime.log("每点价格为:", syminfo.mintick, ",当前close:", close) isTrade := true if ((close > targetPrice and strategy.position_size > 0) or (close < targetPrice and strategy.position_size < 0)) and not barstate.ishistory high_lowPrice := na(high_lowPrice) ? close : high_lowPrice if strategy.position_size > 0 high_lowPrice := close > high_lowPrice ? close : high_lowPrice else high_lowPrice := close < high_lowPrice ? close : high_lowPrice plot(targetPrice, "trail_price 触发线") plot(strategy.position_size!=0 ? high_lowPrice : na, "当前最高价/最低价") plot(strategy.position_size!=0 ? (strategy.position_size > 0 ? high_lowPrice-syminfo.mintick*offset : high_lowPrice+syminfo.mintick*offset) : na, "移动止损触发线")

حکمت عملی کا ڈیزائن پیچیدہ نہیں ہے اسے استعمال کرتے وقت، اسے عام طور پر "ریئل ٹائم پرائس ماڈل" پر سیٹ کرنے کی ضرورت ہوتی ہے کیونکہ قیمت کو ہر لمحہ چیک کرنے کی ضرورت ہوتی ہے۔

img

نوٹ کریں کہ پیرامیٹرز میں سٹاپ نقصان کا اظہار پوائنٹس (ایک قیمت میں چھلانگ) میں کیا جاتا ہے، اور آفسیٹ ٹریکنگ ٹیک پرافٹ آفسیٹ کو بھی پوائنٹس (ایک قیمت میں چھلانگ) میں ظاہر کیا جاتا ہے۔ targetOffset ٹیک-پرافٹ ٹرگر لائن کے آفسیٹ کو ٹریک کرتا ہے اور اسے قیمت کے فاصلے میں ظاہر کیا جاتا ہے (مثال کے طور پر، اگر آپ اسے 30 پر سیٹ کرتے ہیں، تو اس کا مطلب ہے 30 یوآن کا فاصلہ)۔ جب قیمت میں چھلانگ 1 ہے، 30 چھلانگ کا مطلب ہے 30 یوآن کا فاصلہ۔

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

آئیے ڈیزائن کے ذریعہ نافذ کردہ افعال کا مظاہرہ کریں:

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

img

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

img

2. حد پیرامیٹر اور اندراج کی قیمت کی وضاحت کریں۔

دیگر پیرامیٹر سیٹنگز میں کوئی تبدیلی نہیں ہوئی، صرف حد پیرامیٹر کی قیمت اس طرح بیان کریں: 1276

img

3. پہلے سے طے شدہ حد پیرامیٹر -1 ہے، جس کا مطلب ہے کہ پوزیشنوں کو حادثاتی طور پر کھولنے سے روکنے کے لیے کوئی آپریشن نہیں کیا جاتا ہے۔

img

THE END

پائن لینگویج اسٹریٹجی کا استعمال کرتے وقت، پرائس جمپ ​​ڈیٹا پر خصوصی توجہ دیں۔ نظام کی مخصوص قیمت چھلانگ پیرامیٹرز میں "پرائسنگ کرنسی کی درستگی" سے متعلق ہے۔

img

"قیمتوں کا تعین کرنسی کی درستگی" کا پیرامیٹر 0 پر سیٹ کیا گیا ہے، جس کا مطلب ہے کہ قیمت کے اعداد و شمار کی قدر یونٹ ہندسے کے لیے درست ہے (یعنی اعشاریہ مقامات کی تعداد 0 ہے)۔ پھر قیمت کی تبدیلی کی کم از کم اکائی 1 ہے۔ چونکہ کچھ پیرامیٹرز کا تعلق قیمت میں اضافے سے ہے، اس لیے اس مقام پر خصوصی توجہ دی جانی چاہیے۔

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

یہ دیکھا جا سکتا ہے کہ پائن زبان استعمال کرنے میں بہت آسان، آسان اور سیکھنے میں آسان ہے۔ ہم پیچیدہ پروگرام ڈیزائن کے بارے میں فکر کیے بغیر اپنے مطلوبہ ٹولز کو تیزی سے ڈیزائن کرنے کے لیے پائن لینگویج کا استعمال کر سکتے ہیں۔

Related Recommendations
Comment
All comments (0)
No data
No data
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)