MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 378 1...371372373374375376377378379380381382383384385...1953 新しいコメント YarTrade 2017.11.14 11:38 #3771 どなたか親切に、次のことをどう書けばいいのか教えてください。iVolumeは上昇したものはプラス、下降したものはマイナスのiVolumeをカウントするトレーニング用インジケータを作りました。カーブを作るために、すべてのiVolume(正と負)をバーからバーへ増加する合計を追加します。曲線が得られます。しかし、2つの問題が発生しました。1)ラインが非常に壊れた状態になる。2) 取得した iVolume チャートは実数しかないため、Expert Advisor をテストすることは不可能です。質問です。1) バッファに書き込んだ平均化されたデータを元にチャートを作ることができるコードをどのように記述したらよいでしょうか。2) このインディケータのデータ(リアルモードで受信したもの)をあるファイルに書き込んで、後でこのファイルを参照しながら、すでに収集したティックボリュームを適用して、ヒストリカルデータのインディケータを構築することは可能でしょうか。可能であれば、プログラム的にどのように記述すればよいのでしょうか。あるいは、現在のiVolumeの情報をファイルに書き込む 必要のない、他の解決策がありますか?#property version "1.00" #property strict #property indicator_separate_window #property indicator_buffers 2 #property indicator_label1 "Вверх" #property indicator_type1 DRAW_LINE #property indicator_color1 Salmon #property indicator_style1 STYLE_SOLID #property indicator_width1 2 #property indicator_label2 "Вниз" #property indicator_type2 DRAW_LINE #property indicator_color2 clrDarkTurquoise #property indicator_style2 STYLE_SOLID #property indicator_width2 2 datetime Время=0; // Время прошлого бара double Bid1; double Buf_1[]; long V1; // объем для текущего тика вверх long V2; // накопленный объем для всех тиков вверх текущего бара long V3; // объем текущего тика вниз long V4; // накопленный объем для всех тиков вниз для текущего бара long V5; // отрицательные и положительные iVolume нарастающим итогом void OnInit() { IndicatorDigits(0); SetIndexBuffer(0,Buf_1); //SetIndexBuffer(1,Buf_2); Bid1=Bid; V5 = 0; } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ 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[]) { datetime Вр=Time[0]; // Время текущего бара if(Вр>Время) // Если новый бар { Время=Вр; // Запомнить // Buf_1[0]=0; // и обнулить последний элемент буфера } if(Bid >= Bid1) { if(Bid > Bid1) { V1 = iVolume(NULL, 0, 0); // если повышающий цену тик V2 = V1 + V2; } else { V1 = 0; // если Bid1 = Bid2, т.е. изменение цены = 0, то iVolume этого тика присваиваем 0; V2 = V1 + V2; } } else { V3 = iVolume(NULL, 0, 0); // если понижающий цену тик V4 = V3 + V4; } V5 = V2-V4; Bid1=Bid; Buf_1[0]= V5; // в буфер сгружаем return(rates_total); } YarTrade 2017.11.14 11:45 #3772 コードの末尾に追加するとか。 double macurrent=iMAOnArray(Buf_1[0],0,5,0,MODE_LWMA,0); え、うそ!?コンパイラは、配列がないというエラーを発生させます。 kirill1405 2017.11.14 19:35 #3773 こんにちは、攻略トースターのエクスクラメーションマークの意味を教えてください。 ファイル: 4cznte_mywjud_2017-11-14_s_23.32.01.png 12 kb YarTrade 2017.11.15 08:14 #3774 どなたか......、助けていただけませんか?私にとってのデッドエンドは、ここに定められています。https://www.mql5.com/ru/forum/160683/page378#comment_6053255。 削除済み 2017.11.16 05:29 #3775 YarTrade: このインディケータのデータ(リアルモードで取得したもの)をファイルに書き込んで、後でこのファイルを参照しながら、既に収集したティックボリュームを適用して、ヒストリカルデータのインディケータを構築することは可能でしょうか。可能であれば、プログラム的にどのように記述すればよいのでしょうか。あるいは、現在のiVolumeの情報をファイルに書き込む 必要のない、他の解決策があるのでしょうか? ファイルからのデータに基づくインジケータ- 検索でこの行を入力し、見つけました。 LuckySith 2017.11.16 13:07 #3776 ある種の悪夢のようなもので、なぜこのように出るのか理解できません。 Code section : line[0]=MathFloor(Low[1]*MathPow(10,D-1)); Print("Var ",DoubleToStr(line[0],D)); Print("Code ",DoubleToStr(MathFloor(Low[1]*MathPow(10,D-1)),D); Output : EURUSD,M15: Var 0.00000 EURUSD,M15: コード 11754.00000 代入後の値はどうなるのでしょうか? Konstantin Erin 2017.11.16 14:35 #3777 LuckySith: コードセクション:line[0]=MathFloor(Low[1]*MathPow(10,D-1)); Print("Var ",DoubleToStr(line[0],D)); Print("Code ",DoubleToStr(MathFloor(Low[1]*MathPow(10,D-1)),D); Print : EURUSD,M15: Var 0.0.00000 EURUSD,M15: コード 11754.00000 代入後の値はどうなるのでしょうか?代入後の変数の値と変数 D の値を表示 します。電卓で計算してみてください。 HUNTERGOOD 2017.11.16 16:38 #3778 皆さん、こんにちは。みなさん、ちょっとだけお願いします。どなたか、サウンドファイル名を指定できる行を、インジケーターの設定に設定していただけないでしょうか。 ファイル: Awesome-33.ex4 16 kb LuckySith 2017.11.16 16:50 #3779 STARIJ:代入後の変数の値と変数Dの値をプリントアウトしてください。電卓で計算してみよう・・・。そこで、代入後の変数の値をプリントアウトしています。ということで、基本的には以下のようなコードになります。a=bです。印刷する(a)。プリント(b)。しかし、aは0に等しく、bは正しく印刷される Taras Slobodyanik 2017.11.16 16:56 #3780 LuckySith: このように、割り当てられている値を出力しています。そのため、基本的には以下のようなコードになります。a=bです。印刷する(a)。プリント(b)。しかし、aは0に等しく、bは正しくプリントされる私はゼロを見ません、あなたはどこかを間違えています。 int D=5; double a=MathFloor(Low[1]*MathPow(10,D-1)); Print("Var ",DoubleToStr(a,D)); Print("Code ",DoubleToStr(MathFloor(Low[1]*MathPow(10,D-1)),D)); 1...371372373374375376377378379380381382383384385...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
どなたか親切に、次のことをどう書けばいいのか教えてください。
iVolumeは上昇したものはプラス、下降したものはマイナスのiVolumeをカウントするトレーニング用インジケータを作りました。カーブを作るために、すべてのiVolume(正と負)をバーからバーへ増加する合計を追加します。曲線が得られます。しかし、2つの問題が発生しました。
1)ラインが非常に壊れた状態になる。
2) 取得した iVolume チャートは実数しかないため、Expert Advisor をテストすることは不可能です。
質問です。
1) バッファに書き込んだ平均化されたデータを元にチャートを作ることができるコードをどのように記述したらよいでしょうか。
2) このインディケータのデータ(リアルモードで受信したもの)をあるファイルに書き込んで、後でこのファイルを参照しながら、すでに収集したティックボリュームを適用して、ヒストリカルデータのインディケータを構築することは可能でしょうか。可能であれば、プログラム的にどのように記述すればよいのでしょうか。あるいは、現在のiVolumeの情報をファイルに書き込む 必要のない、他の解決策がありますか?
コードの末尾に追加するとか。
double macurrent=iMAOnArray(Buf_1[0],0,5,0,MODE_LWMA,0);
え、うそ!?コンパイラは、配列がないというエラーを発生させます。
どなたか......、助けていただけませんか?私にとってのデッドエンドは、ここに定められています。https://www.mql5.com/ru/forum/160683/page378#comment_6053255。
ファイルからのデータに基づくインジケータ- 検索でこの行を入力し、見つけました。
ある種の悪夢のようなもので、なぜこのように出るのか理解できません。
Code section :
line[0]=MathFloor(Low[1]*MathPow(10,D-1));
Print("Var ",DoubleToStr(line[0],D));
Print("Code ",DoubleToStr(MathFloor(Low[1]*MathPow(10,D-1)),D);
Output :
EURUSD,M15: Var 0.00000
EURUSD,M15: コード 11754.00000
代入後の値はどうなるのでしょうか?
line[0]=MathFloor(Low[1]*MathPow(10,D-1));
Print("Var ",DoubleToStr(line[0],D));
Print("Code ",DoubleToStr(MathFloor(Low[1]*MathPow(10,D-1)),D);
Print :
EURUSD,M15: Var 0.0.00000
EURUSD,M15: コード 11754.00000
代入後の値はどうなるのでしょうか?
代入後の変数の値と変数 D の値を表示 します。電卓で計算してみてください。
皆さん、こんにちは。みなさん、ちょっとだけお願いします。どなたか、サウンドファイル名を指定できる行を、インジケーターの設定に設定していただけないでしょうか。
代入後の変数の値と変数Dの値をプリントアウトしてください。電卓で計算してみよう・・・。
そこで、代入後の変数の値をプリントアウトしています。ということで、基本的には以下のようなコードになります。
a=bです。
印刷する(a)。
プリント(b)。
しかし、aは0に等しく、bは正しく印刷される
このように、割り当てられている値を出力しています。そのため、基本的には以下のようなコードになります。
a=bです。
印刷する(a)。
プリント(b)。
しかし、aは0に等しく、bは正しくプリントされる
私はゼロを見ません、あなたはどこかを間違えています。