رفع PriceAction Stoploss یا RSI ثابت (Smart Stoploss)

ساخت وبلاگ

Fix PriceAction Stoploss or Fixed RSI (Smart StopLoss)

The search for a holy grail in trading has led me to this research. Stop-loss is the most important tool in trading when money management is conceed. Money management is among the different ways a trader can make money in the market and be consistent in the long run. As stated earlier, money management is strongly associated with stop-loss and risk-reward ratio. The 1:1.5R (Risk:Reward) ratio tends to have higher win-rate when compared to other Risk:Reward’s win-rate but the 1:>1.9R(Risk:Reward) ratio most time tends to be more profitable and keep a trader in consistent profit over a long period of time (Holy grail). This “Holy grail'' trading strategy has it down side. In an ideal situation, trading with 1:>1. 9R (ریسک: پاداش) اگر از 10 معاملات (هر یک از آنها) ، 6 معاملات از بین رفت (6 پیپ) و 4 معاملات (8 پیپ) به دست آمد. این بدان معنی است که ما 2 پیپ سود داریم. در برنامه زندگی واقعی ، ممکن است همه چیز درست نباشد. یکی از عوامل اصلی که به این امر کمک می کند ، اصطلاحی است که به عنوان "شکار از دست دادن" شناخته می شود. HUNT STOP LOSS در شرایطی است که یک تجارت برای نقدینگی از بین رفتن شما برخورد می کند و سپس در مسیری که پیش بینی کرده اید حرکت می کند. Hunt Stop-Loss یک مسئله مهم در تجارت و مدیریت پول است. همچنین تأثیر روانی بر معامله گران (عمدتا معامله گران جدید) دارد.

Stop-loss Hunt

شکل 1. 1. شکار از دست دادن

HUNT STOP-SOSS بیشتر با توقف ثابت یا دنباله در نمودار عملکرد قیمت یا نمودار شمعدان همراه است. اگر در نمودار اقدام قیمت هیچ گونه ضرر وجود نداشته باشد ، هیچ شکار از دست دادن وجود نخواهد داشت. اما صفر از بین رفتن برابر با احتمال دمیدن حساب معاملاتی شما (که برابر با یک (1) است) برابر است.

RSI STOP-SOSS

نوسان ساز RSI ماکت نمودار خط عمل قیمت است که در یک پنجره محدود از 100 تا 0 ترسیم شده است

thRsi

شکل 1. 2. نمودار RSI و خط

اگر نشانگر RSI و نمودار خط بسیار مشابه باشد ، استفاده از نشانگر RSI به عنوان یک توقف Smart Stop ممکن است خطر شکار های متوقف شده را کاهش دهد.

هدف:

هدف من در اینجا تأیید این است که آیا استفاده از RSI STOP-LOSS قادر به کاهش شکار از دست دادن است و مهمتر از همه در دراز مدت سودآور خواهد بود.

هدف، واقعگرایانه:

دو استراتژی مشابه مقایسه خواهد شد: یکی با تنظیم توقف از دست دادن در نمودار عملکرد قیمت و دیگری با تنظیم توقف از دست دادن در نشانگر RSI.

استراتژی و رمز

نمودار توقف کلاسیک در نمودار عمل قیمت

برای اولین EA با از دست دادن ثابت در عمل قیمت. در زیر الزامات استراتژی آورده شده است

شرح

میانگین متحرک (200)

میانگین حرکت (50)

اگر میانگین متحرک (50) بالاتر از میانگین متحرک (200) باشد و خط MACD از خط سیگنال بیشتر باشد وقتی که خط MACD و خط سیگنال زیر صفر هستند

اگر میانگین متحرک (50) زیر میانگین متحرک (200) باشد و خط MACD کمتر از خط سیگنال باشد که هم خط MACD و هم خط سیگنال بالاتر از صفر باشند

سود و از دست دادن (1: 2R).

ضرر از دست دادن برای شرایط خرید کمترین تعداد بیست (20) شمع پس از ورود منهای مقدار ATR (5) است

و توقف ضرر برای فروش بالاترین بیست (20) شمع پس از ورود به علاوه ارزش ATR (5) است

نمایش گرافیکی در زیر نشان داده شده است.

Buy Entry Classic stoploss

شکل 2. 1 خرید ورودی

Sell Entry Classic stoploss

شکل 2. 2 ورود به فروش

رمز

قسمت اول کد عمدتا برای اعلامیه متغیر و داده های ورودی است. تمام متغیر کنترل کننده شاخص در اینجا اعلام شد.

