MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1251 1...124412451246124712481249125012511252125312541255125612571258...1953 新しいコメント Fast235 2020.09.10 09:25 #12501 このような配列から取得する方法について、どなたかご提案いただけないでしょうか。 int array[15]= {0,0,5,5,5,1,9,9,9,0,2,2,1,0,0}; 配列中に3つ以上並んでいる数字,すなわち "5 "と "9 "の値を取得します。 の種類を取得する必要があります。 value1=9とする。 value2=5とする。 または配列value[]={9,5}とする。 2日前からwhile doで頭を悩ませていますが、スキームがわかりません。 Igor Makanu 2020.09.10 09:51 #12502 Fast235:このような配列から取得する方法について、どなたかご提案いただけないでしょうか。配列中に3つ以上並んでいる数字,すなわち "5 "と "9 "の値を取得します。の種類を取得する必要があります。value1=9とする。value2=5とする。または配列value[]={9,5}とする。2日目 while do の仕組みがわからない。 をスケッチしたが、それは正面から解決した、一般的に動作するが、私の解決策を好きではなかった。 //+------------------------------------------------------------------+ void OnStart() { int array[15] = {0, 0, 5, 5, 5, 1, 9, 9, 9, 0, 2, 2, 1, 0, 0}; int arrrepeat[]; getRepeatNumbers(array, arrrepeat); ArrayPrint(arrrepeat); } //+------------------------------------------------------------------+ void getRepeatNumbers(const int &inArr[], int &result[]) { ArrayFree(result); for(int i = 0; i < ArraySize(inArr) - 1; i++) { if(getRepeatCount(inArr, i) > 1) { int sz = ArraySize(result); ArrayResize(result, sz + 1); result[sz] = inArr[i]; } } } //+------------------------------------------------------------------+ int getRepeatCount(const int &arr[], const int pos) { int result = 0; for(int i = pos + 1; i < ArraySize(arr) - 1 && arr[i] == arr[pos]; i++) { result++; } return(result); } //+------------------------------------------------------------------+ 2020.09.10 11:51:26.323 tst (EURUSD,M5) 5 9 Fast235 2020.09.10 10:01 #12503 Igor Makanu:をスケッチしたが、真正面から決めた、一般的に動作するが、私の解決策を好きではなかった。 2020.09.10 11:51:26.323 tst (EURUSD,M5) 5 9 ありがとうございます、アクションが多すぎる ループの中で解決策を見つけたいので、continue;とbreak;演算子を使って みます。 新しいバーのたびにインジケーターバッファから取得する必要があります prev_calculate-100 約 Igor Makanu 2020.09.10 10:15 #12504 Fast235:ありがとうございます、アクションが多すぎるループの中で解決策を見つけたいのですが、continue;とbreak;の演算子を使って みます。新しいバーのたびにインジケーターバッファから取得する必要があります prev_calculate-100 or so それは面倒ではありません、私は他のバリアントを探していなかったとして、私はそれを好きではなかった - 私はいつもそのようにそれを行う。 2つ目の関数のループを1つ目の関数の本体に追加する。肩の力が抜ける ブレイクがあってもなくても、この問題は2ループで 解決するのだから......。が、正確ではありません!- にする) Fast235 2020.09.10 10:41 #12505 Igor Makanu:面倒くさくない、他の選択肢を探さなかったので好きではない - いつもこの方法でやっています。第二関数のループを、第一関数の本体に導入する。肩の力が抜けるブレイクがあってもなくても、この問題は2ループで 解決するのだから......。が、正確ではありません!- にする) ガチャガチャやってみる、わかったら書く Vladimir Simakov 2020.09.10 10:56 #12506 Fast235:試しにやってみて、うまくいったら教えてください。 一発で解決です))) Fast235 2020.09.10 14:10 #12507 Igor Makanu:面倒くさくない、他の選択肢を探さなかったので好きではない - いつもこの方法でやっています。第二関数のループを、第一関数の本体に導入する。肩の力が抜けるブレイクがあってもなくても、この問題は2ループで 解決するのだから......。が、正確ではありません!- にする) というエラーが発生した場合、キューにある「9」が3つではなく、4つになると、結果は 5 9 9 2 Igor Makanu 2020.09.10 14:31 #12508 Fast235:のエラーで、キューにある「9」が3つではなく4つだった場合、その結果は5 9 9 2 だから、自分の解答が気に入らないって言ったのに......。 ダラダラしすぎてまた書けません。 array find repetitions」でググってみると、何か見つかると思います。 Maxim Kuznetsov 2020.09.10 14:33 #12509 Fast235:このような配列から取得する方法について、どなたかご提案いただけないでしょうか。配列中に3つ以上並んでいる数字,すなわち "5 "と "9 "の値を取得します。の種類を取得する必要があります。value1=9とする。value2=5とする。または配列value[]={9,5}とする。二日目のスキームがわからない。 int qty[10]; // счётчики по цифрам int total; // всего элементов в исходном массиве arr[] int code=arr[0]; // текущая цифра int count=1; // кол-во повторов for(int i=1;i<total;i++) { if (arr[i]!=code) { if (count>qty[code]) qty[code]=count; code=arr[i]; count=1;} else count++; } if (count>qty[code]) qty[code]=count; /// в массиве qty - требуемое arr[]要素の許容性(桁数であること)のチェックを味付けに追加した Any questions from newcomers MQL4 Learning While one currency has ANDREY 2020.09.10 15:19 #12510 皆さん、ごきげんよう。 MT-4テスターでmql4を使ってアルゴリズムをテストしています。入札価格を小数点以下5桁でログ出力するPrint()関数が必要です。しかし、小数点以下4桁までしか表示されない。NormalizeDouble(Bid,Digits) 関数を使って5桁目を追加してみました。 私のミスがあれば修正する方法を教えてください。 以下は私のコードです。 void OnTick() { Print("=======Bid ========= ",NormalizeDouble(Bid,Digits) ); } 同時に、ある注文の始値と終値を(SLとTPで) print() すると、 NormalizeDouble()や他の関数の 助けがなくても、 print()は5(5)桁で価格を 表示します。 皆さん、ありがとうございました。 1...124412451246124712481249125012511252125312541255125612571258...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
このような配列から取得する方法について、どなたかご提案いただけないでしょうか。
配列中に3つ以上並んでいる数字,すなわち "5 "と "9 "の値を取得します。
の種類を取得する必要があります。
value1=9とする。
value2=5とする。
または配列value[]={9,5}とする。
2日前からwhile doで頭を悩ませていますが、スキームがわかりません。
このような配列から取得する方法について、どなたかご提案いただけないでしょうか。
配列中に3つ以上並んでいる数字,すなわち "5 "と "9 "の値を取得します。
の種類を取得する必要があります。
value1=9とする。
value2=5とする。
または配列value[]={9,5}とする。
2日目 while do の仕組みがわからない。
をスケッチしたが、それは正面から解決した、一般的に動作するが、私の解決策を好きではなかった。
2020.09.10 11:51:26.323 tst (EURUSD,M5) 5 9
をスケッチしたが、真正面から決めた、一般的に動作するが、私の解決策を好きではなかった。
2020.09.10 11:51:26.323 tst (EURUSD,M5) 5 9
ありがとうございます、アクションが多すぎる
ループの中で解決策を見つけたいので、continue;とbreak;演算子を使って みます。
新しいバーのたびにインジケーターバッファから取得する必要があります prev_calculate-100 約
ありがとうございます、アクションが多すぎる
ループの中で解決策を見つけたいのですが、continue;とbreak;の演算子を使って みます。
新しいバーのたびにインジケーターバッファから取得する必要があります prev_calculate-100 or so
それは面倒ではありません、私は他のバリアントを探していなかったとして、私はそれを好きではなかった - 私はいつもそのようにそれを行う。
2つ目の関数のループを1つ目の関数の本体に追加する。肩の力が抜ける
ブレイクがあってもなくても、この問題は2ループで 解決するのだから......。が、正確ではありません!- にする)
面倒くさくない、他の選択肢を探さなかったので好きではない - いつもこの方法でやっています。
第二関数のループを、第一関数の本体に導入する。肩の力が抜ける
ブレイクがあってもなくても、この問題は2ループで 解決するのだから......。が、正確ではありません!- にする)
ガチャガチャやってみる、わかったら書く
試しにやってみて、うまくいったら教えてください。
面倒くさくない、他の選択肢を探さなかったので好きではない - いつもこの方法でやっています。
第二関数のループを、第一関数の本体に導入する。肩の力が抜ける
ブレイクがあってもなくても、この問題は2ループで 解決するのだから......。が、正確ではありません!- にする)
というエラーが発生した場合、キューにある「9」が3つではなく、4つになると、結果は
5 9 9 2
のエラーで、キューにある「9」が3つではなく4つだった場合、その結果は
5 9 9 2
だから、自分の解答が気に入らないって言ったのに......。
ダラダラしすぎてまた書けません。
array find repetitions」でググってみると、何か見つかると思います。
このような配列から取得する方法について、どなたかご提案いただけないでしょうか。
配列中に3つ以上並んでいる数字,すなわち "5 "と "9 "の値を取得します。
の種類を取得する必要があります。
value1=9とする。
value2=5とする。
または配列value[]={9,5}とする。
二日目のスキームがわからない。
int qty[10]; // счётчики по цифрам
int total; // всего элементов в исходном массиве arr[]
int code=arr[0]; // текущая цифра
int count=1; // кол-во повторов
for(int i=1;i<total;i++) {
if (arr[i]!=code) { if (count>qty[code]) qty[code]=count; code=arr[i]; count=1;}
else count++;
}
if (count>qty[code]) qty[code]=count;
/// в массиве qty - требуемое
arr[]要素の許容性(桁数であること)のチェックを味付けに追加した
皆さん、ごきげんよう。
MT-4テスターでmql4を使ってアルゴリズムをテストしています。入札価格を小数点以下5桁でログ出力するPrint()関数が必要です。しかし、小数点以下4桁までしか表示されない。NormalizeDouble(Bid,Digits) 関数を使って5桁目を追加してみました。
私のミスがあれば修正する方法を教えてください。
以下は私のコードです。
}
同時に、ある注文の始値と終値を(SLとTPで) print() すると、 NormalizeDouble()や他の関数の 助けがなくても、 print()は5(5)桁で価格を 表示します。
皆さん、ありがとうございました。