任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 553 1...546547548549550551552553554555556557558559560...1178 新评论 andrey24051 2014.03.19 05:30 #5521 splxgf: 这不是一个错误,是一个特点。你可以到这里https://www.mql5.com/ru/articles/1388 YOOOOO谢谢你!哦,伙计。一次点击就解决了问题。 Sergey Gustaytis 2014.03.19 09:52 #5522 AlexeyVik: 在数学中,"0 "就是 "0",而在你的案例中,"0 "是某个价格,一切从它开始。 如果开盘价是1.3926,正如splexgf 建议的那样,那么0将在1.3926/123*100=1.1322或1.3926/1.23=1.1322。 这一价格变动的1%将是(1.3926-1.1322)/100=0.0026 此外,我希望,你会自己想出办法。 亲爱的先生们,这简直是一派胡言。菲波是建立在2个点上的,请看我之前写的内容。你不能从1.3926这个点计算出任何东西。看看欧元在1.13的时候 :) 参考价格是Fibo的0水平(4H、日、周、月、年的最低/最高值...),它是一个完全具体的价格,而不是一个数学上的0。零点和100% Fibo是这一时期价格的最低和最高值。那么23%作为从0水平的进入点也是可以理解的,TP为38%等等。 vidnab 2014.03.19 12:31 #5523 splxgf: 在这种情况下,这是一个不同的故事,可以在初级数学的水平上用百分比来解决。 PercentStep=(OrderTakeProfit-OrderOpenPrice)/(138-23) - 这将是1%的鹦鹉。坦率地说,有时你将不得不根据顺序类型或模数来交换操作数。 那么 StoplossLevel = OrderOpenPrice + PercentStep*(51-23) //LevelWLoss 在Kim的术语中,但这应该为每个订单计算。 MoveStoplossLevel = OrderOpenPrice + PercentStep*(76-23) //LevelProfit - 见上文。 非常感谢您的答复和公式。我将试一试。 forexman77 2014.03.19 12:36 #5524 我无法得到第四个缓冲区的值。我做错了什么? #property indicator_separate_window #property indicator_buffers 4 #property indicator_color1 Lime #property indicator_color2 Yellow #property indicator_color3 Red #property indicator_color4 Aqua //--- input parameters extern int Period_MA_1=14; extern int p2 =7; //--- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; double ExtMapBuffer3[]; double ExtMapBuffer4[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(2,ExtMapBuffer3); SetIndexStyle(3,DRAW_LINE); SetIndexBuffer(3,ExtMapBuffer4); IndicatorDigits(Digits+1); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(), limit; double MA_1_t,MA_2_t; if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; for(int i=0;i<limit;i++) { ExtMapBuffer1[i]=Close[i]-Close[i+Period_MA_1]; ExtMapBuffer2[i]=MathAbs(ExtMapBuffer1[i]); ExtMapBuffer3[i]=ExtMapBuffer1[i]/ExtMapBuffer2[i]; ExtMapBuffer4[i]=iMAOnArray(ExtMapBuffer3, 0, p2, 0, MODE_SMA,i); } return(0); } Victor Nikolaev 2014.03.19 12:43 #5525 Forexman77: 我无法得到第四个缓冲区的值。我做错了什么? 我的例子中有几个循环。摆脱了不必要的东西? maxikuku 2014.03.19 13:29 #5526 你好。 你能告诉我为什么在EA设置窗口中,我不能勾选 "允许DLL调用 "的选项吗? 在终端设置 中,它也被启用。它在其他EA上是可以的。 我正在尝试自己写这个EA。它使用iCustom指标,iCustom需要访问DLL。 谢谢你的帮助。 forexman77 2014.03.19 14:31 #5527 Vinin: 我的例子中有几个循环。你是否摆脱了不必要的东西? 试过不同的方法,但如果我这样做。#property indicator_separate_window #property indicator_buffers 4 #property indicator_color1 Lime #property indicator_color2 Yellow #property indicator_color3 Red #property indicator_color4 Aqua //--- input parameters extern int Period_MA_1=14; extern int p2 =7; extern int p3 =5; extern int p4 =3; //--- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; double ExtMapBuffer3[]; double ExtMapBuffer4[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_NONE); SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(2,ExtMapBuffer3); SetIndexStyle(3,DRAW_LINE); SetIndexBuffer(3,ExtMapBuffer4); IndicatorDigits(Digits+1); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(), i,limit1,limit2,limit3,limit4; limit1=Bars-counted_bars-1; limit2=limit1; limit3=limit2; limit4=limit3; if(limit1>0) { limit1=Bars-Period_MA_1-1; limit2=limit1-p2; limit3=limit2-p3; limit4=limit3-p4; } for(i=limit1;i>=0;i--) ExtMapBuffer1[i]=Close[i]-Close[i+Period_MA_1]; for(i=limit2;i>=0;i--) ExtMapBuffer2[i]=MathAbs(ExtMapBuffer1[i]); for(i=limit3;i>=0;i--) ExtMapBuffer3[i]=ExtMapBuffer1[i]/ExtMapBuffer2[i]; for(i=limit4;i>=0;i--) ExtMapBuffer4[i]=iMAOnArray(ExtMapBuffer3, 0, p2, 0, MODE_SMA,i); return(0); } 第三和第四个缓冲区不算数。我不知道错误在哪里。我在这一领域的知识是不够的。 最好不要把所有东西都放到不同的缓冲区,而是像这样计算主要部分。 ExtMapBuffer1[i]=(Close[i]-Close[i+Period_MA_1])/MathAbs(Close[i]-Close[i+Period_MA_1]); 但在这种情况下,根本就没有什么。 Victor Nikolaev 2014.03.19 14:44 #5528 Forexman77: 我已经尝试了不同的方法,但如果我这样做。第三和第四个缓冲区不算数。我不知道错误在哪里。我在这一领域的知识是不够的。 最好不要把所有东西都塑造成不同的缓冲区,像这样计算主要部分。 但在这种情况下,根本就没有什么。。 根据你的公式,结果将是1或-1。这是真的吗?还是你在期待一个不同的结果? forexman77 2014.03.19 14:53 #5529 Vinin: 根据你的公式,结果将是1或-1。这是真的吗?还是你期望的结果不同? 是的,第三个缓冲区将是1或-1。而第四个缓冲区则是计算这些参数的移动平均值。 在第三个缓冲区中,除以的数值被乘以100,但这并不是一个问题。 Victor Nikolaev 2014.03.19 14:58 #5530 Forexman77: 是的,第三个缓冲区将是1或-1。而第四个缓冲区则是计算这些参数的移动平均值。 在第三个缓冲区中,除以的数值被乘以100,但这并不是一个问题。 //+------------------------------------------------------------------+ //| ProjectName | //| Copyright 2012, CompanyName | //| http://www.companyname.net | //+------------------------------------------------------------------+ #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Lime #property indicator_color2 Yellow //--- input parameters extern int Period_MA_1=14; extern int p2=7; //--- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_HISTOGRAM); SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,ExtMapBuffer2); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(), i,limit1,limit2; limit1=Bars-counted_bars-1; limit2=limit1; if(limit1>0) { limit1=Bars-Period_MA_1-1; limit2=limit1-p2; } for(i=limit1;i>=0;i--) { ExtMapBuffer1[i]=1; if(Close[i]<Close[i+Period_MA_1]) ExtMapBuffer1[i]=-1; } for(i=limit2;i>=0;i--) ExtMapBuffer2[i]=iMAOnArray(ExtMapBuffer1,0,p2,0,MODE_SMA,i); return(0); } //+------------------------------------------------------------------+ 1...546547548549550551552553554555556557558559560...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这不是一个错误,是一个特点。你可以到这里https://www.mql5.com/ru/articles/1388
在数学中,"0 "就是 "0",而在你的案例中,"0 "是某个价格,一切从它开始。
如果开盘价是1.3926,正如splexgf 建议的那样,那么0将在1.3926/123*100=1.1322或1.3926/1.23=1.1322。
这一价格变动的1%将是(1.3926-1.1322)/100=0.0026
此外,我希望,你会自己想出办法。
亲爱的先生们,这简直是一派胡言。菲波是建立在2个点上的,请看我之前写的内容。你不能从1.3926这个点计算出任何东西。看看欧元在1.13的时候 :)
参考价格是Fibo的0水平(4H、日、周、月、年的最低/最高值...),它是一个完全具体的价格,而不是一个数学上的0。零点和100% Fibo是这一时期价格的最低和最高值。那么23%作为从0水平的进入点也是可以理解的,TP为38%等等。
在这种情况下,这是一个不同的故事,可以在初级数学的水平上用百分比来解决。
PercentStep=(OrderTakeProfit-OrderOpenPrice)/(138-23) - 这将是1%的鹦鹉。坦率地说,有时你将不得不根据顺序类型或模数来交换操作数。
那么
StoplossLevel = OrderOpenPrice + PercentStep*(51-23) //LevelWLoss 在Kim的术语中,但这应该为每个订单计算。
MoveStoplossLevel = OrderOpenPrice + PercentStep*(76-23) //LevelProfit - 见上文。
非常感谢您的答复和公式。我将试一试。
我无法得到第四个缓冲区的值。我做错了什么?
我无法得到第四个缓冲区的值。我做错了什么?
我的例子中有几个循环。摆脱了不必要的东西?
你好。
你能告诉我为什么在EA设置窗口中,我不能勾选 "允许DLL调用 "的选项吗?
在终端设置 中,它也被启用。它在其他EA上是可以的。
我正在尝试自己写这个EA。它使用iCustom指标,iCustom需要访问DLL。
谢谢你的帮助。
我的例子中有几个循环。你是否摆脱了不必要的东西?
第三和第四个缓冲区不算数。我不知道错误在哪里。我在这一领域的知识是不够的。
最好不要把所有东西都放到不同的缓冲区,而是像这样计算主要部分。
但在这种情况下,根本就没有什么。我已经尝试了不同的方法,但如果我这样做。
第三和第四个缓冲区不算数。我不知道错误在哪里。我在这一领域的知识是不够的。
最好不要把所有东西都塑造成不同的缓冲区,像这样计算主要部分。
但在这种情况下,根本就没有什么。。根据你的公式,结果将是1或-1。这是真的吗?还是你在期待一个不同的结果?
根据你的公式,结果将是1或-1。这是真的吗?还是你期望的结果不同?
是的,第三个缓冲区将是1或-1。而第四个缓冲区则是计算这些参数的移动平均值。
在第三个缓冲区中,除以的数值被乘以100,但这并不是一个问题。
是的,第三个缓冲区将是1或-1。而第四个缓冲区则是计算这些参数的移动平均值。
在第三个缓冲区中,除以的数值被乘以100,但这并不是一个问题。