من کد برنامه نویسی MQL4 از ابزار ترمینال MT4 ترمینال برای اصلاح فیبوناچی را دارم. این به طور خودکار بدون در نظر گرفتن نوع ابزار مالی ، خطوط دقیق ٪ را در نمودار ترسیم می کند. مشکل کد اول ، که من کاملاً در زیر آن کپی می کنم ، این است که خط Fibonacci . 7263 (76. 4 ٪) از دست رفته است ، بنابراین من آن خطوط را در کد دوم زیر اضافه کردم (کاملاً کپی شده پس از کد اول). اکنون با کد دوم دو مشکل دارم. مشکل اول (کد دوم): هر دو خط 100. 0 ٪ و 0. 0 ٪ از دست رفته اند. آنها دیگر به نمودار کشیده نمی شوند. مشکل دوم (کد دوم): خطوط مشابه ، مانند کد اول ، دیگر در سطح مناسب و دقیق قیمت بازار ترسیم نمی شوند. مثال (همان نماد ، همان بازه زمانی): 61. 8 ٪ برابر با قیمت بازار 0. 98247 در کد دوم است که اشتباه است. در کد اول (صحیح) 61. 8 ٪ برابر با قیمت بازار 0. 98075 است
+----------------------------------------------------------------------+ // |fibonacci-retraction. mq4 |// |© 2011 Best-Metatrader-Indicators. com. کلیه حقوق محفوظ است |// |http://www. best-metatrader-indicators. com |//+----------------------------------------------------------------------------+ #Property کپی رایت "کپی رایت © 2011 Best-Metatrader-Indicators. com."لینک #Property "http://www. best-metatrader-indicators. com" #property indentar_chart_window exte double fibolevel1 = 0. 000 ؛exte double fibolevel2 = 0. 236 ؛exte double fibolevel3 = 0. 382 ؛exte double fibolevel4 = 0. 500 ؛exte double fibolevel5 = 0. 618 ؛exte double fibolevel6 = 1. 000 ؛رشته کپی رایت = " xa9 www. best-metatrader-indicators. com" ؛رشته mprefix = "fi" ؛//+----------------------------------------------------------------------------+ // |عملکرد اولیه سازی شاخص سفارشی |//+----------------------------------------------------------------------------+ int init ()//+----------------------------------------------------------------------------+ // |شاخص سفارشی عملکرد deinitialization |//+----------------------------------------------------------------------------+ int deinit ()//+----------------------------------------------------------------------------+ // |عملکرد تکرار نشانگر سفارشی |//+----------------------------------------------------------------------------+ int start ()Fiblow)دیگرdouble fiboPrice1=ObjectGet(MPrefix+"FIBO_LAB",OBJPROP_PRICE1); double fiboPrice2=ObjectGet(MPrefix+"FIBO_LAB",OBJPROP_PRICE2); double fiboPriceDiff = fiboPrice2-fiboPrice1; string fiboValue0 = DoubleToStr(fiboPrice2-fiboPriceDiff*FiboLevel1,Digits); string fiboValue23 = DoubleToStr(fiboPrice2-fiboPriceDiff*FiboLevel2,Digits); string fiboValue38 = DoubleToStr(fiboPrice2-fiboPriceDiff*FiboLevel3,Digits); string fiboValue50 = DoubleToStr(fiboPrice2-fiboPriceDiff*FiboLevel4,Digits); string fiboValue61 = DoubleToStr(fiboPrice2-fiboPriceDiff*FiboLevel5,Digits); string fiboValue100 = DoubleToStr(fiboPrice2-fiboPriceDiff*FiboLevel6,Digits); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_FIBOLEVELS,6); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_FIRSTLEVEL+0,FiboLevel1); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_FIRSTLEVEL+1,FiboLevel2); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_FIRSTLEVEL+2,FiboLevel3); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_FIRSTLEVEL+3,FiboLevel4); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_FIRSTLEVEL+4,FiboLevel5); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_FIRSTLEVEL+5,FiboLevel6); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_LEVELCOLOR,levelColor); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_LEVELWIDTH,1); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_LEVELSTYLE,STYLE_DASHDOTDOT); ObjectSetFiboDescription( MPrefix+"FIBO_LAB", 0,fiboValue0+" > "+DoubleToStr(FiboLevel1*100,1)+"%"); ObjectSetFiboDescription( MPrefix+"FIBO_LAB", 1,fiboValue23+" > "+DoubleToStr(FiboLevel2*100,1)+"%"); ObjectSetFiboDescription( MPrefix+"FIBO_LAB", 2,fiboValue38+" > "+DoubleToStr(FiboLevel3*100,1)+"%"); ObjectSetFiboDescription( MPrefix+"FIBO_LAB", 3,fiboValue50+" > "+DoubleToStr(FiboLevel4*100,1)+"%"); ObjectSetFiboDescription( MPrefix+"FIBO_LAB", 4,fiboValue61+" > "+DoubleToStr(FiboLevel5*100,1)+"%"); ObjectSetFiboDescription( MPrefix+"FIBO_LAB", 5,fiboValue100+" > "+DoubleToStr(FiboLevel6*100,1)+"%"); //---- retu(0);>//+----------------------------------------------------------------------------+ // |عملکرد DL |//+----------------------------------------------------------------------------+ void dl (برچسب رشته ، متن رشته ، int x ، int y ، clr رنگ ، string fontname = "arial" ، int fontsize = 12 ،int typecoer = 1)ObjectSet(labelIndicator, OBJPROP_CORNER, typeCoer); ObjectSet(labelIndicator, OBJPROP_XDISTANCE, x); ObjectSet(labelIndicator, OBJPROP_YDISTANCE, y); ObjectSetText(labelIndicator, text, FontSize, FontName, clr);>//+----------------------------------------------------------------------------+ // |عملکرد ClearObjects |//+----------------------------------------------------------------------------+ void clearObjects ()> //+------------------------------------------------------------------+
کد دوم:
//+----------------------------------------------------------------------------+ // |fibonacci-retraction. mq4 |// |© 2011 Best-Metatrader-Indicators. com. کلیه حقوق محفوظ است |// |http://www. best-metatrader-indicators. com |//+----------------------------------------------------------------------------+ #Property کپی رایت "کپی رایت © 2011 Best-Metatrader-Indicators. com."لینک #Property "http://www. best-metatrader-indicators. com" #property indentar_chart_window exte double fibolevel1 = 0. 000 ؛exte double fibolevel2 = 0. 236 ؛exte double fibolevel3 = 0. 382 ؛exte double fibolevel4 = 0. 500 ؛exte double fibolevel5 = 0. 618 ؛Exte Double Fibolevel6 = 0. 764 ؛exte double fibolevel7 = 1. 000 ؛رشته کپی رایت = " xa9 www. best-metatrader-indicators. com" ؛رشته mprefix = "fi" ؛//+----------------------------------------------------------------------------+ // |عملکرد اولیه سازی شاخص سفارشی |//+----------------------------------------------------------------------------+ int init ()//+----------------------------------------------------------------------------+ // |شاخص سفارشی عملکرد deinitialization |//+----------------------------------------------------------------------------+ int deinit ()//+----------------------------------------------------------------------------+ // |عملکرد تکرار نشانگر سفارشی |//+----------------------------------------------------------------------------+ int start ()Fiblow)دیگرdouble fiboPrice1=ObjectGet(MPrefix+"FIBO_LAB",OBJPROP_PRICE1); double fiboPrice2=ObjectGet(MPrefix+"FIBO_LAB",OBJPROP_PRICE2); double fiboPriceDiff = fiboPrice2-fiboPrice1; string fiboValue0 = DoubleToStr(fiboPrice2-fiboPriceDiff*FiboLevel1,Digits); string fiboValue23 = DoubleToStr(fiboPrice2-fiboPriceDiff*FiboLevel2,Digits); string fiboValue38 = DoubleToStr(fiboPrice2-fiboPriceDiff*FiboLevel3,Digits); string fiboValue50 = DoubleToStr(fiboPrice2-fiboPriceDiff*FiboLevel4,Digits); string fiboValue61 = DoubleToStr(fiboPrice2-fiboPriceDiff*FiboLevel5,Digits); string fiboValue76 = DoubleToStr(fiboPrice2-fiboPriceDiff*FiboLevel6,Digits); string fiboValue100 = DoubleToStr(fiboPrice2-fiboPriceDiff*FiboLevel7,Digits); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_FIBOLEVELS,6); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_FIRSTLEVEL+0,FiboLevel1); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_FIRSTLEVEL+1,FiboLevel2); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_FIRSTLEVEL+2,FiboLevel3); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_FIRSTLEVEL+3,FiboLevel4); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_FIRSTLEVEL+4,FiboLevel5); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_FIRSTLEVEL+5,FiboLevel6); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_FIRSTLEVEL+6,FiboLevel7); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_LEVELCOLOR,levelColor); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_LEVELWIDTH,1); ObjectSet(MPrefix+"FIBO_LAB",OBJPROP_LEVELSTYLE,STYLE_DASHDOTDOT); ObjectSetFiboDescription( MPrefix+"FIBO_LAB", 0,fiboValue0+" > "+DoubleToStr(FiboLevel1*100,1)+"%"); ObjectSetFiboDescription( MPrefix+"FIBO_LAB", 1,fiboValue23+" > "+DoubleToStr(FiboLevel2*100,1)+"%"); ObjectSetFiboDescription( MPrefix+"FIBO_LAB", 2,fiboValue38+" > "+DoubleToStr(FiboLevel3*100,1)+"%"); ObjectSetFiboDescription( MPrefix+"FIBO_LAB", 3,fiboValue50+" > "+DoubleToStr(FiboLevel4*100,1)+"%"); ObjectSetFiboDescription( MPrefix+"FIBO_LAB", 4,fiboValue61+" > "+DoubleToStr(FiboLevel5*100,1)+"%"); ObjectSetFiboDescription( MPrefix+"FIBO_LAB", 5,fiboValue76+" > "+DoubleToStr(FiboLevel6*100,1)+"%"); ObjectSetFiboDescription( MPrefix+"FIBO_LAB", 6,fiboValue100+" > "+DoubleToStr(FiboLevel7*100,1)+"%"); //---- retu(0);>//+----------------------------------------------------------------------------+ // |عملکرد DL |//+----------------------------------------------------------------------------+ void dl (برچسب رشته ، متن رشته ، int x ، int y ، clr رنگ ، string fontname = "arial" ، int fontsize = 12 ،int typecoer = 1)ObjectSet(labelIndicator, OBJPROP_CORNER, typeCoer); ObjectSet(labelIndicator, OBJPROP_XDISTANCE, x); ObjectSet(labelIndicator, OBJPROP_YDISTANCE, y); ObjectSetText(labelIndicator, text, FontSize, FontName, clr);>//+----------------------------------------------------------------------------+ // |عملکرد ClearObjects |//+----------------------------------------------------------------------------+ void clearObjects ()> //+------------------------------------------------------------------+
خبرهای فارکس...
ما را در سایت خبرهای فارکس دنبال می کنید
برچسب : نویسنده : شهره لرستانی بازدید : 33 تاريخ : سه شنبه 24 مرداد 1402 ساعت: 10:14