دوره MT4 EA: ATR متوقف می شود و اندازه موقعیت

ساخت وبلاگ

این مقاله بخشی از یک سری است. در اینجا قسمت های دیگر وجود دارد:

  • قسمت 1: دوره فارکس MT4 EA: مقدمه
  • قسمت 2: دوره MT4 EA فارکس: اولین مشاور متخصص فارکس ما
  • قسمت 3: دوره فارکس MT4 EA: توقف های دنباله دار
  • قسمت 4: دوره فارکس MT4 EA: خرید و فروش
  • قسمت 5: دوره فارکس MT4 EA: ATR متوقف می شود و اندازه موقعیت (این صفحه)

به بخش پنجم دوره مشاور مشاور متخصص Metatrader4 ما خوش آمدید! اگر این کار را نکرده اید ، لطفاً به اقساط قبلی نگاهی بیندازید.

Forex Wall-E

ما با مشاور متخصص خود بسیار خوب عمل کرده ایم. ما یک EA کاملاً کارآمد ایجاد کردیم که می تواند سفارشات خرید و فروش را انجام دهد و همچنین می تواند توقف های ما را دنبال کند. با این حال ، تاکنون ، ما همیشه از از دست دادن توقف ثابت 50 پیپ استفاده کرده ایم.

این ممکن است اغلب خوب باشد اما اگر می خواهید از دست دادن توقف پویا بخواهید چه می کنید؟به منظور بازتاب بهتر پویایی بازار ، می توانیم از یک شاخص نوسانات مانند ATR (میانگین محدوده واقعی) برای تعیین از بین رفتن خود استفاده کنیم.

وقتی از مسافت های ضرر پویا استفاده می کنیم ، هنوز می خواهیم ریسک خود را در هر تجارت یکسان نگه داریم. ما این کار را با استفاده از اندازه موقعیت پویا انجام می دهیم. به عبارت دیگر ، ما اندازه زیادی را در هر تجارت تغییر خواهیم داد تا تمایل ما به استفاده از ضرر 1 ٪ متوقف شود. بیایید ببینیم که چگونه می توانیم این را به مشاور متخصص WALL-E اضافه کنیم!

توقف پویا مبتنی بر ATR

بیایید آنچه را که تاکنون انجام داده ایم تازه کنیم. تاکنون ، ما همیشه از دست دادن 50 پیپ (یا 500 امتیاز) مانند این ایجاد کرده ایم:

int stoploss = 500 ؛

این کار خوب است ، اما نوسانات بازار را در نظر نمی گیرد. علاوه بر این ، اگر بخواهیم این مشاور متخصص را در نمودار 10 دقیقه ای تجارت کنیم ، بدیهی است که به یک توقف متفاوت نسبت به زمانی که این کار را در نمودارهای روزانه تجارت می کنیم ، نیاز دارد. 50 پیپ قطعاً یک اندازه متناسب با همه ارزش نیست.

ما می توانیم این کار را با استفاده از نشانگر ATR حل کنیم. شاخص ATR یک شاخص تحلیل فنی است که نوسانات بازار را در یک دوره خاص به ما نشان می دهد. این مسیر بازار را نشان نمی دهد ، فقط این بازار بی ثبات است یا نه. برای تعیین این موضوع از دامنه حرکات قیمت استفاده می کند.

چگونه می توانیم از این نشانگر ATR استفاده کنیم؟ما یک فاصله از دست دادن توقف را ایجاد می کنیم که چند مورد از این مقدار ATR است. به این ترتیب ، هر زمان که بازار بی ثبات تر باشد ، ضرر توقف ما بزرگتر خواهد شد و وقتی بازار در حال تحکیم است ، از ضرر محکم تر استفاده می کند. در اینجا چگونه می توانیم این کار را انجام دهیم:

// در اینجا ، ما مقدار 3 دوره فعلی ATR را دو برابر ATR = IATR (NULL ، 0 ، 3 ، 0) می گیریم.// از آنجا که از دست دادن توقف چند مورد از این مقدار ATR خواهد بود ، // ما این چند را تعریف می کنیم. 2. 5 برابر مقدار ATR // اغلب شروع خوبی است: دوتایی Atrmultiple = 2. 5 ؛// اکنون ، ما از دست دادن توقف خود را تعیین کردیم.// ما مقدار ATR را با چند برابر ATR ضرب می کنیم و به منظور دریافت یک مقدار در نقاط: int stoploss = (int) (atr * atrmultiple / point) توسط ثابت نقطه // تقسیم می کنیم.// و ، از آنجا که ما یک مقدار از دست دادن توقف پویا داریم ، // استفاده از همان مبلغ PIPS مانند سود خود را در int takeprofit = stoploss معقول می کند.

