-热腾腾的蛋糕,煎饼,煎饼!- 当然,是在比喻的意义上。讨论和批评新指标。 - 页 5 1234567 新评论 Джони Браво 2013.12.22 04:15 #41 --------------------------------------履行我的承诺,纠正编程时产生的逻辑错误。 事实证明,不止一个。错误(1)。有了这个错误,指标显示了 "某个方向的强度"。它包括在错误的变量描述 中。没有它,就开始显示 "确定的运动方向的相对强度"。错误(2)。有了这个错误,指标就显示了 "准确运动方向的相对强度"。这是因为在公式完成过程中犯了一个错误。没有它,就开始显示 "价格运动的确切方向的相对强度"。 这么多的 "健康 "代码。//|+-----------------------------------------------------------------+ //|Название : RSAR_Korsar / Корсар | //|Создатель : Jonny Bravo / Джони Браво | //|Тип : зеркальнопериодический индикатор | //|Построен на основе RSI, Stohastic, RVI, ADX. | //|Работает на основе экстримумов и фигур. | //|+-----------------------------------------------------------------+ #property copyright "Jonny Bravo" #property indicator_separate_window #property indicator_buffers 6 #property indicator_color1 DarkGreen #property indicator_color2 Green #property indicator_color3 MediumSeaGreen #property indicator_color4 MediumSeaGreen #property indicator_color5 Green #property indicator_color6 DarkGreen //|+-----------------------------------------------------------------+ //|Inputs | //|+-----------------------------------------------------------------+ double price; //|+--+ extern double _N_ = 1; extern double _NN_ = -1; //|+--+ extern int History = 10000; //|+--+ extern double RSI_Type_Line_1 = 0; extern double RSI_Period_Line_1_1 = 5; extern double ADX_Type_Price_1 = 0; extern double ADX_Period_Line_1 = 5; extern double RVI_Period_Line_1 = 5; extern double Stohastic_MA_Metod_1 = 0; extern double Stochastic_Period_Line_A_1 = 10; extern double Stochastic_Period_Line_B_1 = 6; //|+--+ extern double RSI_Type_Line_2 = 0; extern double RSI_Period_Line_1_2 = 10; extern double ADX_Type_Price_2 = 0; extern double ADX_Period_Line_2 = 10; extern double RVI_Period_Line_2 = 10; extern double Stohastic_MA_Metod_2 = 0; extern double Stochastic_Period_Line_A_2 = 10; extern double Stochastic_Period_Line_B_2 = 6; //|+--+ extern double RSI_Type_Line_3 = 0; extern double RSI_Period_Line_1_3 = 20; extern double ADX_Type_Price_3 = 0; extern double ADX_Period_Line_3 = 20; extern double RVI_Period_Line_3 = 20; extern double Stohastic_MA_Metod_3 = 0; extern double Stochastic_Period_Line_A_3 = 10; extern double Stochastic_Period_Line_B_3 = 6; //|+--+ extern double RSI_Type_Line_4 = 0; extern double ADX_Type_Price_4 = 0; extern double ADX_Period_Line_4 = 5; extern double RVI_Period_Line_4 = 5; extern double Stohastic_MA_Metod_4 = 0; extern double Stochastic_Period_Line_A_4 = 10; extern double Stochastic_Period_Line_B_4 = 6; //|+--+ extern double RSI_Type_Line_5 = 0; extern double ADX_Type_Price_5 = 0; extern double ADX_Period_Line_5 = 10; extern double RVI_Period_Line_5 = 10; extern double Stohastic_MA_Metod_5 = 0; extern double Stochastic_Period_Line_A_5 = 10; extern double Stochastic_Period_Line_B_5 = 6; //|+--+ extern double RSI_Type_Line_6 = 0; extern double ADX_Type_Price_6 = 0; extern double ADX_Period_Line_6 = 20; extern double RVI_Period_Line_6 = 20; extern double Stohastic_MA_Metod_6 = 0; extern double Stochastic_Period_Line_A_6 = 10; extern double Stochastic_Period_Line_B_6 = 6; //|+-----------------------------------------------------------------+ //|Declaration | //|+-----------------------------------------------------------------+ int p; //|+--+ double Buf_0[]; double Buf_1[]; double Buf_2[]; double Line_1_A; double Line_2_A; double Line_3_A; double Line_1_B; double Line_2_B; double Line_3_B; double Line_1_C; double Line_2_C; double Line_3_C; double Line_1_D; double Line_2_D; double Line_3_D; double Line_1_I; double Line_2_I; double Line_3_I; double Line_1_F; double Line_2_F; double Line_3_F; double Line_1_K; double Line_2_K; double Line_3_K; double Line_1_L; double Line_2_L; double Line_3_L; double Line_1_M; double Line_2_M; double Line_3_M; //|+--+ double Buf_3[]; double Buf_4[]; double Buf_5[]; double Line_4_A; double Line_5_A; double Line_6_A; double Line_4_B; double Line_5_B; double Line_6_B; double Line_4_C; double Line_5_C; double Line_6_C; double Line_4_D; double Line_5_D; double Line_6_D; double Line_4_I; double Line_5_I; double Line_6_I; double Line_4_F; double Line_5_F; double Line_6_F; double Line_4_K; double Line_5_K; double Line_6_K; double Line_4_L; double Line_5_L; double Line_6_L; double Line_4_M; double Line_5_M; double Line_6_M; //|+-----------------------------------------------------------------+ //|Buf inform | //|+-----------------------------------------------------------------+ int init() { SetIndexBuffer(0,Buf_0); SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2); //|+--+ SetIndexBuffer(1,Buf_1); SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2); //|+--+ SetIndexBuffer(2,Buf_2); SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2); //|+--+ SetIndexBuffer(5,Buf_3); SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2); //|+--+ SetIndexBuffer(4,Buf_4); SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2); //|+--+ SetIndexBuffer(3,Buf_5); SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2); //|+--+ return; } //|+-----------------------------------------------------------------+ //|Start | //|+-----------------------------------------------------------------+ int start() { //|+---------------------------------------------------------------+ //|Level_1 | //|+---------------------------------------------------------------+ for( p=0; p<History; p++) { //|+-------------------------------------------------------------+ //|Level_2 | //|+-------------------------------------------------------------+ price = Bid; //|+--+ Line_1_A = iRSI(Symbol(),0,RSI_Period_Line_1_1,RSI_Type_Line_1,p); Line_1_M = iRSI(Symbol(),0,RSI_Period_Line_1_2,RSI_Type_Line_1,p); Line_1_L = iRSI(Symbol(),0,RSI_Period_Line_1_3,RSI_Type_Line_1,p); Line_1_B = iStochastic(Symbol(),0,Stochastic_Period_Line_A_1,Stochastic_Period_Line_B_1,Stochastic_Period_Line_B_1,Stohastic_MA_Metod_1,0,0,p); Line_1_K = iStochastic(Symbol(),0,Stochastic_Period_Line_A_1,Stochastic_Period_Line_B_1,Stochastic_Period_Line_B_1,Stohastic_MA_Metod_1,0,1,p); Line_1_C = iADX(Symbol(),0,ADX_Period_Line_1,ADX_Type_Price_1,0,p); Line_1_D = iADX(Symbol(),0,ADX_Period_Line_1,ADX_Type_Price_1,1,p); Line_1_I = iADX(Symbol(),0,ADX_Period_Line_1,ADX_Type_Price_1,2,p); Line_1_F = iRVI(Symbol(),0,RVI_Period_Line_1,ADX_Type_Price_1,p); //|+--+ Line_2_A = iRSI(Symbol(),0,RSI_Period_Line_1_1,RSI_Type_Line_2,p); Line_2_M = iRSI(Symbol(),0,RSI_Period_Line_1_2,RSI_Type_Line_2,p); Line_2_L = iRSI(Symbol(),0,RSI_Period_Line_1_3,RSI_Type_Line_2,p); Line_2_B = iStochastic(Symbol(),0,Stochastic_Period_Line_A_2,Stochastic_Period_Line_B_2,Stochastic_Period_Line_B_2,Stohastic_MA_Metod_2,0,0,p); Line_2_K = iStochastic(Symbol(),0,Stochastic_Period_Line_A_2,Stochastic_Period_Line_B_2,Stochastic_Period_Line_B_2,Stohastic_MA_Metod_2,0,1,p); Line_2_C = iADX(Symbol(),0,ADX_Period_Line_2,ADX_Type_Price_2,0,p); Line_2_D = iADX(Symbol(),0,ADX_Period_Line_2,ADX_Type_Price_2,1,p); Line_2_I = iADX(Symbol(),0,ADX_Period_Line_2,ADX_Type_Price_2,2,p); Line_2_F = iRVI(Symbol(),0,RVI_Period_Line_2,ADX_Type_Price_2,p); //|+--+ Line_3_A = iRSI(Symbol(),0,RSI_Period_Line_1_1,RSI_Type_Line_3,p); Line_3_M = iRSI(Symbol(),0,RSI_Period_Line_1_2,RSI_Type_Line_3,p); Line_3_L = iRSI(Symbol(),0,RSI_Period_Line_1_3,RSI_Type_Line_3,p); Line_3_B = iStochastic(Symbol(),0,Stochastic_Period_Line_A_3,Stochastic_Period_Line_B_3,Stochastic_Period_Line_B_3,Stohastic_MA_Metod_3,0,0,p); Line_3_K = iStochastic(Symbol(),0,Stochastic_Period_Line_A_3,Stochastic_Period_Line_B_3,Stochastic_Period_Line_B_3,Stohastic_MA_Metod_3,0,1,p); Line_3_C = iADX(Symbol(),0,ADX_Period_Line_3,ADX_Type_Price_3,0,p); Line_3_D = iADX(Symbol(),0,ADX_Period_Line_3,ADX_Type_Price_3,1,p); Line_3_I = iADX(Symbol(),0,ADX_Period_Line_3,ADX_Type_Price_3,2,p); Line_3_F = iRVI(Symbol(),0,RVI_Period_Line_3,ADX_Type_Price_3,p); //|+--+ Line_4_A = iRSI(Symbol(),0,RSI_Period_Line_1_1,RSI_Type_Line_4,p); Line_4_M = iRSI(Symbol(),0,RSI_Period_Line_1_2,RSI_Type_Line_4,p); Line_4_L = iRSI(Symbol(),0,RSI_Period_Line_1_3,RSI_Type_Line_4,p); Line_4_B = iStochastic(Symbol(),0,Stochastic_Period_Line_A_4,Stochastic_Period_Line_B_4,Stochastic_Period_Line_B_4,Stohastic_MA_Metod_4,0,0,p); Line_4_K = iStochastic(Symbol(),0,Stochastic_Period_Line_A_4,Stochastic_Period_Line_B_4,Stochastic_Period_Line_B_4,Stohastic_MA_Metod_4,0,1,p); Line_4_C = iADX(Symbol(),0,ADX_Period_Line_4,ADX_Type_Price_4,0,p); Line_4_D = iADX(Symbol(),0,ADX_Period_Line_4,ADX_Type_Price_4,1,p); Line_4_I = iADX(Symbol(),0,ADX_Period_Line_4,ADX_Type_Price_4,2,p); Line_4_F = iRVI(Symbol(),0,RVI_Period_Line_4,ADX_Type_Price_4,p); //|+--+ Line_5_A = iRSI(Symbol(),0,RSI_Period_Line_1_1,RSI_Type_Line_5,p); Line_5_M = iRSI(Symbol(),0,RSI_Period_Line_1_2,RSI_Type_Line_5,p); Line_5_L = iRSI(Symbol(),0,RSI_Period_Line_1_3,RSI_Type_Line_5,p); Line_5_B = iStochastic(Symbol(),0,Stochastic_Period_Line_A_5,Stochastic_Period_Line_B_5,Stochastic_Period_Line_B_5,Stohastic_MA_Metod_5,0,0,p); Line_5_K = iStochastic(Symbol(),0,Stochastic_Period_Line_A_5,Stochastic_Period_Line_B_5,Stochastic_Period_Line_B_5,Stohastic_MA_Metod_5,0,1,p); Line_5_C = iADX(Symbol(),0,ADX_Period_Line_5,ADX_Type_Price_5,0,p); Line_5_D = iADX(Symbol(),0,ADX_Period_Line_5,ADX_Type_Price_5,1,p); Line_5_I = iADX(Symbol(),0,ADX_Period_Line_5,ADX_Type_Price_5,2,p); Line_5_F = iRVI(Symbol(),0,RVI_Period_Line_5,ADX_Type_Price_5,p); //|+--+ Line_6_A = iRSI(Symbol(),0,RSI_Period_Line_1_1,RSI_Type_Line_6,p); Line_6_M = iRSI(Symbol(),0,RSI_Period_Line_1_2,RSI_Type_Line_6,p); Line_6_L = iRSI(Symbol(),0,RSI_Period_Line_1_3,RSI_Type_Line_6,p); Line_6_B = iStochastic(Symbol(),0,Stochastic_Period_Line_A_6,Stochastic_Period_Line_B_6,Stochastic_Period_Line_B_6,Stohastic_MA_Metod_6,0,0,p); Line_6_K = iStochastic(Symbol(),0,Stochastic_Period_Line_A_6,Stochastic_Period_Line_B_6,Stochastic_Period_Line_B_6,Stohastic_MA_Metod_6,0,1,p); Line_6_C = iADX(Symbol(),0,ADX_Period_Line_6,ADX_Type_Price_6,0,p); Line_6_D = iADX(Symbol(),0,ADX_Period_Line_6,ADX_Type_Price_6,1,p); Line_6_I = iADX(Symbol(),0,ADX_Period_Line_6,ADX_Type_Price_6,2,p); Line_6_F = iRVI(Symbol(),0,RVI_Period_Line_6,ADX_Type_Price_6,p); //|+-----------------------------------------------------------+ //|Level_3 | //|+-----------------------------------------------------------+ Buf_0[p] = price * (_N_ * (((Line_1_B + Line_1_F) / Line_1_K) - ((Line_1_D + Line_1_I) / Line_1_C) + ((Line_1_A + Line_1_M) / Line_1_L))); //|+--+ Buf_1[p] = price * (_N_ * (((Line_2_B + Line_2_F) / Line_2_K) - ((Line_2_D + Line_2_I) / Line_2_C) + ((Line_2_A + Line_2_M) / Line_2_L))); //|+--+ Buf_2[p] = price * (_N_ * (((Line_3_B + Line_3_F) / Line_3_K) - ((Line_3_D + Line_3_I) / Line_3_C) + ((Line_3_A + Line_3_M) / Line_3_L))); //|+--+ Buf_3[p] = price * (_NN_ * (((Line_4_B + Line_4_F) / Line_4_K) - ((Line_4_D + Line_4_I) / Line_4_C) + ((Line_4_A + Line_4_M) / Line_4_L))); //|+--+ Buf_4[p] = price * (_NN_ * (((Line_5_B + Line_5_F) / Line_5_K) - ((Line_5_D + Line_5_I) / Line_5_C) + ((Line_5_A + Line_5_M) / Line_5_L))); //|+--+ Buf_5[p] = price * (_NN_ * (((Line_6_B + Line_6_F) / Line_6_K) - ((Line_6_D + Line_6_I) / Line_6_C) + ((Line_6_A + Line_6_M) / Line_6_L))); //|+---------------------------------------------------------+ //|Level_4 | //|+---------------------------------------------------------+ } return; } //|+-----------------------------------------------------------------+ //|The_end | //|+-----------------------------------------------------------------+. -------------------------------------- Джони Браво 2013.12.22 04:26 #42 邪恶 的! 我在MQ4的教程中看到过这样的 "构造",但不知道如何应用它们。) bugalter 2013.12.22 04:59 #43 帮助我跨越这两个指标,我不能让它们在同一个窗口中。 附加的文件: kolier_supertrend_indip_1_.mq4 6 kb bugalter 2013.12.22 04:59 #44 и 附加的文件: sindex-v6g-ueur.mq4 13 kb Джони Браво 2013.12.22 05:35 #45 我会试一试的。 Джони Браво 2013.12.22 05:51 #46 sIndex-v6g-uEUR.mq4- 指标,在一个单独的窗口中显示。 Kolier_SuperTrend_Indip_1_.mq4- 在主窗口显示的指标。 要跨越它们,只需改变其中一个窗口的显示方式(主窗口或子窗口)。 我看到指标显示的计算结果在不同的时间间隔内有最终结果。 sIndex-v6g-uEUR.mq4= x, (2 < x > 3 ) 。 Kolier_SuperTrend_Indip_1_.mq4= y, (0,5 < y > 2) 。 有一个选项可以改变其中一个的计算公式。 Джони Браво 2013.12.22 05:51 #47 但是!!!。 Джони Браво 2013.12.22 06:05 #48 如果计算公式发生变化,那么指标读数就会发生变化(公理)。:) sIndex-v6g-uEUR.mq4* B * R = L,其中 B - 数字,等于当前时刻的价格值。 R - 数字,为平衡指标读数而设置。 L - 数字,等于指标计算的最终结果,与价格有关。 Kolier_SuperTrend_Indip_1_.mq4* T = E,其中 T - 介于0和1之间的数字(执行分压器的功能)。 或 Kolier_SuperTrend_Indip_1_.mq4/ T = E。 变量T将获得一个更广泛的范围,从1到(+)无穷大。 E是一个等于价格指标Kolier_SuperTrend_Indip_1_.mq4 的商数。 Джони Браво 2013.12.22 06:06 #49 我认为你不应该过多地改变公式。 Джони Браво 2013.12.22 06:08 #50 两个不同指标的计算结果可以相等,但只有 "责任 "必须相等。 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
--------------------------------------
履行我的承诺,纠正编程时产生的逻辑错误。
事实证明,不止一个。
错误(1)。有了这个错误,指标显示了 "某个方向的强度"。它包括在错误的变量描述 中。没有它,就开始显示 "确定的运动方向的相对强度"。
错误(2)。有了这个错误,指标就显示了 "准确运动方向的相对强度"。这是因为在公式完成过程中犯了一个错误。没有它,就开始显示
."价格运动的确切方向的相对强度"。
这么多的 "健康 "代码。
--------------------------------------
我在MQ4的教程中看到过这样的 "构造",但不知道如何应用它们。)
Kolier_SuperTrend_Indip_1_.mq4- 在主窗口显示的指标。
要跨越它们,只需改变其中一个窗口的显示方式(主窗口或子窗口)。
我看到指标显示的计算结果在不同的时间间隔内有最终结果。
sIndex-v6g-uEUR.mq4= x, (2 < x > 3 ) 。
Kolier_SuperTrend_Indip_1_.mq4= y, (0,5 < y > 2) 。
有一个选项可以改变其中一个的计算公式。
sIndex-v6g-uEUR.mq4* B * R = L,其中
B - 数字,等于当前时刻的价格值。
R - 数字,为平衡指标读数而设置。
L - 数字,等于指标计算的最终结果,与价格有关。
Kolier_SuperTrend_Indip_1_.mq4* T = E,其中
T - 介于0和1之间的数字(执行分压器的功能)。
或
Kolier_SuperTrend_Indip_1_.mq4/ T = E。
变量T将获得一个更广泛的范围,从1到(+)无穷大。
E是一个等于价格指标Kolier_SuperTrend_Indip_1_.mq4 的商数。
我认为你不应该过多地改变公式。