MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1208 1...120112021203120412051206120712081209121012111212121312141215...1953 新しいコメント ANDREY 2020.07.09 22:16 #12071 Maxim Kuznetsov:しかし、グローバルな目標を持たずに、適当にデータを並べ替えるのはやめましょう。 現在のプロジェクトより:(短い)配列を受け取り、出力は正しい順番の要素のインデックスです。 void BubleSortIndex5(double &data[5],int &index[5]){ for(int i=0;i<5;i++) index[i]=i; for(int i=0;i<4;i++) { for(int j=1;j<5;j++) { if (data[index[i]]>data[index[j]]) { int tmp=index[i]; index[i]=index[j]; index[j]=tmp; } } }} 大きな配列の場合、ソートアルゴリズムを変更する必要がある(バブリングは大きな配列では機能しない) - 変更する。メインメッセージは、「オリジナルデータに手を出すな」です。参照で操作するか、配列のインデックスで操作するのが良い。そうでなければ、後でひどく必要となる情報が失われてしまう。 ありがとうございました。 "......リンクで 操作するか、配列のインデックスで 操作するとよりよい。そうしないと、後で必要になる情報が失われてしまう......」。 リファレンス操作というのは初めて知りました。リファレンスで操作するのとソースデータで操作するのとの違いを理解するために、どこで読めるか教えていただければ幸いです。コバレフの教科書にはそのような話題はなかったと記憶しています。 Oleg 2020.07.10 12:28 #12072 同僚、ろうそくの希望の音量になると音が出なくなるのはなぜか、アドバイスしてください。 サウンドファイルはSOUNDSフォルダにあり、アラートを設定するとファイルは正常に再生されますが、インジケーターに音が出ません。 それとも、インジケーター用の音が入った専用のフォルダが必要なのでしょうか? /----インジケータ計算の メインループ for(bar=limit; bar>=0 && !IsStopped(); bar--){ Range=(high[bar]-low[bar])/_Point; IndBuffer[bar]=Range; if(Range<5){ if (prev_calculated > 0 && Flag==0){ Flag=1;}} if(Range>=Threshold){ clr=0; if (prev_calculated > 0 && Flag==1 ){ Flag=0; PlaySound("zummer");}}. ファイル: tro_range_sound_ZUMMER_NEW.mq5 13 kb zummer.zip 15 kb Any questions from newcomers Question about OnCalculate() regarding Help needed with EMA Mihail Matkovskij 2020.07.10 14:49 #12073 ANDREY:迅速な対応をしていただき、ありがとうございました。私の場合、配列 要素の各値は一意であり、単一のインスタンスに存在します。つまり、値5は、他の値と同様に、繰り返されることはないのです。私の場合、値5はソートされていない配列の中に存在しないかもしれません。 しかし、値5がソートされていない配列にない場合、ArrayBsearch() 関数の第2パラメータに値5を指定することはできません。ソートされていない配列に必ず存在する値のみが、この関数に 取り込まれます。 よろしくお願いします。 配列をソート するつもりがないのに、なぜArrayBsearch() が必要なのでしょうか?数字を見つけるには、探している数字と配列のセル内の数字を単純に交互に比較するだけでよいのです。探している番号がなければ、偽の番号を返せばいいだけです。 //+------------------------------------------------------------------+ //| FindInArray.mq4 | //| Copyright 2020, © Cyberdev | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, © Cyberdev" #property version "1.00" #property strict #property script_show_inputs #define size1 2 #define size2 10 input double value = 5; input int index = 0; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int vIndex = -1; bool searshValue(double & array2D[2][], const int _len, const int _index, const double _value) { int i; for(i = 0; i < _len; i++) { if(NormalizeDouble(array2D[_index][i], _Digits) == NormalizeDouble(_value, _Digits)) { vIndex = i; return true; } } return false; } //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { double array[size1][size2] = { {10,9,8,7,6,5,4,3,2,1}, {10,3,8,9,2,1,1,8,8,6} }; if(searshValue(array, size2, index, value)) Print("value1 array["+(string)index+"]["+(string)vIndex+"]: ", array[index][vIndex]); else Print("Value: "+(string)value+" not found!"); } //+------------------------------------------------------------------+ ANDREY 2020.07.10 17:23 #12074 Mihail Matkovskij:では、配列のソートを 全く行わないのであれば、なぜArrayBsearch()が必要なのでしょうか?数字を見つけるには、探している数字と配列のセル内の数字を1つずつ比較すればいいのです。探している番号がなければ、偽の番号を返せばいいだけです。 ありがとうございました。おかげさまで、有益な情報を得ることができ、MQL4の知識を深めることができました。 Mihail Matkovskij 2020.07.10 18:04 #12075 ANDREY:ありがとうございました。おかげさまで、MQL4について貴重な情報を得ることができ、視野と知識を広げることができました。 お役に立ててうれしいです。 ANDREY 2020.07.10 19:13 #12076 Mihail Matkovskij:では、配列のソートを 全く行わないのであれば、なぜArrayBsearch()が必要なのでしょうか?数字を求めるには、探している数字と配列のセル内の数字を単純に交互に比較するだけでよいのです。探している番号がない場合は、偽の番号を返せばよい。 という機能は正しく理解されていますか? searshValue () MQL4からではなく、MQL5 からもではないのですか? ANDREY 2020.07.10 19:17 #12077 Mihail Matkovskij:お役に立ててうれしいです。 あなたのような人がもっとたくさんいれば......喜んで助けてくれるのに......。 Mihail Matkovskij 2020.07.10 20:09 #12078 ANDREY:という機能は正しく理解されていますか?MQL4からではなく、MQL5からも ではないのですか?例https://www.mql5.com/ru/forum/160683/page1208#comment_17279150 をよく見てください。何も見つからなかったんですか?この機能bool searshValue(double & array2D[2][], const int _len, const int _index, const double _value) { int i; for(i = 0; i < _len; i++) { if(NormalizeDouble(array2D[_index][i], _Digits) == NormalizeDouble(_value, _Digits)) { vIndex = i; return true; } } return false; } もうちょっと丁寧にやってくれよー。 Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам 2020.07.09www.mql5.com В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н... Ботагоз Битабарова 2020.07.10 20:18 #12079 こんにちは、私は助けを必要とする、私は私の資金を撤回したくない証券会社を通じて、このプラットフォーム上で開かれたアカウントを持って、私は何をすべきですか? Artyom Trishkin 2020.07.10 20:26 #12080 Ботагоз Битабарова:こんにちは! 私は助けを必要とする、このプラットフォームでは、私の資金を撤回したくない証券会社を通じて、私のためにアカウントを開設し、何をすべきか? この資料は、証券会社とは関係ありません。 1...120112021203120412051206120712081209121012111212121312141215...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
しかし、グローバルな目標を持たずに、適当にデータを並べ替えるのはやめましょう。
現在のプロジェクトより:(短い)配列を受け取り、出力は正しい順番の要素のインデックスです。
{
for(int i=0;i<5;i++)
index[i]=i;
for(int i=0;i<4;i++) {
for(int j=1;j<5;j++) {
if (data[index[i]]>data[index[j]]) {
int tmp=index[i];
index[i]=index[j];
index[j]=tmp;
}
}
}
}
大きな配列の場合、ソートアルゴリズムを変更する必要がある(バブリングは大きな配列では機能しない) - 変更する。
メインメッセージは、「オリジナルデータに手を出すな」です。参照で操作するか、配列のインデックスで操作するのが良い。そうでなければ、後でひどく必要となる情報が失われてしまう。
ありがとうございました。
"......リンクで 操作するか、配列のインデックスで 操作するとよりよい。そうしないと、後で必要になる情報が失われてしまう......」。
リファレンス操作というのは初めて知りました。リファレンスで操作するのとソースデータで操作するのとの違いを理解するために、どこで読めるか教えていただければ幸いです。コバレフの教科書にはそのような話題はなかったと記憶しています。
同僚、ろうそくの希望の音量になると音が出なくなるのはなぜか、アドバイスしてください。
サウンドファイルはSOUNDSフォルダにあり、アラートを設定するとファイルは正常に再生されますが、インジケーターに音が出ません。
それとも、インジケーター用の音が入った専用のフォルダが必要なのでしょうか?
/----インジケータ計算の メインループ
for(bar=limit; bar>=0 && !IsStopped(); bar--)
{
Range=(high[bar]-low[bar])/_Point;
IndBuffer[bar]=Range;
if(Range<5)
{
if (prev_calculated > 0 && Flag==0)
{
Flag=1;
}
}
if(Range>=Threshold){
clr=0;
if (prev_calculated > 0 && Flag==1 )
{
Flag=0;
PlaySound("zummer");
}
}.
迅速な対応をしていただき、ありがとうございました。私の場合、配列 要素の各値は一意であり、単一のインスタンスに存在します。つまり、値5は、他の値と同様に、繰り返されることはないのです。
私の場合、値5はソートされていない配列の中に存在しないかもしれません。
しかし、値5がソートされていない配列にない場合、ArrayBsearch() 関数の第2パラメータに値5を指定することはできません。ソートされていない配列に必ず存在する値のみが、この関数に 取り込まれます。
よろしくお願いします。
配列をソート するつもりがないのに、なぜArrayBsearch() が必要なのでしょうか?数字を見つけるには、探している数字と配列のセル内の数字を単純に交互に比較するだけでよいのです。探している番号がなければ、偽の番号を返せばいいだけです。
では、配列のソートを 全く行わないのであれば、なぜArrayBsearch()が必要なのでしょうか?数字を見つけるには、探している数字と配列のセル内の数字を1つずつ比較すればいいのです。探している番号がなければ、偽の番号を返せばいいだけです。
ありがとうございました。おかげさまで、有益な情報を得ることができ、MQL4の知識を深めることができました。
ありがとうございました。おかげさまで、MQL4について貴重な情報を得ることができ、視野と知識を広げることができました。
お役に立ててうれしいです。
では、配列のソートを 全く行わないのであれば、なぜArrayBsearch()が必要なのでしょうか?数字を求めるには、探している数字と配列のセル内の数字を単純に交互に比較するだけでよいのです。探している番号がない場合は、偽の番号を返せばよい。
という機能は正しく理解されていますか?
MQL4からではなく、MQL5 からもではないのですか?
お役に立ててうれしいです。
あなたのような人がもっとたくさんいれば......喜んで助けてくれるのに......。
という機能は正しく理解されていますか?
MQL4からではなく、MQL5からも ではないのですか?
例https://www.mql5.com/ru/forum/160683/page1208#comment_17279150 をよく見てください。何も見つからなかったんですか?
この機能
もうちょっと丁寧にやってくれよー。こんにちは、私は助けを必要とする、私は私の資金を撤回したくない証券会社を通じて、このプラットフォーム上で開かれたアカウントを持って、私は何をすべきですか?
こんにちは! 私は助けを必要とする、このプラットフォームでは、私の資金を撤回したくない証券会社を通じて、私のためにアカウントを開設し、何をすべきか?
この資料は、証券会社とは関係ありません。