ما میرویم آنجا. به خاطر داشته باشید که ما هنوز از اندازه قطعه ثابت 0. 01 استفاده می کنیم. یک پشتی سریع نتایج امیدوارکننده را به ما نشان می دهد:

با این حال ، همانطور که می بینید ، ما با 10،000 دلار شروع می کنیم و فقط پس از تقریباً 250 معاملات ، 10،166 دلار پایان می دهیم. هیچ مشکلی با آن وجود ندارد ، اما این به وضوح بازتاب ای از اندازه کوچک ما است که ما از آن استفاده می کنیم. بیایید ببینیم که چگونه می توانیم این کار را تغییر دهیم تا در هر تجارت 1 ٪ ریسک داشته باشیم.

اندازه گیری موقعیت پویا

ما به تازگی موفق شده ایم ضررهای توقف خود را پویا کنیم اما به همین دلیل و این واقعیت که از اندازه قطعه ثابت استفاده می کنیم ، در هر تجارت مقادیر مختلفی را به خطر می اندازیم. این ایده آل نیست ، زیرا ما ترجیح می دهیم با هر تجارت ، همان درصد خطر را در نظر بگیریم.

بیایید فرض کنیم خطر ما در هر تجارت باید 1 ٪ باشد. اگر یک حساب معاملاتی داشته باشیم که 1000 دلار باشد ، هر تجارت فقط 1 ٪ از 1000 دلار خواهد بود ، بنابراین اگر قیمت به ضرر ما برسد ، 10 دلار برای هر تجارت ریسک می کنیم. یک توقف کم خطر یکی از ویژگی های بارز در یک استراتژی معاملاتی محکم است که به نظر می رسد خوب است ، اما چگونه این را در کد خود پیاده سازی می کنیم؟

عملکرد Calculatelotsize

اولین چیزی که ما باید تغییر دهیم اضافه کردن یک تابع جدید به نام Calculatelotsize () است. ما می توانیم این را به پایین پرونده مشاور متخصص خود اضافه کنیم:

/ ** * مقدار مقدار مورد نیاز را بر اساس از دست دادن توقف محاسبه کنید * * retu Double */ Double Calculatelotsize (int stoploss)

از آنجا که این پیچیده ترین بخش کد این فصل است ، بیایید این یکی را به یک یکی برسانیم. اول ، ما تعریف می کنیم که در مورد 1 درصد ما خطر ما در هر تجارت چقدر باید باشد. این متغیر ریسک در محاسبه اندازه قطعه چند خط پایین استفاده می شود.

خطر int = 1 ؛

در مرحله بعد، تعدادی از ویژگی های نماد فعلی را واکشی می کنیم تا محاسبه کنیم اندازه لات ما چقدر باید باشد. مهمترین مورد در اینجا tickVal است که قیمت یک تیک این نماد را نگه می دارد. سپس، اندازه واقعی لات را محاسبه می کنیم. برای انجام این کار، مانده حساب را واکشی می کنیم، یک درصد از آن موجودی را می گیریم تا حداکثر ریسک دلاری را داشته باشیم که می خواهیم بپذیریم. سپس، این مقدار را بر قیمت توقف خود تقسیم می کنیم تا به اندازه لات برسیم:

// واکشی برخی از ویژگی های نماد double lotStep = MarketInfo(Symbol(), MODE_LOTSTEP); double minLot = MarketInfo(Symbol(), MODE_MINLOT); double maxLot = MarketInfo(Symbol()، MODE_MAXLOT); double tickVal = MarketInfo(Symbol()، MODE_TICKVALUE);// اندازه واقعی لات را محاسبه کنید double lotSize = AccountBalance() * risk / 100 / (stopLoss * tickVal);

