新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 114 1...107108109110111112113114115116117118119120121...1953 新评论 Mickey Moose 2017.02.08 18:26 #1131 Sergey Gritsay: R 哪些对象是没有区别的?以及改变对象的类型,属性会崩溃是什么意思?这意味着,如果我在目前的代码中用趋势线或当前烛台上的垂直线替换水平线 对象,一个对象仍将发挥作用,而且无论另一个对象的参数如何,它都将是红色。所有这些操作的目的是为了将指标和EA结合起来,现在我正试图找到错误本身。 也就是说,它创建移动和删除相当正常,但我需要蓝色,当我购买时,不需要红色,当我卖出时,以任何方式。 Andrei Sokolov 2017.02.08 19:14 #1132 问候。你能告诉我,在这种情况下,"double bb "后面的()括号条目是什么,"double bb(int buff,int shift) " 的{}括号条目是什么?double bb(int buff,int shift){ double val = iCustom(_Symbol,0,"BvsB",BB_Period,buff,shift);return(val);} 也在这里。买入和卖出有bool类型。在使用"< , &&, >"时,我怎样才能弄清分配给它们的内容??void Entry() { if(!UseHTF){ Buy = (bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2)); Sell = (bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));} if(UseHTF){ Buy = (bbh(0,1) < bbh(1,1) && bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2)); Sell = (bbh(0,1) > bbh(1,1) && bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));} Any questions from newcomers help me to output Correct syntax for use Artyom Trishkin 2017.02.08 19:54 #1133 Andrey Sokolov:问候。你能告诉我,在这种情况下,"double bb "后面的()括号条目是什么,"double bb(int buff,int shift) " 的{}括号条目是什么?double bb(int buff,int shift){ double val = iCustom(_Symbol,0,"BvsB",BB_Period,buff,shift);return(val);} 也在这里。买入和卖出有bool类型。在使用"< , &&, >"时,我怎样才能弄清分配给它们的内容??void Entry() { if(!UseHTF){ Buy = (bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2)); Sell = (bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));} if(UseHTF){ Buy = (bbh(0,1) < bbh(1,1) && bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2)); Sell = (bbh(0,1) > bbh(1,1) && bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));} 1.它是一个函数。圆括号内是参数,当函数被调用时传递给它。在这种情况下--指标缓冲区的数量和柱状体的偏移量,我们从中获得指标值。 2) 布尔变量是用整个逻辑表达式的结果分配的,在分配符号(=)之后。如果所有的条件都是真的,那么这个变量就被分配为 "真",否则就是 "假 Andrei Sokolov 2017.02.08 20:18 #1134 Artyom Trishkin 谢谢你 Sergey Gritsay 2017.02.08 23:13 #1135 trader781:这意味着,如果我在目前的代码中用趋势线或当前烛台上的垂直线替换水平线 对象,一个对象仍将发挥作用,而且无论另一个对象的参数如何,它都将是红色。所有这些操作的目的是为了将指标和EA结合起来,现在我想找到错误本身,由于什么原因造成的。 也就是说,它的移动和删除都很正常,但我在买入时需要蓝色,在卖出时不需要红色,以任何方式。 这意味着你又错误地设置了图形对象的参数 Mickey Moose 2017.02.09 07:37 #1136 Sergey Gritsay: 所以你又把图形对象的参数设置错了。最有可能。这似乎是教科书,但结果却不一样,这就是我把代码扔在这里的原因。 Leo59 2017.02.09 10:12 #1137 你好! 我不明白,如果我没有创建客户终端全局变量,为什么在终端中有一个全局变量?(GlobalVariablesTotal() 显示 "1")。 也许有一些终端的预设?那么为什么当我想知道它的名字并调用GlobalVariableName(0)或GlobalVariableName(1)函数时,没有显示任何名字。请告诉我这是什么问题? Andrei Sokolov 2017.02.09 13:33 #1138 问候。我需要获得指标红线上的数据,该红线没有叠加在价格图上,而是在价格图下单独显示。我正试图像叠加在图表上的指标那样做,但有些地方是错误的。我哪里错了? Signal=iCustom(NULL, 0,"ytg_Def_RSI_3_Symbol", RSI_1_Period, RSI_2_Period, applied_price, ma_period, ma_method, 1,shift);以下是指标本身#property copyright "Yuriy Tokman"#property link "yuriytokman@gmail.com"//ну если проще запулить в одно окно три мульти с настройками //1 EUR-USD//2 EURGBP//3 EURJPY//если все три в состоянии перекупленности значит Бай и наоборот#property indicator_separate_window#property indicator_buffers 6#property indicator_color1 Green#property indicator_color2 Red#property indicator_color3 Yellow#property indicator_level1 0#property indicator_level2 5#property indicator_level3 -5extern string Symbol_1 = "EURUSD";extern string Symbol_2 = "EURGBP";extern string Symbol_3 = "EURJPY";extern int RSI_1_Period = 14;//период первого индикатора РСИextern int RSI_2_Period = 28;//период второго индикатора РСИextern int applied_price = 0;//используемая цена 0-6extern int ma_period = 14;//период сглаживанияextern int ma_method = 0;//метод сглаживания 0-3double buf[];double MA_buf[];double buf2[];double MA_buf2[];double buf3[];double MA_buf3[];//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+int init() {//---- indicators SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2); SetIndexBuffer(0, buf); SetIndexStyle(4,DRAW_NONE); SetIndexBuffer(4,MA_buf); SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2); SetIndexBuffer(1, buf2); SetIndexStyle(3,DRAW_NONE); SetIndexBuffer(3,MA_buf2); SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,2); SetIndexBuffer(2, buf3); SetIndexStyle(5,DRAW_NONE); SetIndexBuffer(5,MA_buf3); IndicatorShortName("ytg_Def_RSI_3_Symbol"); Comment("yuriytokman@gmail.com"); //---- return(0); }//+------------------------------------------------------------------+//| Custom indicator deinitialization function |//+------------------------------------------------------------------+int deinit() {//---- Comment(""); //---- return(0); }//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+int start() {//---- double RSI_1, RSI_2, RSI_12, RSI_22, RSI_13, RSI_23; int limit; int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; for(int i=limit; i>=0; i--) { RSI_1 = iRSI(Symbol_1,0,RSI_1_Period,applied_price,i); RSI_2 = iRSI(Symbol_1,0,RSI_2_Period,applied_price,i); MA_buf[i] = (RSI_1-RSI_2); RSI_12 = iRSI(Symbol_2,0,RSI_1_Period,applied_price,i); RSI_22 = iRSI(Symbol_2,0,RSI_2_Period,applied_price,i); MA_buf2[i] = (RSI_12-RSI_22); RSI_13 = iRSI(Symbol_3,0,RSI_1_Period,applied_price,i); RSI_23 = iRSI(Symbol_3,0,RSI_2_Period,applied_price,i); MA_buf3[i] = (RSI_13-RSI_23); } for(i=limit; i>=0; i--) { buf[i] = iMAOnArray(MA_buf,0,ma_period,0,ma_method,i); buf2[i] = iMAOnArray(MA_buf2,0,ma_period,0,ma_method,i); buf3[i] = iMAOnArray(MA_buf3,0,ma_period,0,ma_method,i); } //---- return(0); } Any questions from newcomers 指标: 平滑指标 RSI . 编码帮助 Vitaly Muzichenko 2017.02.09 14:20 #1139 Andrey Sokolov:问候。我需要获得指标红线上的数据,该红线没有叠加在价格图上,而是在价格图下单独显示。我正试图像叠加在图表上的指标那样做,但有些地方是错误的。我哪里错了? Signal=iCustom(NULL, 0,"ytg_Def_RSI_3_Symbol", RSI_1_Period, RSI_2_Period, applied_price, ma_period, ma_method, 1,shift);以下是指标本身extern string Symbol_1 = "EURUSD";extern string Symbol_2 = "EURGBP";extern string Symbol_3 = "EURJPY";extern int RSI_1_Period = 14;//период первого индикатора РСИextern int RSI_2_Period = 28;//период второго индикатора РСИextern int applied_price = 0;//используемая цена 0-6extern int ma_period = 14;//период сглаживанияextern int ma_method = 0;//метод сглаживания 0-3你打开输入参数的窗口,在iCustom 中按顺序列出这些参数。你缺少前三行的数值。 Andrei Sokolov 2017.02.09 14:46 #1140 维塔利-穆齐切克,谢谢你。 1...107108109110111112113114115116117118119120121...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
R 哪些对象是没有区别的?以及改变对象的类型,属性会崩溃是什么意思?
这意味着,如果我在目前的代码中用趋势线或当前烛台上的垂直线替换水平线 对象,一个对象仍将发挥作用,而且无论另一个对象的参数如何,它都将是红色。
所有这些操作的目的是为了将指标和EA结合起来,现在我正试图找到错误本身。
也就是说,它创建移动和删除相当正常,但我需要蓝色,当我购买时,不需要红色,当我卖出时,以任何方式。问候。你能告诉我,在这种情况下,"double bb "后面的()括号条目是什么,"double bb(int buff,int shift) " 的{}括号条目是什么?
也在这里。买入和卖出有bool类型。在使用"< , &&, >"时,我怎样才能弄清分配给它们的内容??
{
if(!UseHTF){
Buy = (bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
if(UseHTF){
Buy = (bbh(0,1) < bbh(1,1) && bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bbh(0,1) > bbh(1,1) && bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
问候。你能告诉我,在这种情况下,"double bb "后面的()括号条目是什么,"double bb(int buff,int shift) " 的{}括号条目是什么?
也在这里。买入和卖出有bool类型。在使用"< , &&, >"时,我怎样才能弄清分配给它们的内容??
{
if(!UseHTF){
Buy = (bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
if(UseHTF){
Buy = (bbh(0,1) < bbh(1,1) && bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bbh(0,1) > bbh(1,1) && bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
2) 布尔变量是用整个逻辑表达式的结果分配的,在分配符号(=)之后。如果所有的条件都是真的,那么这个变量就被分配为 "真",否则就是 "假
这意味着,如果我在目前的代码中用趋势线或当前烛台上的垂直线替换水平线 对象,一个对象仍将发挥作用,而且无论另一个对象的参数如何,它都将是红色。
所有这些操作的目的是为了将指标和EA结合起来,现在我想找到错误本身,由于什么原因造成的。
也就是说,它的移动和删除都很正常,但我在买入时需要蓝色,在卖出时不需要红色,以任何方式。所以你又把图形对象的参数设置错了。
最有可能。
这似乎是教科书,但结果却不一样,这就是我把代码扔在这里的原因。
我不明白,如果我没有创建客户终端全局变量,为什么在终端中有一个全局变量?(GlobalVariablesTotal() 显示 "1")。 也许有一些终端的预设?那么为什么当我想知道它的名字并调用GlobalVariableName(0)或GlobalVariableName(1)函数时,没有显示任何名字。请告诉我这是什么问题?
问候。我需要获得指标红线上的数据,该红线没有叠加在价格图上,而是在价格图下单独显示。我正试图像叠加在图表上的指标那样做,但有些地方是错误的。我哪里错了?
以下是指标本身
#property link "yuriytokman@gmail.com"
//ну если проще запулить в одно окно три мульти с настройками
//1 EUR-USD
//2 EURGBP
//3 EURJPY
//если все три в состоянии перекупленности значит Бай и наоборот
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 Yellow
#property indicator_level1 0
#property indicator_level2 5
#property indicator_level3 -5
extern string Symbol_1 = "EURUSD";
extern string Symbol_2 = "EURGBP";
extern string Symbol_3 = "EURJPY";
extern int RSI_1_Period = 14;//период первого индикатора РСИ
extern int RSI_2_Period = 28;//период второго индикатора РСИ
extern int applied_price = 0;//используемая цена 0-6
extern int ma_period = 14;//период сглаживания
extern int ma_method = 0;//метод сглаживания 0-3
double buf[];
double MA_buf[];
double buf2[];
double MA_buf2[];
double buf3[];
double MA_buf3[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(0, buf);
SetIndexStyle(4,DRAW_NONE);
SetIndexBuffer(4,MA_buf);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(1, buf2);
SetIndexStyle(3,DRAW_NONE);
SetIndexBuffer(3,MA_buf2);
SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(2, buf3);
SetIndexStyle(5,DRAW_NONE);
SetIndexBuffer(5,MA_buf3);
IndicatorShortName("ytg_Def_RSI_3_Symbol");
Comment("yuriytokman@gmail.com");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Comment("");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
double RSI_1, RSI_2, RSI_12, RSI_22, RSI_13, RSI_23;
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
for(int i=limit; i>=0; i--)
{
RSI_1 = iRSI(Symbol_1,0,RSI_1_Period,applied_price,i);
RSI_2 = iRSI(Symbol_1,0,RSI_2_Period,applied_price,i);
MA_buf[i] = (RSI_1-RSI_2);
RSI_12 = iRSI(Symbol_2,0,RSI_1_Period,applied_price,i);
RSI_22 = iRSI(Symbol_2,0,RSI_2_Period,applied_price,i);
MA_buf2[i] = (RSI_12-RSI_22);
RSI_13 = iRSI(Symbol_3,0,RSI_1_Period,applied_price,i);
RSI_23 = iRSI(Symbol_3,0,RSI_2_Period,applied_price,i);
MA_buf3[i] = (RSI_13-RSI_23);
}
for(i=limit; i>=0; i--)
{
buf[i] = iMAOnArray(MA_buf,0,ma_period,0,ma_method,i);
buf2[i] = iMAOnArray(MA_buf2,0,ma_period,0,ma_method,i);
buf3[i] = iMAOnArray(MA_buf3,0,ma_period,0,ma_method,i);
}
//----
return(0);
}
问候。我需要获得指标红线上的数据,该红线没有叠加在价格图上,而是在价格图下单独显示。我正试图像叠加在图表上的指标那样做,但有些地方是错误的。我哪里错了?
以下是指标本身
extern string Symbol_2 = "EURGBP";
extern string Symbol_3 = "EURJPY";
extern int RSI_1_Period = 14;//период первого индикатора РСИ
extern int RSI_2_Period = 28;//период второго индикатора РСИ
extern int applied_price = 0;//используемая цена 0-6
extern int ma_period = 14;//период сглаживания
extern int ma_method = 0;//метод сглаживания 0-3
你打开输入参数的窗口,在iCustom 中按顺序列出这些参数。
你缺少前三行的数值。