اجرای محاسبه خود در حرکت متوسط دوره 1 برای داشتن سری داده های نقشه در نمودار (شاخص با محاسبات به موقع برمی گردد)

ساخت وبلاگ

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

آیا حرفه ای وجود دارد که بتواند در اجرای یک میانگین متحرک ساده (دوره 1) در محاسبه به من کمک کند (4 میانگین حرکت ساده برای هر نتیجه خواهد بود) (به تصویر زیر مراجعه کنید).

در اینجا کد است:

#property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 White #property indicator_color2 Red #property indicator_level1 0 //---- input parameters exte int DaysToLookBack = 21; exte int SetATRTimeframe = 60 ; exte int ATRValue = 23; exte double ATRMultiplier = 3.9812 ; exte color LineColor = Black; exte int LineWidth = 1 ; exte int LineStyle = STYLE_DOT ; int ShowComment = TRUE ; exte string LineNameUpper = "uBBE" ; exte string LineNameLower = "lBBE" ; exte string LineExtensionUpper = "uDistribution" ; exte string LineExtensionLower = "lDistribution" ; int init() IndicatorShortName ( "BBE Indicator (" +DaysToLookBack+ ")" ); retu ( 0 ); > int deinit() if (ShowComment) Comment ( "" ); ObjectDelete (LineNameUpper); ObjectDelete (LineNameLower); ObjectDelete (LineExtensionUpper); ObjectDelete (LineExtensionLower); ObjectDelete ( "ObjName33" ); ObjectDelete ( "ObjName213" ); ObjectDelete ( "ObjName33Distri" ); ObjectDelete ( "ObjName213Distri" ); retu ( 0 ); >int start () int lookback = ibarshift (نماد () ، 0 ، itime (نماد () ، دوره_د 1 ، Daystolookback) ، نادرست) ؛int limit = mathmin (میله ها ، جستجو+ 1) ؛< double AverageUpperRange= 0.0 ,AverageLowerRange= 0.0 ;

for ( int cnt=DaysToLookBack; cnt>= 1 ; cnt--) AverageUpperRange = AverageUpperRange + MathAbs ( iOpen ( Symbol (), PERIOD_D1 ,cnt)- iClose ( Symbol (), PERIOD_D1 ,cnt)); AverageLowerRange = AverageLowerRange + MathAbs ( iClose ( Symbol (), PERIOD_D1 ,cnt)- iLow ( Symbol (), PERIOD_D1 ,cnt)); >

AnyAPUPPerRange = iopen (نماد () ، دوره_د 1 ، 0)+میانگین UPPERRANGE ؛AveragelowerRange = iopen (نماد () ، PRION_D1 ، 0) -AVERAGELOWERRANGE ؛اگر (نمایش) نظر ("bbe" + " n" "© arsa2018") ؛

if (ObjectFind (LinenAmeUpper)< 0 ) DrawLine(LineNameUpper,AverageUpperRange); else ObjectMove (LineNameUpper, 0 , TimeCurrent (),AverageUpperRange); if ( ObjectFind (LineNameLower) < 0 ) DrawLine(LineNameLower,AverageLowerRange); else ObjectMove (LineNameLower, 0 , TimeCurrent (),AverageLowerRange);

ObjectCreate ("OBJNAME33" ، OBJ_TEXT ، 0 ، TIMECURRENT () ، DOBLETOSTR (میانگین UpperRange ، ارقام)) ؛ObjectSettext ("OBJNAME33" ، "O BBE:" + DoubleToStr (Ana AnyperPerrange ، Digits) ، 10 ، "Verdana" ، Darkgray) ؛ObjectSet ("OBJNAME33" ، OBJPROP_CORNER ، 0) ؛ObjectSetInteger (0 ، "objname33" ، objprop_anchor ، anchor_left) ؛

ObjectCreate ("OBJNAME213" ، OBJ_TEXT ، 0 ، TIMECURRENT () ، DOBLETOSTR (AVERAGELOWERRANGE ، رقم)) ؛ObjectSettext ("OBJNAME213" ، "U BBE:" + DoubleToStr (AveragelowerRange ، Digits) ، 10 ، "Verdana" ، Darkgray) ؛ObjectSet ("OBJNAME213" ، OBJPROP_CORNER ، 0) ؛ObjectSetInteger (0 ، "objname213" ، objprop_anchor ، anchor_left) ؛

Double AnaDupperextension = 0. 0 ، Averagelowerextension = 0. 0 ؛

AnyAPPEREXTENSION = AnyAMUPPerRange + IATR (NULL ، SetAtrimeFrame ، Atrvalue ، 0)*Atrmultiplier ؛AverageLowerextension = AveragelowerRange - IATR (تهی ، setAttremtRame ، Atrvalue ، 0)*Atrmultiplier ؛

if (ObjectFind (LineextensionUpper)< 0 ) DrawLine(LineExtensionUpper,AverageUpperExtension); else ObjectMove (LineExtensionUpper, 0 , TimeCurrent (),AverageUpperExtension); if ( ObjectFind (LineExtensionLower) < 0 ) DrawLine(LineExtensionLower,AverageLowerExtension); else ObjectMove (LineExtensionLower, 0 , TimeCurrent (),AverageLowerExtension);

ObjectCreate ("ObjName33Distri" ، obj_text ، 0 ، timeCurrent () ، DoubleToStr (AnyAPPEREXTENSION ، رقم)) ؛ObjectSettext ("ObjName33Distri" ، "Udistribution:" + DoubleToStr (AnaDeUpperextension ، ارقام) ، 10 ، "Verdana" ، Darkgray) ؛ObjectSet ("objname33distri" ، objprop_coer ، 0) ؛ObjectSetInteger (0 ، "objname33distri" ، objprop_anchor ، anchor_left) ؛

ObjectCreate ( "ObjName213Distri" , OBJ_TEXT , 0 , TimeCurrent (), DoubleToStr (AverageLowerExtension, Digits )); ObjectSetText ( "ObjName213Distri" , " lDistribution: " + DoubleToStr (AverageLowerExtension, Digits ), 10 , "Verdana" , DarkGray); ObjectSet ( "ObjName213Distri" , OBJPROP_CORNER , 0 ); ObjectSetInteger ( 0 , "ObjName213Distri" , OBJPROP_ANCHOR , ANCHOR_LEFT ); retu ( 0 ); > void DrawLine( string LineName, double price1) ObjectCreate (LineName, OBJ_TREND , 0 , TimeCurrent (),price1, Time [ 40 ],price1); ObjectSet (LineName, OBJPROP_COLOR ,LineColor); ObjectSet (LineName, OBJPROP_WIDTH ,LineWidth); ObjectSet (LineName, OBJPROP_STYLE ,LineStyle); ObjectSet (LineName, OBJPROP_RAY_RIGHT , false ); >

اگر کسی باشد که بتواند به من کمک کند ، بیش از حد سپاسگزارم. با تشکر در رابطه

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

برچسب : نویسنده : ابراهیم بهپور اسکویی بازدید : 181 تاريخ : پنجشنبه 3 فروردين 1402 ساعت: 15:17