در نهایت، ما از محدودیت های حداقل لات و حداکثر لات استفاده می کنیم، بنابراین سعی نمی کنیم سفارشی را که خیلی بزرگ یا خیلی کوچک است باز کنیم و مقدار اندازه لات را به نزدیک ترین مرحله لات گرد کنیم. مثالی که در آن مفید خواهد بود برای مثال در DAX، که در آن حداقل اندازه لات 0. 1، سپس 0. 2، 0. 3 و غیره است. آخرین مرحله اطمینان حاصل می کند که از مقادیر اندازه لات مانند 0. 05، 0. 13 و غیره استفاده نمی کنیم. که توسط کارگزار ما پذیرفته نمی شود.

retu MathMin( maxLot, MathMax( minLot, NormalizeDouble(lotSize / lotStep, 0) * lotStep // این مقدار lotSize را به نزدیکترین فاصله لات استپ گرد می کند) );

استفاده از اندازه های لات پویا

اکنون که تابع محاسبه اندازه لات خود را داریم، فقط باید یک قطعه از کد را به روز کنیم، جایی که اندازه لات خود را تعریف کرده ایم. به یاد داشته باشید که به این شکل بود:

دو لات = 0. 01;

ما این خط را به روز می کنیم، بنابراین از تابع اندازه لات جدید ما به جای مقدار ثابت استفاده می کند:

دو لات = محاسبهLotSize(stopLoss);

فقط مطمئن شوید که قبلاً متغیر stopLoss را تعریف کرده اید، به این معنی که ممکن است لازم باشد خط بالا را چند خط پایین تر از محاسبه توقف ضرر قرار دهید. اما همین است، ما تمام تغییرات مورد نیاز خود را برای اجرای هر دو ضرر پویا بر اساس ATR و اندازه لات پویا به پایان رسانده ایم تا همیشه از ریسک 1% در هر معامله استفاده کنیم!

نتیجه

اکنون که همه چیز را پیاده سازی کرده ایم، بیایید نگاهی دیگر به نمودار ارزش ویژه خود بیندازیم:

همانطور که می بینید، در همان دوره 250 معامله، ما اکنون می توانیم موجودی اولیه 10000 دلاری خود را به 12586 دلار بسیار زیباتر برسانیم! اینها سودهایی هستند که می توانیم به آنها افتخار کنیم! همچنین توجه داشته باشید که یک پانل جدید به پایین نمودار ارزش سهام اضافه شده است، که نشان می دهد بسته به موقعیتی که در نظر گرفته ایم، اندازه لات چگونه تغییر می کند.

مشاور متخصص ما نتایج بهتر و بهتری می گیرد! بیایید کارهایی را که در این فصل انجام داده ایم مرور کنیم:

  • ما تشخیص داده ایم که برای تطبیق با نوسانات در حال تغییر بازارها، بهتر است از توقف ضرر پویا استفاده کنیم.
  • ما از یک مضرب شاخص ATR به عنوان یک مقدار توقف ضرر پویا استفاده کرده ایم که این نوسانات را در خود جای داده است
  • ما یاد گرفتیم که چرا باید از اندازه پوزیشن پویا استفاده کنیم: برای حفظ ریسک برابر در هر معامله، صرف نظر از فاصله توقف ضرر ما
  • ما با استفاده از تابع ()calculateLotSize جدید، اندازه پویا پوزیشن را پیاده سازی کرده ایم.

منتظر فصل بعدی باشید، جایی که ما نگاهی به استفاده از پارامترهای پیکربندی برای تعدادی از تنظیمات خواهیم داشت. اگر سوالی دارید، لطفاً در نظرات به من بگویید یا از فرم تماس استفاده کنید!

sfl

معامله گر FX و آتی، با استفاده از عمل قیمت، مشخصات بازار و جریان سفارش به بازارهای تجاری. من همچنین به روانشناسی تجارت و تجارت الگوریتمی علاقه دارم. من را در توییتر دنبال کنید: @GhostwireTrader

در باره

معامله گر FX و آتی، با استفاده از عمل قیمت، مشخصات بازار و جریان سفارش به بازارهای تجاری. من همچنین به روانشناسی تجارت و تجارت الگوریتمی علاقه دارم.

گزینه های باینری...
ما را در سایت گزینه های باینری دنبال می کنید

برچسب : نویسنده : هایده حائری بازدید : <-PostHit-> تاريخ : يکشنبه 29 مرداد 1402 ساعت: 17:48