MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 664 1...657658659660661662663664665666667668669670671...1953 新しいコメント Artyom Trishkin 2018.10.16 05:42 #6631 Roman Sharanov:インジケーターの書き方がよくわからないのですが、何が問題なのでしょうか? active_1と active_ 2の価格差を示す線を引く必要があります。 動作確認済み また、この線上にプロットされる平均ma_period ma_period が必要ですが、これには問題があります - それは表示されません。 コピーした結果を確認しない。 ティック毎に履歴を全てコピーするのです。 rates_total ではなく Bars() の数を、ネイティブでないシンボル(現在のチャートのシンボル ではない)からコピーする必要があります。 2分ごとに、例えば非ネイティブシンボルの現在のバータイムを要求して、履歴データを最新に保つ必要があります。 SimpleMAOnBuffer()を使用して、dataBufferのデータを滑らかにします。 Roman Sharanov 2018.10.16 05:57 #6632 Artyom Trishkin:コピーした結果を確認しない。 各ティックで履歴を全てコピーするのです。 非ネイティブシンボル(現在のチャートシンボル ではない)には、rates_totalではなく、Bars()の数値がコピーされるべきです。 2分ごとに、例えば非ネイティブシンボルの現在のバータイムを要求して、その履歴データを最新に保つ必要があります。 SimpleMAOnBuffer()を使用して、dataBufferのデータを滑らかにします。このように、全く動かなくなった int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[]) { //--- int bars1 = Bars(active_1, timeframe), bars2 = Bars(active_2, timeframe); if(CopyClose(active_1,timeframe,0,bars1,firstBuffer) < 0) return 0; if(CopyClose(active_2,timeframe,0,bars2,secondBuffer) < 0) return 0; if(bars1 != bars2) return 0; int first, bar; if(prev_calculated == 0) first = begin; else first = prev_calculated - 1; for(bar = first; bar<bars1; bar++){ dataBuffer[bar] = firstBuffer[bar]-secondBuffer[bar]; maBuffer[bar] = SimpleMA(bar, ma_period, dataBuffer); } SimpleMAOnBuffer(bars1, prev_calculated, begin, ma_period, dataBuffer, maBuffer); //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ void OnTimer(){ iTime(active_1,timeframe,1); iTime(active_2,timeframe,1); } void OnDeinit(const int reason){ EventKillTimer(); } Andrei Sokolov 2018.10.16 07:49 #6633 ごあいさつ EAが注文を開いたときに、ある値を記録して、例えばチケットでその特定の注文を参照できるようにする方法を教えていただけませんか。 Roman Sharanov 2018.10.16 07:56 #6634 Andrey Sokolov:ごあいさつ EAが注文を開いたときに、ある値を記録して、例えばチケットでその特定の注文を参照できるようにする方法を教えていただけませんか。コメントにて psyman 2018.10.16 10:11 #6635 ボラティリティを観察したい。この目的のために、私はtmp1配列で終値と始値の差を計算し、それを使って関心のある期間についてSMAをプロットします。 int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int i; double tmp1[]; Print("rates_total = ",rates_total); for(i=1; i<rates_total; i++) { tmp1[i]=MathMax(open[i],close[i])-MathMin(open[i],close[i]); ip1Buf[i]=iMA(NULL,0,1,0,0,tmp1[i],0); } //--- return value of prev_calculated for next call return(rates_total); } コンパイル時にエラーは発生せず、ターミナルにインジケータが描画されず、ログにCADJPY,H1: array out of range in '_t1.mq4' (65,11) と表示されています。 これは、差分MathMax-MathMinを 計算している行ですが、何が原因でしょうか? Vitaly Muzichenko 2018.10.16 10:13 #6636 psyman:ボラティリティを観察したい。この目的のために、私はtmp1配列で終値と始値の差を計算し、それを使って関心のある期間についてSMAをプロットしています。 コンパイル時にエラーは発生せず、ターミナルにインジケータが描画されず、ログにCADJPY,H1: array out of range in '_t1.mq4' (65,11) と表示されています。 これは、差分MathMax-MathMinを 計算している行ですが、何が原因でしょうか?コードを理解していないのですが、もしそうなら。 for(i=1; i<rates_total-1; i++) psyman 2018.10.16 10:24 #6637 トレーディング、自動売買システム、ストラテジーテストに関するフォーラム MQL4初心者のためのあらゆる質問、アルゴリズムやコードに関するヘルプとディスカッション ヴィタリー・ムジチェンコ さん 2018.10.16 12:13 コードを扱うことはなかったが、もしそうなら。 for(i=1; i<rates_total-1; i++)うまくいかないんです。 アップデイト 文字列を必要最低限に簡略化 tmp1[i]=close[i]; エラーに変わりはない。 Alexey Viktorov 2018.10.16 10:31 #6638 psyman:ボラティリティを観察したい。この目的のために、私はtmp1配列で終値と始値の差を計算し、それを使って関心のある期間についてSMAをプロットします。 コンパイル時にエラーは発生せず、ターミナルにインジケータが描画されず、ログにCADJPY,H1: array out of range in '_t1.mq4' (65,11) と表示されています。 差分MathMax-MathMinを 算出するラインです。配列tmp[]は動的配列として宣言され、最初は長さが0である。それゆえ、エラーが発生するのです。 この配列は、計算用指標バッファとして 宣言しておく必要があります。 63141728 2018.10.16 14:01 #6639 psyman 2018.10.16 14:23 #6640 トレーディング、自動売買システム、ストラテジーテストに関するフォーラム MQL4初心者のためのあらゆる質問、アルゴリズムやコードに関するヘルプとディスカッション アレクセイ・ビクトロフ さん 2018.10.16 12:31 配列tmp[]は動的配列として宣言され、最初は長さが0である。それゆえ、エラーが発生するのです。 この配列は、計算用指標バッファとして 宣言する必要があります。なぜ動的配列ではだめなのでしょうか? この場合、私は何の計算もせずに終値をそこに上書きしています。 インジケーターバッファーの使い方はどこで読めますか? 1...657658659660661662663664665666667668669670671...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
インジケーターの書き方がよくわからないのですが、何が問題なのでしょうか?
active_1と active_ 2の価格差を示す線を引く必要があります。
動作確認済み
また、この線上にプロットされる平均ma_period ma_period が必要ですが、これには問題があります - それは表示されません。
コピーした結果を確認しない。
ティック毎に履歴を全てコピーするのです。
rates_total ではなく Bars() の数を、ネイティブでないシンボル(現在のチャートのシンボル ではない)からコピーする必要があります。
2分ごとに、例えば非ネイティブシンボルの現在のバータイムを要求して、履歴データを最新に保つ必要があります。
SimpleMAOnBuffer()を使用して、dataBufferのデータを滑らかにします。
コピーした結果を確認しない。
各ティックで履歴を全てコピーするのです。
非ネイティブシンボル(現在のチャートシンボル ではない)には、rates_totalではなく、Bars()の数値がコピーされるべきです。
2分ごとに、例えば非ネイティブシンボルの現在のバータイムを要求して、その履歴データを最新に保つ必要があります。
SimpleMAOnBuffer()を使用して、dataBufferのデータを滑らかにします。
このように、全く動かなくなった
ごあいさつ
EAが注文を開いたときに、ある値を記録して、例えばチケットでその特定の注文を参照できるようにする方法を教えていただけませんか。
ごあいさつ
EAが注文を開いたときに、ある値を記録して、例えばチケットでその特定の注文を参照できるようにする方法を教えていただけませんか。
コメントにて
ボラティリティを観察したい。この目的のために、私はtmp1配列で終値と始値の差を計算し、それを使って関心のある期間についてSMAをプロットします。
コンパイル時にエラーは発生せず、ターミナルにインジケータが描画されず、ログにCADJPY,H1: array out of range in '_t1.mq4' (65,11) と表示されています。
これは、差分MathMax-MathMinを 計算している行ですが、何が原因でしょうか?
ボラティリティを観察したい。この目的のために、私はtmp1配列で終値と始値の差を計算し、それを使って関心のある期間についてSMAをプロットしています。
コンパイル時にエラーは発生せず、ターミナルにインジケータが描画されず、ログにCADJPY,H1: array out of range in '_t1.mq4' (65,11) と表示されています。
これは、差分MathMax-MathMinを 計算している行ですが、何が原因でしょうか?
コードを理解していないのですが、もしそうなら。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
MQL4初心者のためのあらゆる質問、アルゴリズムやコードに関するヘルプとディスカッション
ヴィタリー・ムジチェンコ さん 2018.10.16 12:13
コードを扱うことはなかったが、もしそうなら。
うまくいかないんです。
アップデイト
文字列を必要最低限に簡略化 tmp1[i]=close[i]; エラーに変わりはない。
ボラティリティを観察したい。この目的のために、私はtmp1配列で終値と始値の差を計算し、それを使って関心のある期間についてSMAをプロットします。
コンパイル時にエラーは発生せず、ターミナルにインジケータが描画されず、ログにCADJPY,H1: array out of range in '_t1.mq4' (65,11) と表示されています。
差分MathMax-MathMinを 算出するラインです。
配列tmp[]は動的配列として宣言され、最初は長さが0である。それゆえ、エラーが発生するのです。
この配列は、計算用指標バッファとして 宣言しておく必要があります。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
MQL4初心者のためのあらゆる質問、アルゴリズムやコードに関するヘルプとディスカッション
アレクセイ・ビクトロフ さん 2018.10.16 12:31
配列tmp[]は動的配列として宣言され、最初は長さが0である。それゆえ、エラーが発生するのです。
この配列は、計算用指標バッファとして 宣言する必要があります。
なぜ動的配列ではだめなのでしょうか?
この場合、私は何の計算もせずに終値をそこに上書きしています。
インジケーターバッファーの使い方はどこで読めますか?