د QUIK لپاره د سوداګرۍ روبوټونو برنامه کولو لپاره د الګوریتمیک ژبه QPILE.
د سوداګرۍ روبوټونه په ځانګړې ژبه لیکل کیدی شي، د پروګرام کوډ ته ورته. QPILE یو له دوی څخه دی، مقاله به دا ژبه په پام کې ونیسي، د QPILE او
LUA ژبې پرتله کړي ، او په دې ژبه کې د روبوټ مثالونه هم وړاندې کړي.
- د QPILE په اړه عمومي معلومات
- د میز سره کار کول
- QPILE جوړونه
- د معلوماتو ډولونه
- اظهارات
- افعال
- د ډیبګ کولو پروګرامونه
- QPILE یا LUA؟
- په QPILE کې د سوداګرۍ روبوټ څنګه رامینځته کړئ؟
- په QPILE کې د روبوټونو سوداګرۍ – چمتو شوي حلونه
- د حرکت اوسط روبوټ
- د موروشکین موقعیت محاسبه کوونکی
- د حجم فلټر
- اختیارونه یوناني
- د QUIK لپاره د TRIX سوداګریز روبوټ
- M4 پری پروسیسر
د QPILE په اړه عمومي معلومات
QPILE یو لنډیز دی چې د QUIK پروګرام وړ انٹرفیس او منطق چاپیریال لپاره ولاړ دی.
دا د حکمونو لړۍ ده چې د QUIK کاري سټیشن لخوا تشریح شوي. دا په عمده توګه د تضمیناتو پورټ فولیو قیمت محاسبه کولو لپاره کارول کیږي. ژبه د دې لپاره هم کارول کیږي:
- د بروکر په ډیسټاپ او د دوی پورټ فولیو کې د پیرودونکو د شتمنیو قیمت متحرک بیا حساب کول. په وروستي حالت کې، د دوی ټول قیمت هم حساب شوی؛
- د حاالتو پور ورکولو لپاره د خپل الګوریتمونو او معلوماتو په کارولو سره د ورک شوي شاخصونو موندل؛
- د سمې سوداګرۍ ستراتیژۍ رامینځته کول.
ژبه د جدول جوړښت بیانوي: د کالمونو او قطارونو ټاکل، فورمول. په وروستنۍ کې، د ریاضياتي عملیات، تغیرات، د نورو جدولونو ډاټا د محاسبې لپاره کارول کیدی شي. د پروګرام کوډ د QUIK سرور یا د کارونکي ډیسک څخه بار شوی د ژبې ژباړونکي لخوا پروسس کیږي، کوم چې په فورمولونو کې ارزښتونه محاسبه کوي. د یو پروګرام میزونه د معلوماتو سرچینه لري، مګر حسابونه نقل شوي ندي او د سیسټم موثریت اغیزه نه کوي. کله چې د QUIK جدولونو سره کار کوئ ، په QPILE کې میزونه معیاري دندې لري. QUIK د کار ځای کې د QPILE کوډ ډیبګر سره مجهز دی. https://articles.opexflow.com/software-trading/torgovyj-terminal-quik.htm ژبه تاسو ته اجازه درکوي چې نوي جدولونه د ورکړل شوي جوړښت سره تشریح کړئ، د ځانګړو ارزښتونو سره حجرې روښانه کړئ، د ریاضياتو او منطقي څرګندونو پراساس ساحې محاسبه کړئ. کارونکي به د غږ سیګنال یا متن پیغام په بڼه خبرتیاوې ترلاسه کړي. په QPILE کې جدولونه د ODBC او DDE سرور له لارې ایډیټ ، چاپ ، کاپي ، صادر کیدی شي. لومړني معلومات د QUIK جدولونو څخه دي:
- لیږدونه، په شمول د اعدام او غیر شخصي لپاره؛
- امرونه، د بند حکمونو په شمول، د ضد ضد تجارتونو او امرونو لپاره – د تصفیې په معاملو کې د سوداګرۍ راپورونه؛
- “د پیرودونکي پورټ فولیو”، “پیرود/پلورل”
- د پیسو، سوداګریزو حسابونو، وسیلو په واسطه د ګډون کونکي موقعیت څخه ډاټا.
د QPILE پر بنسټ جدولونه د متن فایل ته د متن د مینو له لارې نشي کاپي کیدی او د تخنیکي تحلیل سیسټمونو ته صادریږي، او چارټونه د دوی پر بنسټ نشي رامینځته کیدی. د QPILE پر بنسټ میزونه فلټر یا ترتیب کیدی نشي.
د میز سره کار کول
د برنامه کوډ پورته کولو لپاره ، تاسو اړتیا لرئ د خدماتو مینو غوره کړئ ، بیا د QPILE سکریپټونه. تاسو کولی شئ د Ctrl+F11 ترکیب هم وکاروئ. وروسته له دې چې تاسو اړتیا لرئ “اضافه” کلیک وکړئ او مطلوب فایل غوره کړئ. دا د .qpl توسیع لري او نوم به یې د موجود سکریپټونو لیست کې څرګند شي.
که چیرې په برنامه کې کومه تیروتنه شتون ولري ، سیسټم به د “پیغام کړکۍ” کې یو خبرتیا رامینځته کړي ، کوم چې به د غلط فایل نوم او د خطا شمیره ولري. که په فایل کې کومه ناکامي ونه موندل شي، لاندې معلومات به په ساحو کې په ګوته شي:
- د میز نوم
- د کالمونو او مراجعینو شمیر؛
- د پیژندونکو او پیرودونکو لیست؛
- د پیرامیټونو لیست او د فایل سرچینې کوډ.
“په ځایی توګه ډاونلوډ کړئ” تڼۍ به تاسو ته اجازه درکړي چې د فایل څخه میز ترلاسه کړئ، او “سرور ته اپلوډ” به برنامه سرور ته واستوي ترڅو ټول کاروونکي ورته لاسرسی ومومي. د میز جوړولو لپاره، د میز جوړ کړئ کلیک وکړئ. په “موجود سکریپټونو” کې هغه برنامه غوره کړئ چې تاسو یې اجرا کولو ته اړتیا لرئ ، د “مراجعینو فلټر” له لارې د لینونو شمیر تنظیم کړئ ، اړین کالمونه او د دوی ترتیب وټاکئ.
د محاسبې ځنډول او بیا پیل کول، محاسبه بیا پیل کول او په ډیبګ حالت کې، په فایل کې توضیحات خوندي کول، د فورمول ښودل، او د سکریپټ پیرامیټرې د شرایطو مینو کې شتون لري.
QPILE جوړونه
د معلوماتو ډولونه
- تار – تار.
- دوه چنده د تیري نقطې شمیره ده.
- ټولګه – یوه ټولګه.
- نقشه – یو ملګری سرې – د جوړو لړۍ چې تاسو ته اجازه درکوي د کیلي په واسطه معلومات ترلاسه کړئ.
اظهارات
د اضافې، تخفیف، ضرب، ویش حسابي عملیات پلي کیږي. منطقي څرګندونې “او”، “یا”، مساوي، ډیر، لږ، نابرابرۍ، مشروط جوړښت “که … بیا …” هم کارول کیږي.
افعال
دندې په برنامه کې هرچیرې موقعیت لري او مختلف نومونه لري. په مجموع کې، د ریاضیاتي دندو او دندو 18 ګروپونه شتون لري چې د جدولونو او پیرامیټونو ارزښتونو ترلاسه کولو لپاره شتون لري، ملګري صفونه، د میزونو لیست، او نور دندې. لومړۍ درجه:
- د ریاضيکي افعال چې تاسو ته اجازه درکوي د سیین، کوزین، ټینګینټ، د دلیل د کوټینګینټ ارزښت بیرته راوباسئ، د استدلال توضیح محاسبه کړئ، یو تصادفي شمیره تولید کړئ، او داسې نور.
- عمومي حکمونه : NEW_GLOBAL د نړیوال متغیر پیل کولو لپاره او د پیغامونو خلاصولو لپاره MESSAGE.
د کار کولو لپاره دندې:
- د شیانو ټولګه (ټولګه) . دوی تاسو ته اجازه درکوي یو نوی ټولګه رامینځته کړئ ، د عناصرو اړین شمیر بیرته راوباسئ ، مطلوب ارزښتونه ځای په ځای کړئ یا داخل کړئ.
- ملګرتياوې (MAP) . د صف په جوړولو او اداره کولو کې مرسته وکړئ.
- فایلونه – د متن فایلونو سره کار کول، د برنامه لاګ لاګ ساتل. د فایل نوم ممکن دې ته لاره ولري.
- تارونه _
- ګرافونه _ د شمعې ډیټا ته د لاسرسي لپاره GET_CANDLE فعالیت کوي او GET_CANDLE EX د شریک سرې بیرته راستنیدو لپاره.
- غوښتنلیکونه _ د امرونو رامینځته کول او د سوداګرۍ سیسټم ته یې لیږل.
- . _ په چارټ کې د دوی جوړول او نصب کول. د یو یا ټولو لیبلونو اضافه کول، حذف کول، د ځانګړي لیبل لپاره پیرامیټونه ترلاسه کول او تنظیم کول.
د دې لپاره هم دندې شتون لري:
- د خپل سري QUIK جدولونو قطارونو او د شته پیرامیټونو لیستونو ته د لاسرسي لپاره . د کار ځای میز ډیټا ته لاسرسی. پدې کې د MAP بیرته راستنیدو لپاره GET_ITEM او د ننوتلو شمیر بیرته راستنیدو لپاره GET_NUMBER_OF شامل دي.
- د پروګرام وړ میز سره کار کولو لپاره . دا قوماندې د OWN په میز کې کار کوي. دا د تیرو پراګراف څخه د معیاري دندو او د دې دندو لخوا د لوستلو وړ دی. پدې ګروپ کې د شاخص سره د قطار اضافه کولو، تعدیل کولو او حذف کولو امرونه شامل دي، او د OWN میز په بشپړه توګه پاکول.
د ارزښتونو ترلاسه کولو لپاره وکاروئ:
- د اوسني تجارت جدول د GET_PARAM (_EX) کمانډونو په کارولو سره د تبادلې معلوماتو پیرامیټرې ترلاسه کول.
- . _ د وسیلو نرخونو ارزښتونو ترلاسه کول.
- د وسایلو او پیسو په واسطه د موقفونو جدول . د کوډ په واسطه د پیرودونکي ، شرکت ، وسیلې ، ډیپو حساب په اړه معلومات ترلاسه کول.
د خدماتو دندې – د اوسني سوداګرۍ ناستې نیټې بیرته راګرځول ، د اتحادیې لړۍ ، اوسنۍ نیټه او وخت ، د پیوستون حالت ټاکل ، د محاسبې حالت کې مداخله.
د ډیبګ کولو پروګرامونه
د برنامه عملیاتو ګام په ګام کنټرول د “Debug” کړکۍ کې ترسره کیږي. دا د شرایطو مینو څخه خلاص شوی “د ډیبګ حالت کې محاسبه پیل کړئ”. دا د breakpoint() کمانډ سره هم پرانستل کیدی شي، او د پروګرام لاین به په سور کې روښانه شي. کړکۍ د پروګرام کوډ او متغیر ارزښتونو سره ساحې لري. د کړکۍ په ښکته کې د “بل ګام”، “عمل ته دوام ورکړئ”، “حساب بند کړئ” تڼۍ شتون لري. د F5 فشارول به د برنامه اجرا کولو ته دوام ورکړي ، د Shift + F5 ترکیب به د ډیبګ کولو مخه ونیسي ، د F10 کیلي به بلې کرښې ته مستقیم کړي.
QPILE یا LUA؟
LUA د سوداګرۍ روبوټونو رامینځته کولو لپاره د برنامې نوې ژبه ده. د QPILE په څیر، دا د QUIK ترمینل کې پلي کیږي. https://articles.opexflow.com/programming/lua.htm یو سایټ چې د سوداګرۍ لپاره د سوداګرۍ روبوټونو پراختیا ته وقف شوی د QPILE په اړه د LUA ژبې ګټې ښیې. نو، دا کولی شي د غیر تالیف شوي سکریپټ او بایټ کوډ په توګه کار وکړي، د پراختیا کونکي وسیلو او د اعتراض پر بنسټ پروګرام کولو میکانیزمونو سره سمبال شوی. هغه شیان چې په نورو پروګرامینګ ژبو کې لیکل شوي د LUA پروګرامونو سره وصل کیدی شي. LUA د 8 ډیټا ډولونه چمتو کوي ، پشمول د میټاټابلونو. د LUA ژبه څو اړخیزه ده، چټکه، او لیږدونه او ترمینل پیښې غیر متناسب دي. LUA د QPILE په پرتله ډیر عام دی، او د دې لپاره ډیری توسیعونه لیکل شوي.
د QPILE ژبه اوس ورکه شوې ده. په فورمونو کې متخصصین د LUA کارولو وړاندیز کوي. که څه هم ګټور او اغیزمن پروګرامونه لاهم کارول کیږي.
په هرصورت، د QPILE ژبه د LUA په پرتله ساده ده، نو که تاسو په پروګرام کولو کې تجربه نلرئ، نو غوره ده چې QPILE غوره کړئ. په دې ژبه کې، تاسو کولی شئ یو ساده روبوټ ولیکئ که تاسو پیچلې محاسبې ترسره کولو ته اړتیا نلرئ.
په QPILE کې د سوداګرۍ روبوټ څنګه رامینځته کړئ؟
د سوداګرۍ مشاور رامینځته کولو لپاره ، تاسو به لاندې برنامو ته اړتیا ولرئ:
- ITS Quik.
- نوټ پیډ ++ کوډ ایډیټر.
- د QPILE لارښود.
- په نوټ پیډ ++ کې د کوډ کشف لپاره XML پلگ ان.
دا پروګرامونه ډاونلوډ او نصب کړئ. د C:\Users\User\ AppData\Roaming\Notepad++\ په لاره کې د userDefineLang.xml په ځای کولو سره د ژبې ترکیب فعال کړئ
لومړی، راځئ چې لاندې سوداګریز ستراتیژي جوړه کړو. سکریپټ باید په هره دقیقه کې د وروستي څو شمعې لپاره های او ټیټ محاسبه کړي، د وسیلې اوسنی قیمت وګورئ. یو موقعیت په اړین لوري کې پرانستل کیږي که چیرې د وسیلې قیمت د مودې لپاره اعظمي یا لږترلږه ارزښت ته ورسیږي. کله چې د لنډ لپاره سیګنال ترلاسه شي ، اوږد موقعیت په اوتومات ډول تړل کیږي. روبوټ د GAZP وسیله کاروي، د وخت چوکاټ 1 دقیقې ټاکل شوی. د لوړ ټیټ اندازه کولو ژوروالی 5 شمعې ته ټاکل شوی. لونګ ته د ننوتلو لپاره، یو قاعده ټاکل شوې او د مودې لپاره د اعظمي ارزښت د اوسني نرخ انحراف. روبوټ به لنډ ته ننوځي که چیرې اوسنی نرخ د دې 5 شمعې لپاره لږترلږه ارزښت څخه تیر شي. په نوټ پیډ ++ کې د کوډ بلاک د لومړني ترتیباتو او سرور نیټې او وخت سره ولیکئ. دا کوډ په لاندې انځور کې ښودل شوی.
د کوډ لومړۍ 4 کرښې د برنامه سرلیک جوړوي. د 6 او 44 لینونو ترمینځ د برنامه بدن دی ، کوم چې د روبوټ مینځپانګې لري. لاین 7 – 12 د کارونکي تنظیمات لري، کوم چې د وسیلې کوډونه، ګروپ او پیرودونکي، په MICEX کې د حساب شمیره شامله ده. دا ارزښتونه د برنامې اجرا کولو پرمهال نه بدلیږي. 13 – 16 کرښې د متغیرونو لومړني ارزښتونه دي. دوی به په هر تکرار پاس کې صفر ته بیا تنظیم شي. لینونه 17 – 21 د سرور نیټه او وخت کارولو لپاره اشاره لري. دا ډاټا د DATETIME فعالیت ته لیږدول کیږي او د متن په بڼه بدلیږي. 22 – 29 کرښې ترلاسه شوي ډاټا میز ته لیږي. کوډ باید خوندي شي او د qpl توسیع باید مشخص شي.
برنامه په QUIK کې د Ctrl+F10 په فشارولو او د تولید شوي qpl فایل غوره کولو سره خلاص کړئ. د “پورټ فولیو سره کار” کړکۍ خلاصولو لپاره د Ctrl+F11 ترکیب وکاروئ او د پورټ فولیو محاسبه موده 5 دقیقو ته وټاکئ. په جدول کې د ښودلو لپاره کالمونو تنظیم کولو لپاره Ctrl+F12 فشار ورکړئ. انځور د روبوټ کار پایله ښیي.
راځئ چې زموږ پروګرام ته یو څو نور فعالیتونه او شرایط اضافه کړو.
د “کارونکي ترتیبات” بلاک د NUMBER او INTERVAL متغیرونو سره ضمیمه شوی ، کوم چې به د وروستي N بارونو ترلاسه کولو فعالیت کې وکارول شي. د DATETIME فنکشن د سرور نیټه او وخت ټاکي، او د اوسني نیټه او وخت فعالیتونه CURDATE او CURTIME له دې څخه ویل کیږي. اوسنی وخت په 24 کرښه کې شمیرې ته بدلیږي. 26 کرښه د الګوریتم لپاره د 10:00:01 څخه تر 18:40:00 UTC پورې وخت ټاکي.
ډیری وختونه، شاخصونه، oscillators، احصایوي محاسبې د چارټ د وروستي N شمعې لخوا محاسبه کیږي. QPILE د N مودې دمخه د شمعې شمیر راټولولو لپاره فعالیت نلري ، مګر د GET_CANDLE فعالیت شتون لري چې د متن په شکل کې د نیټې او وخت له مخې په چارټ کې شمعې ته لاسرسی لري. زموږ کوډ د وروستي N بارونو OHLC() ترلاسه کولو لپاره فنکشن لري. دا د وروستي شمعې پیرامیټرو سره ټولګه رامینځته کوي چې د راټولولو لیست کې ځړول شوي. برنامه د INTERVAL ارزښت چیک کوي ، او که دا د 0…60 حد کې نه راځي ، یو پیغام ښودل کیږي چې ارزښت د اجازه ورکړل شوي حد سره مطابقت نلري. د شمعې سره د MAP ټولګه په 88 کرښه کې رامینځته شوې. A د 4 لوپ رایی ورکولو چارټ اړین ژورې ته د INTERVAL مرحلې سره له نوي څخه زاړه شمعې ته. په 90 کرښه کې، وروسته له هغه چې دورې اعلان شي، روبوټ یو وقفه بیرته ځي. کله چې تاسو د GET_CANDLE سره شمع ترلاسه کړئ، دا د INSERT_COLLECTION_TEAM فنکشن په کارولو سره د BARLIST ټولګه کې ځای په ځای کړئ. د OHLC() کمانډ د عملیاتو په پایله کې، BARLIST د وسیلې چارټ څخه د وروستي شمعې سره د NUMBER مقدار کې ډک شوی. په ټولګه کې د عناصرو شمیر د GET_COLLECTION_COUNT() کمانډ لخوا غوښتل شوی او د BARCOUNT متغیر لخوا راپور شوی. د سرور نیټه، وخت، د INSTRUMENT او BARCOUNT متغیرونو ارزښتونه په OUTPUT کې د SET_VALUE() فنکشن لخوا راپور شوي. دا صف د CREATE_MAP() کمانډ لخوا رامینځته شوی. ډاټا په دودیز میز کې راځي، کوم چې په لاندې عکس کې لیدل کیدی شي. د INSTRUMENT او BARCOUNT متغیرونو ارزښتونه په OUTPUT کې د SET_VALUE() فنکشن لخوا راپور شوي. دا صف د CREATE_MAP() کمانډ لخوا رامینځته شوی. ډاټا په دودیز میز کې راځي، کوم چې په لاندې عکس کې لیدل کیدی شي. د INSTRUMENT او BARCOUNT متغیرونو ارزښتونه په OUTPUT کې د SET_VALUE() فنکشن لخوا راپور شوي. دا صف د CREATE_MAP() کمانډ لخوا رامینځته شوی. ډاټا په دودیز میز کې راځي، کوم چې په لاندې عکس کې لیدل کیدی شي.
په QPILE کې د روبوټونو سوداګرۍ – چمتو شوي حلونه
د حرکت اوسط روبوټ
ډیمو روبوټ د ریښتیني سوداګرۍ لپاره مناسب ندي.
روبوټ کې 5 پیرامیټونه شامل دي. DATE, TIME, PRICE پیژندونکي ارزښتونه 30 کچې ته ټاکل شوي. حرکت او TP پیژندونکي صفر دقیقیت ته ټاکل شوي. د روبوټ کوډ په حرکت اوسط کې د QPILE لاندې لیکل شوی: [ګالري کالم=”5″ ids=”14896,14897,14898,14899,14900,14901,14902,14903,14904,14905,14906,14907″]
د موروشکین موقعیت محاسبه کوونکی
د اوسني غوښتنې او داوطلبۍ نرخونو کې د اعظمي اجازه وړ کمیدو کچې محاسبه کولو او د اوږد او لنډ پوستونو هدف لپاره برنامه. کچه د موقعیت د ننوتلو حجم د 2 ارزښتونو لپاره محاسبه کیږي. روبوټ د منلو وړ موقعیت حجم پیدا کوي کله چې د بار د ودې په لور د موقعیت خلاصولو محاسبه سره د پرانیستې نرخ څخه په یو ګام کې د تمځای امر ټاکل. موندل شوي کچې د ټرمینل کړکۍ ته ننوځي، کوم چې وروسته د قیمت په چارټ کې منعکس شوي. راکړې ورکړې د ورکړل شوي وسیلې لپاره ټاکل شوي. که چیرې یو موقعیت پرانیستل شي، روبوټ د خپلو پیرامیټونو محاسبه پیل کوي. په موقعیت کې د بدلون پورې اړه لري، ټاکل شوي امرونه تنظیم شوي.
د حجم فلټر
د پورټ فولیو روبوټ د شمعې لپاره د حجم د ریاضي معنی محاسبه کولو او د X کوفیفینټ په واسطه د اوسط محصول سره پرتله کولو لپاره. په ټاکل شوي وخت کې د پلټ شوي چارټونو سره سم کار کوي.
اختیارونه یوناني
د اختیارونو “یوناني” محاسبه کولو او ښودلو لپاره پورټ فولیو. دا د تور – شاور میتود څخه توپیر لري.
د QUIK لپاره د TRIX سوداګریز روبوټ
برنامه د TRIX شاخص پراساس ده. کله چې شاخص د صفر کرښې څخه پورته وتړل شي، ټاکل شوې کچه، روبوټ اوږد دریځ نیسي. موقعیت د ګټې اخیستو ، د ضایع کیدو مخه نیولو یا د تعقیب بندیدو لخوا تړل شوی.
M4 پری پروسیسر
د QPILE او Lua سره د کار کولو پروګرام. د اجرا وړ فایلونو سره آرشیفونه، اسناد او د DLL فایلونه د منظم بیان پارس کولو سره شامل دي. د برنامه کارولو لپاره ، تاسو اړتیا لرئ د اجرا وړ فایلونه خلاص کړئ او په C:\Windows لاره کې regexp2 ځای په ځای کړئ. د QPILE لپاره د QUIK لپاره درسونه: https://youtu.be/vMTXwDUujpI په Quik ټرمینل کې په QPILE باندې د سکریپټ نصب کول: https://youtu.be/0B7qL8Svh7I د ګیتوب یوه برخه چې د QPILE الګوریتمیک ژبې کارول تشریح کوي د QUIK سیسټم ورک سټیشن په لینک کې موقعیت لري – https://euvgub.github.io/quik_user_manual/ch8.html. QPILE یوه پخوانۍ ژبه ده، مګر خورا ساده او حتی د نوي سوداګرو لپاره د لاسرسي وړ ده. د سوداګرۍ روبوټونه او برنامې چې د اوږدې مودې لپاره یې ځان ثابت کړی په دې کار ته دوام ورکوي. په هرصورت، د ډیرو پیچلو کارونو لپاره دا غوره ده چې LUA وکاروئ.
0к