新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 2 123456789...1953 新评论 mila.com 2016.11.10 06:30 #11 Artyom Trishkin:不得从其他指标中调用 :)或者展示你是如何做到的。 我从这个函数中调用它 double GetPriceFractal(string symbol, ENUM_TIMEFRAMES timeframe, int mode_fractal, int count_find, int number_fractal, int &bar_fractal, int shift) { int n=0; for(int i=shift; i<count_find; i++) { //double price_fractal=iFractals(symbol,timeframe,mode_fractal,i); double price_fractal=NormalizeDouble(iCustom(symbol,timeframe,"X-bars",InpLeftSide,InpRightSide,mode_fractal,i),Digits); if(price_fractal>0) { n++; if(n==number_fractal) { bar_fractal=i; return(price_fractal); } } } return(EMPTY_VALUE);} 而它又从这个 bool CheckOnePrices(string symbol, ENUM_TIMEFRAMES timeframe, int mode_fractal, int count_find, int count_fractals, int bar_fractal, double match_price, int delta_points, int shift) { if(count_fractals<1) return(false); double pt=SymbolInfoDouble(symbol,SYMBOL_POINT); int n=1, dg=(int)SymbolInfoInteger(symbol,SYMBOL_DIGITS); for(int i=n; i<=count_fractals; i++) { double price_fractal=GetPriceFractal(symbol,timeframe,mode_fractal,count_find,n,bar_fractal,shift); double result_compare=fabs(NormalizeDouble(price_fractal-match_price,dg)); if(result_compare<delta_points*pt) { if(mode_fractal==0) BufferFractalUp[bar_fractal]=price_fractal; else BufferFractalDn[bar_fractal]=price_fractal; /// Print("Цена бара с фракталом ",n," совпала с проверяемой ценой, возвращаем true"); return(true); } n++; } return(false);}这就是OnCalculate()中的内容if(CheckOnePrices(Symbol(),PERIOD_CURRENT,0,rates_total,numFractals,bar,low[i],delta,i+1)) { BufferPointDn[i]=low[i]-distanc*Point;} Any questions from newcomers 编码帮助......我如何让指标过滤而不是警报? 编码帮助 Artyom Trishkin 2016.11.10 06:45 #12 mila.com: 从这个函数中调用 double GetPriceFractal(string symbol, ENUM_TIMEFRAMES timeframe, int mode_fractal, int count_find, int number_fractal, int &bar_fractal, int shift) { int n=0; for(int i=shift; i<count_find; i++) { //double price_fractal=iFractals(symbol,timeframe,mode_fractal,i); double price_fractal=NormalizeDouble(iCustom(symbol,timeframe,"X-bars",InpLeftSide,InpRightSide,mode_fractal,i),Digits); if(price_fractal>0) { n++; if(n==number_fractal) { bar_fractal=i; return(price_fractal); } } } return(EMPTY_VALUE);}嗯...你没有正确地调用它--它在设置中只有两个参数,而你在名字后面加了3。而你为什么要把它正常化?没有必要这样做。 Artyom Trishkin 2016.11.10 06:48 #13 mila.com: 我从这个函数中调用它 double GetPriceFractal(string symbol, ENUM_TIMEFRAMES timeframe, int mode_fractal, int count_find, int number_fractal, int &bar_fractal, int shift) { int n=0; for(int i=shift; i<count_find; i++) { //double price_fractal=iFractals(symbol,timeframe,mode_fractal,i); double price_fractal=NormalizeDouble(iCustom(symbol,timeframe,"X-bars",InpLeftSide,InpRightSide,mode_fractal,i),Digits); if(price_fractal>0) { n++; if(n==number_fractal) { bar_fractal=i; return(price_fractal); } } } return(EMPTY_VALUE);}请注意,在mode_fractal中,你必须写上这个自定义指标的缓冲区编号--上为0,下为1。否则,在标准分形中,分形的标识符值与这个自定义指标的缓冲区值不一致。标准分形。恒定价值描述MODE_UPPER1上线模式_Lower2底线自定义指标的缓冲器。0 上线 1 底线 mila.com 2016.11.10 06:50 #14 Artyom Trishkin:嗯...你没有正确地调用它--它在设置中只有两个参数,而你在名称后面放了3个。而你为什么要把它正常化?你在这里不需要它。mode_fractal是上分形或下分 形,你不能没有它。零写在句号之后 Artyom Trishkin 2016.11.10 06:59 #15 mila.com:mode_fractal是上分形或下分形,如没有它。0被刻在周期之后 我在上面写道,标准指标的值和你的自定义指标的值不一致。 Artyom Trishkin 2016.11.10 07:55 #16 Artyom Trishkin: 我在上面写道,标准指标的值和你的自定义指标的值不一致。 错了--他们确实如此。你需要看的更深... SLANDOV 2016.11.10 17:49 #17 为什么Meta Trader 4中没有Fibonacci,但在描述中却有? Artyom Trishkin 2016.11.10 17:58 #18 SLANDOV: 为什么Meta Trader 4中没有Fibonacci,但在描述中却有? 怎么会没有呢?有:插入菜单项-->斐波那契 SLANDOV 2016.11.10 18:13 #19 Artyom Trishkin: 你是什么意思,不?有:"插入 "菜单项-->"斐波那契"。 PlayMarket的MetaTrader4 Artyom Trishkin 2016.11.10 19:17 #20 SLANDOV: PlayMarket的MetaTrader4 不幸的是,目前我在安卓或iOS设备上看不到MT4... 123456789...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
不得从其他指标中调用 :)
或者展示你是如何做到的。
我从这个函数中调用它
int n=0;
for(int i=shift; i<count_find; i++) {
//double price_fractal=iFractals(symbol,timeframe,mode_fractal,i);
double price_fractal=NormalizeDouble(iCustom(symbol,timeframe,"X-bars",InpLeftSide,InpRightSide,mode_fractal,i),Digits);
if(price_fractal>0) {
n++;
if(n==number_fractal) {
bar_fractal=i;
return(price_fractal);
}
}
}
return(EMPTY_VALUE);
}
而它又从这个
if(count_fractals<1) return(false);
double pt=SymbolInfoDouble(symbol,SYMBOL_POINT);
int n=1, dg=(int)SymbolInfoInteger(symbol,SYMBOL_DIGITS);
for(int i=n; i<=count_fractals; i++) {
double price_fractal=GetPriceFractal(symbol,timeframe,mode_fractal,count_find,n,bar_fractal,shift);
double result_compare=fabs(NormalizeDouble(price_fractal-match_price,dg));
if(result_compare<delta_points*pt) {
if(mode_fractal==0) BufferFractalUp[bar_fractal]=price_fractal;
else BufferFractalDn[bar_fractal]=price_fractal;
/// Print("Цена бара с фракталом ",n," совпала с проверяемой ценой, возвращаем true");
return(true);
}
n++;
}
return(false);
}
这就是OnCalculate()中的内容
从这个函数中调用
int n=0;
for(int i=shift; i<count_find; i++) {
//double price_fractal=iFractals(symbol,timeframe,mode_fractal,i);
double price_fractal=NormalizeDouble(iCustom(symbol,timeframe,"X-bars",InpLeftSide,InpRightSide,mode_fractal,i),Digits);
if(price_fractal>0) {
n++;
if(n==number_fractal) {
bar_fractal=i;
return(price_fractal);
}
}
}
return(EMPTY_VALUE);
}
嗯...你没有正确地调用它--它在设置中只有两个参数,而你在名字后面加了3。
而你为什么要把它正常化?没有必要这样做。
我从这个函数中调用它
int n=0;
for(int i=shift; i<count_find; i++) {
//double price_fractal=iFractals(symbol,timeframe,mode_fractal,i);
double price_fractal=NormalizeDouble(iCustom(symbol,timeframe,"X-bars",InpLeftSide,InpRightSide,mode_fractal,i),Digits);
if(price_fractal>0) {
n++;
if(n==number_fractal) {
bar_fractal=i;
return(price_fractal);
}
}
}
return(EMPTY_VALUE);
}
请注意,在mode_fractal中,你必须写上这个自定义指标的缓冲区编号--上为0,下为1。否则,在标准分形中,分形的标识符值与这个自定义指标的缓冲区值不一致。
标准分形。
恒定
价值
描述
MODE_UPPER
1
上线
模式_Lower
2
底线
自定义指标的缓冲器。
0 上线
1 底线
嗯...你没有正确地调用它--它在设置中只有两个参数,而你在名称后面放了3个。
而你为什么要把它正常化?你在这里不需要它。
mode_fractal是上分形或下分 形,你不能没有它。
零写在句号之后
mode_fractal是上分形或下分形,如没有它。
0被刻在周期之后
我在上面写道,标准指标的值和你的自定义指标的值不一致。
为什么Meta Trader 4中没有Fibonacci,但在描述中却有?
你是什么意思,不?有:"插入 "菜单项-->"斐波那契"。
PlayMarket的MetaTrader4