MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 2 123456789...1953 新しいコメント mila.com 2016.11.10 07: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 07: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);}まあ...設定には2つのパラメータしかないのに、名前の後に3を付けているのは、正しく呼んでいないのです。そして、なぜそれを正常化するのですか?必要ないんです。 Artyom Trishkin 2016.11.10 07: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上段MODE_LOWER2ボトムラインカスタムインジケーターのバッファーです。0 上段ライン 1 ボトムライン mila.com 2016.11.10 07:50 #14 Artyom Trishkin:まあ...設定には2つのパラメータしかないのに、名前の後に3つも付けているのは、正しく呼んでいないのでしょう。そして、なぜそれを正常化するのですか?ここでは必要ありません。mode_fractal は上限または下限のフラクタルで、これがないとどうしようもない。ピリオドの後にゼロが書かれています Artyom Trishkin 2016.11.10 07:59 #15 mila.com:mode_fractal は、それがない場合と同様、上部または下部フラクタルである。の後に0が入ります。 上記で、標準のインジケータとカスタムインジケータの値が一致しないと書きました。 Artyom Trishkin 2016.11.10 08:55 #16 Artyom Trishkin: 上記で、標準のインジケータとカスタムインジケータの値が一致しないと書きました。 違う - そうなんです。もっと深く見る必要がある... SLANDOV 2016.11.10 18:49 #17 Meta Trader 4にはフィボナッチがないのに、説明文にはフィボナッチがあるのはなぜですか? Artyom Trishkin 2016.11.10 18:58 #18 SLANDOV: Meta Trader 4にはフィボナッチがないのに、説明文にはフィボナッチがあるのはなぜですか? どうしてないんだろう?挿入]メニュー→[フィボナッチ]があります。 SLANDOV 2016.11.10 19:13 #19 Artyom Trishkin: ダメってどういうこと?挿入 "メニュー→"フィボナッチ "があります。 PlayMarket社製MetaTrader4 Artyom Trishkin 2016.11.10 20:17 #20 SLANDOV: PlayMarket社製MetaTrader4 残念ながら今のところAndroidやiOSの端末ではMT4が見れないのですが...。 123456789...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? 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);
}
まあ...設定には2つのパラメータしかないのに、名前の後に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
上段
MODE_LOWER
2
ボトムライン
カスタムインジケーターのバッファーです。
0 上段ライン
1 ボトムライン
まあ...設定には2つのパラメータしかないのに、名前の後に3つも付けているのは、正しく呼んでいないのでしょう。
そして、なぜそれを正常化するのですか?ここでは必要ありません。
mode_fractal は上限または下限のフラクタルで、これがないとどうしようもない。
ピリオドの後にゼロが書かれています
mode_fractal は、それがない場合と同様、上部または下部フラクタルである。
の後に0が入ります。
上記で、標準のインジケータとカスタムインジケータの値が一致しないと書きました。
Meta Trader 4にはフィボナッチがないのに、説明文にはフィボナッチがあるのはなぜですか?
ダメってどういうこと?挿入 "メニュー→"フィボナッチ "があります。
PlayMarket社製MetaTrader4