#ویژگی کپی رایت "کپی رایت 2021 ، Metaquotes Ltd." #ویژگی ارتباط دادن "https://www. mql5. com" #ویژگی نسخه "1. 00" //+------------------------------------------------------------------+ // |عملکرد اولیه سازی متخصص | //+------------------------------------------------------------------+ #تجارت CTRADE ؛در نظر گرفتنماتراند ؛در نظر گرفتندیوانه کننده ؛در نظر گرفتنMACD ؛در نظر گرفتنATR ؛ورودی در نظر گرفتنAFI ؛// ---------- RiskAmount ------------ ورودی دو برابرخطر =0. 02; // ٪ به ریسک ورودی در نظر گرفتنatrvalue =20; // مقدار ATR ورودی در نظر گرفتنai ؛// ---------- در حال حرکت ورودی متوسط ------------ ورودی در نظر گرفتنmovavgtrend =200;// حرکت متوسط روند ورودی در نظر گرفتنmovavgdirection =50;// میانگین حرکت برای جهت روند ؛ ورودی در نظر گرفتنمن؛// ----------- ورودی های MACD ------------------------- ورودی در نظر گرفتنسریع =12;// MACD سریع ورودی در نظر گرفتنکند =26; // MACD آهسته ورودی در نظر گرفتنسیگنال =9; // خط سیگنال

متغیر دیگر اعلام شده است

دو برابرpipvalue =0.0;// دو برابرتعادل// برای تعادل فعلی

متغیرها در عملکرد init () به هر کنترل کننده اختصاص داده شدند

در نظر گرفتن در عین حال() <//--- // در حال حرکت به طور متوسط شاخص ها ''matrend =IMA(_سمبل,_دوره زمانی، Movavgtrend ،0,MODE_SMA,close قیمت); // میانگین حرکت 200madirection =IMA(_سمبل,_دوره زمانی، Movavgdirection ،0,حالت_ما,close قیمت); // حرکت متوسط 50 // MACDMACD =imacd(_سمبل,_دوره زمانی، سریع ، آهسته ، سیگنال ،close قیمت);// MACD // ATRATR =ایر(_سمبل,_دوره زمانی، Atrvalue) ؛//---نقطه =_نقطه; دو برابر رقم=_digits; if((_digits==3) || (_digits==5)) 10;> برگشت(init_sucted);>

کد مربوط به نحوه اجرای استراتژی در زیر نشان داده شده است

خالیاستراتژی ()<MQLRATESPRICEACTION [] ؛arraysetasseries(قیمت گذاری ،درست است، واقعی); در نظر گرفتنPREDICEATA =کپی راتر(_سمبل,_دوره زمانی,0,200، PRICEACTION) ؛دو برابرMatrend [] ؛arraysetasseries(ماتراند ،درست است، واقعی); کپی کننده(ماتراند ،0,0,200، matrend) ؛// 200 کارشناسی ارشد دو برابردیوانه [] ؛arraysetasseries(Madirection ،درست است، واقعی); کپی کننده(Madirection ،0,0,200، Madirection) ؛// 50 کارشناسی ارشد دو برابرMACD [] ؛arraysetasseries(MACD ،درست است، واقعی); کپی کننده(MACD ،0,0,200، MACD) ؛// MACD دو برابرMACDS [] ؛arraysetasseries(MACDS ،درست است، واقعی); کپی کننده(MACD ،1,0,200، MACDS) ؛// خط macd_signal دو برابرپیشنهاد =عادی شده(نمادینفودو(_سمبل,نماد_بید),_digits); دو برابربپرسید =عادی شده(نمادینفودو(_سمبل,نماد_خاش),_digits); if(Madirection [1]>matrend [1]) <// خرید ؛صعود کردن بولmacd_bzero = macds [1]0&& MACD [1]0; // خط سیگنال MACD کمتر از صفر است بولMACD_CROSS = MACD [1]>macDs [1];// MACD از خط سیگنال عبور می کند if(macd_bzero && macd_cross)درست است، واقعی;>> دیگر if(Madirection [1]1]) <// فروش ؛حرکت بولmacd_bzero = macds [1]>0&& MACD [1]>0;; // خط سیگنال MACD کمتر از صفر است بولMACD_CROSS = MACD [1]1];// MACD از خط سیگنال عبور می کند if(macd_bzero && macd_cross)درست است، واقعی;>> if(buytrade && sellTrade)دروغ؛sellTrade =دروغ; برگشت;> if(BuyTrade)دروغ؛sellTrade =دروغ; Buy(Ask);> دیگر if(Selltrade)دروغ؛sellTrade =دروغ; Sell(Bid);>>

ورود (خرید و فروش)

