初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 265 1...258259260261262263264265266267268269270271272...1503 新しいコメント Fry_Антон 2014.06.25 01:37 #2641 C-4: 揃える」とはどういう意味ですか?仮数を小数点以下の 桁数で正規化する?- そのためのNormalizeDouble関数です。それ以外の場合は、より詳細に記述してください。入力時は任意の正の2倍、出力時はこの楽器であり得る実価格に丸められる。 価格ステップが0.25であれば、0.25に丸める。こんな感じ。double RoundPrice(const double price) { if(price<=0) return(-1); double tick_size=SymbolInfoDouble(Symbol(),SYMBOL_TRADE_TICK_SIZE); double p=round(price/tick_size); return(NormalizeDouble(p*tick_size,_Digits)); }しかし、だからといって、オフセット(0.13、0.38、0.63、0.88など)があれば、それはカウントされるのです。それから。を入力1.0に出力1.13に表示します。 入力として1.25、出力として1.38。 1,5 ---> 1,63...APIレベルでは、これはいくつかのアセンブリ言語コマンドにエンコードすることができ、明らかに基本的な機能であると言えます。あると思ったんだけどな =/。 Newalligator 2014.06.26 11:39 #2642 Live updateで新しいビルドにアップデートする方法。ライブアップデートはどこですか? Vladimir Karputov 2014.06.26 11:58 #2643 Newalligator: Live updateで新しいビルドにアップデートする方法。このLiveアップデートはどこにあるのでしょうか? MetaQuotes-Demoサーバーにデモ口座を開設し、時々接続して更新を確認する必要があります。MetaQuotes-Demoサーバーでのデモ口座開設方法 Newalligator 2014.06.27 09:44 #2644 返信ありがとうございます。私はライブで取引しており、MT5は常にオンになっています。ソフトにアップデートが必要だと書いてあればそれでいいのですが、そうでない場合、ライブアップデートはどこにあるのでしょうか? Vladimir Karputov 2014.06.27 10:10 #2645 Newalligator: 返信ありがとうございます。私はライブで取引しており、MT5は常にオンになっています。プログラム自体がアップデートを促してくれるならいいのですが、そうでない場合、このLiveのアップデートはどこにあるのでしょうか? MetaQuotes-Demoサーバーのアカウントに接続すると、MetaTraderが自動的に更新をチェックします。アップデートがある場合は、自動的に新しいバージョンをダウンロードします。 jommerbot 2014.06.29 00:21 #2646 皆さんこんにちは!問題があります。 他のカスタムインジケータの読み取り値をカスタムインジケータで 使用することができません。私のやり方が間違っているのはほぼ確実ですが、とりあえずコードを貼り付けておきます。int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[]) { if(rates_total < iPeriod ) { return(0); } int first; if ( prev_calculated == 0 ) { first = iPeriod + begin; } else { first = prev_calculated - 1; } // Пользовательский индикатор ROC для EURUSD double aRocRatesEURUSD[]; int iRocHandleEURUSD = iCustom("EURUSD", 0, "Examples\\ROC"); CopyBuffer(iRocHandleEURUSD, 0, 0, rates_total, aRocRatesEURUSD); for(int bar = first; bar < rates_total; bar++) { このコードでは、Rate Of Changes インジケータ(aRocRatesEURUSD)のバッファは使用できません。このインジケーターの接続方法が正しく理解できないので、教えてください。 Vladimir Karputov 2014.06.29 04:27 #2647 jommerbot:皆さんこんにちは!問題があります。 他のカスタムインジケータの読み取り値をカスタムインジケータで 使用することができません。私のやり方が間違っているのはほぼ確実ですが、とりあえずコードを貼り付けておきます。このコードでは、Rate Of Changes インジケータ(aRocRatesEURUSD)のバッファは使用できません。このインジケーターの接続方法が正しく理解できないので、ご教授ください。インジケータ・ハンドルは、OnInit()で宣言する必要があります。//+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { // Пользовательский индикатор ROC для EURUSD double aRocRatesEURUSD[]; int iRocHandleEURUSD = iCustom("EURUSD", 0, "Examples\\ROC"); } そうでなければ、OnCalculate()を呼び出すたびに新しいカスタムインジケータを作成することが判明します。 jommerbot 2014.06.29 11:14 #2648 barabashkakvn:インジケータ・ハンドルは、OnInit()で宣言すること。 これもダメなんです。バッファ配列の末尾は空か、左辺の値で一杯になります。 Vladimir Karputov 2014.06.29 11:37 #2649 jommerbot: これもうまくいきません。その結果、バッファを持つ配列は空か左の値で一杯になってしまいます。 とはいえ、OnInit()でインジケータ・ハンドルを宣言するのは正しいことです。もう一つの問題は、なぜ新しいティックが来るたびに書く必要があるのか(OnCalculate()関数)rates_total, // размер входных таймсерийをバッファーにaRocRatesEURUSD?これでは、端末が本当に遅くなってしまいます。それに、これはとても深い話なんです。経済的な指標再計算の原則」の記事を読んでいただくと、面白いと思います。また、OnCalculate()関数のヘルプを読んでください。 jommerbot 2014.06.29 12:36 #2650 なるほど、一番シンプルなケースでもうまくいかないんですね。#property indicator_chart_window #property indicator_buffers 1 #property indicator_plots 1 #property indicator_type1 DRAW_LINE #property indicator_color1 Red double ExtLineBuffer[]; int iRocHandleEURUSD; int iPlotShift = 0; int iPeriod = 6; void OnInit() { SetIndexBuffer(0, ExtLineBuffer, INDICATOR_DATA); PlotIndexSetInteger(0, PLOT_SHIFT, iPlotShift); PlotIndexSetInteger(0, PLOT_DRAW_BEGIN, iPeriod - 1); int iRocHandleEURUSD = iCustom("EURUSD", 0, "Examples\\ROC"); if( iRocHandleEURUSD == INVALID_HANDLE ) { Print("Не удалось получить хендл индикатора ROC EURUSD"); } } int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[]) { if(rates_total < iPeriod ) { return(0); } int first; double aRocRatesEURUSD[]; if ( prev_calculated == 0 ) { first = iPeriod + begin; } else { first = prev_calculated - 1; } for(int bar = first; bar < rates_total; bar++) { CopyBuffer(iRocHandleEURUSD, 0, bar, 1, aRocRatesEURUSD); Print(aRocRatesEURUSD[ 0 ]); ExtLineBuffer[ bar ] = NormalizeDouble(aRocRatesEURUSD[ 0 ], SYMBOL_DIGITS); } return(rates_total); }自分のミスがどこにあるのか理解できない。EAと スクリプトで同じインジケータ バッファをコピーするとうまくいくが、インジケータではうまくいかない。インジケーターハンドルはエラーなく初期化されます。 1...258259260261262263264265266267268269270271272...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
揃える」とはどういう意味ですか?仮数を小数点以下の 桁数で正規化する?- そのためのNormalizeDouble関数です。それ以外の場合は、より詳細に記述してください。
入力時は任意の正の2倍、出力時はこの楽器であり得る実価格に丸められる。
価格ステップが0.25であれば、0.25に丸める。こんな感じ。
しかし、だからといって、オフセット(0.13、0.38、0.63、0.88など)があれば、それはカウントされるのです。それから。
を入力1.0に出力1.13に表示します。
入力として1.25、出力として1.38。
1,5 ---> 1,63...
APIレベルでは、これはいくつかのアセンブリ言語コマンドにエンコードすることができ、明らかに基本的な機能であると言えます。あると思ったんだけどな =/。
Live updateで新しいビルドにアップデートする方法。このLiveアップデートはどこにあるのでしょうか?
返信ありがとうございます。私はライブで取引しており、MT5は常にオンになっています。プログラム自体がアップデートを促してくれるならいいのですが、そうでない場合、このLiveのアップデートはどこにあるのでしょうか?
皆さんこんにちは!問題があります。 他のカスタムインジケータの読み取り値をカスタムインジケータで 使用することができません。私のやり方が間違っているのはほぼ確実ですが、とりあえずコードを貼り付けておきます。
このコードでは、Rate Of Changes インジケータ(aRocRatesEURUSD)のバッファは使用できません。このインジケーターの接続方法が正しく理解できないので、教えてください。
皆さんこんにちは!問題があります。 他のカスタムインジケータの読み取り値をカスタムインジケータで 使用することができません。私のやり方が間違っているのはほぼ確実ですが、とりあえずコードを貼り付けておきます。
このコードでは、Rate Of Changes インジケータ(aRocRatesEURUSD)のバッファは使用できません。このインジケーターの接続方法が正しく理解できないので、ご教授ください。
インジケータ・ハンドルは、OnInit()で宣言する必要があります。
そうでなければ、OnCalculate()を呼び出すたびに新しいカスタムインジケータを作成することが判明します。インジケータ・ハンドルは、OnInit()で宣言すること。
これもうまくいきません。その結果、バッファを持つ配列は空か左の値で一杯になってしまいます。
rates_total, // размер входных таймсерий
をバッファーに
?これでは、端末が本当に遅くなってしまいます。それに、これはとても深い話なんです。
経済的な指標再計算の原則」の記事を読んでいただくと、面白いと思います。
また、OnCalculate()関数のヘルプを読んでください。
なるほど、一番シンプルなケースでもうまくいかないんですね。
自分のミスがどこにあるのか理解できない。EAと スクリプトで同じインジケータ バッファをコピーするとうまくいくが、インジケータではうまくいかない。インジケーターハンドルはエラーなく初期化されます。