خالیخرید (دو برابرپرسیدن)<دو برابرATR [] ؛arraysetasseries(ATR ،درست است، واقعی); // این آرایه برای ذخیره تمام مقدار ATR در آخرین نوار بسته استفاده می شود کپی کننده(ATR ،0,0,200، Atr) ؛// این روش مقدار بافر نشانگر ATR را در آرایه کپی می کند (200 داده بافر) thelotsize =عادی شده((تعادل*خطر)/((ماتاب(سؤال کنید-((Stoplossforbuy (20) -atr [1])))*100)*pipvalue) ،2); // این تعداد زیادی را با استفاده از ٪ برای ریسک محاسبه می کندTrade. buy (thelotsize ،_سمبل، بپرسید ، (Stoplossforbuy (20) -atr [1]) ، بپرسید+(2*ماتاب(سؤال کنید-((Stoplossforbuy (20) -atr [1])))),خالی); // خرید ورودی با صفر stoploss && سود دو برابر فاصله بین ورودی و کمترین شمع است> خالیفروش (دو برابرپیشنهاد)<دو برابرATR [] ؛arraysetasseries(ATR ،درست است، واقعی); // این آرایه برای ذخیره تمام مقدار ATR در آخرین نوار بسته استفاده می شود کپی کننده(ATR ،0,0,200، Atr) ؛// این روش مقدار بافر نشانگر ATR را در آرایه کپی می کند (200 داده بافر)thelotsize =عادی شده((تعادل*خطر)/((ماتاب(پیشنهاد-((Stoplossforsell (20)+ATR [1])))*100)*pipvalue) ،2); // این تعداد زیادی را با استفاده از ٪ برای ریسک محاسبه می کندTrade. sell (thelotsize ،_سمبل، پیشنهاد ، (Stoplossforsell (20)+ATR [1])،پیشنهاد-(2*ماتاب(((Stoplossforsell (20)+ATR [1]))-پیشنهاد))،خالی); // فروش ورودی با صفر stoploss && سود دو برابر فاصله بین ورودی و بالاترین شمع است>

از کدهای فوق ما دو روش را نامیدیم که stoplossforsell (int num) و stoplossforbuy (int num) است. این دو روش به طور خاص برای شناسایی بالاترین و کمترین شمع تعداد اختصاص یافته به ترتیب پس از شروع تجارت انجام می شود. به عنوان مثال Stoplossforsell (20) بالاترین شمع را در بین 20 شمع قبلی قبل از ورود برمی گرداند.

دو برابرStoplossforbuy (در نظر گرفتنnumcandle)<در نظر گرفتنLowestCandle ؛// ایجاد آرایه برای پایین شمع دو برابرکم[]؛// مرتب کردن شمع از جریان جریان arraysetasseries(کم،درست است، واقعی); // کپی کردن تمام پایین برای 100 شمع کپی(_سمبل,_دوره زمانی,0، numcandle ، کم) ؛// کمترین شمع را محاسبه کنیدLowestCandle =arrayminimum(کم،0، numcandle) ؛// ایجاد آرایه ای از قیمت MQLRATESPriceInfo [] ؛arraysetasseries(PriceInfo ،درست است، واقعی); // کپی کردن داده های قیمت برای آرایه در نظر گرفتنداده ها =کپی راتر(سمبل(),دوره زمانی(),0,میله(سمبل(),دوره زمانی()) ، PriceInfo) ؛برگشت PriceInfo[LowestCandle].low;> دو برابرStoplossforsell (در نظر گرفتنnumcandle)<در نظر گرفتنبالاترین کاندر ؛دو برابربالا [] ؛// مرتب سازی آرایه به سمت پایین از شمع فعلی arraysetasseries(بالا ،درست است، واقعی); // آرایه را با داده برای 100 شمع پر کنید کپی(_سمبل,_دوره زمانی,0، numcandle ، بالا) ؛// بالاترین شمع را محاسبه کنیدبالاترین کاندل =arraymaximum(بالا ،0، numcandle) ؛// ایجاد آرایه ای برای قیمت MQLRATESPriceInformation [] ؛arraysetasseries(اطلاعات مربوط به PriceInformation ،درست است، واقعی); // کپی کردن داده های قیمت برای آرایه در نظر گرفتنداده ها =کپی راتر(سمبل(),دوره زمانی(),0,میله(سمبل(),دوره زمانی()) ، PriceInformation) ؛برگشت PriceInformation[HighestCandle].high;>

این EA با بررسی اینکه آیا تجارت آزاد وجود دارد یا نه ، وارد یک بار تجارت می شود. اگر معاملات باز وجود نداشته باشد ، روش استراتژی نامیده می شود.

خالی مکتب() <//---pipvalue = ((((((نمادینفودو(سمبل(), symbol_trade_tick_value))*نقطه)/(نمادینفودو(سمبل(),symbol_trade_tick_size)))) ؛تعادل =AccountInfodouble(موجودی حساب); if (موضعی()==0) >

RSI STOP-FOSS در نشانگر RSI

برای دومین EA با از دست دادن ثابت در نشانگر RSI. در زیر الزامات استراتژی آورده شده است.< Pan> // مرتب سازی آرایه به سمت پایین از شمع فعلی

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

برچسب : نویسنده : هایده حائری بازدید : <-PostHit-> تاريخ : چهارشنبه 15 شهريور 1402 ساعت: 9:37