どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 129 1...122123124125126127128129130131132133134135136...1178 新しいコメント Viktar Dzemikhau 2013.09.07 19:52 #1281 Roman.: タンクを見て、再起動して、もしかしたら役に立つかもしれない...。:-) 追伸:親切なんです。 なーんだ。戦車は選択肢にない。 本当にそういうことをやりたいのなら。落ち着くのは結果だけです)) Роман 2013.09.07 19:55 #1282 hoz: なーんだ。戦車は選択肢にない。 本当にそういうことをやりたいのなら。結果だけ落ち着きます(笑)。 :-) Viktar Dzemikhau 2013.09.07 20:03 #1283 まさかね。とにかく、不思議な瞬間であることがわかります。ロットをノーマライズしたわけではありません。ここでは、ロット正規化という機能があります。 //+-------------------------------------------------------------------------------------+ //| Проверка объема на корректность и округление | //+-------------------------------------------------------------------------------------+ double LotFloor(double value) { return(MathFloor(MathMin(MathMax(value, g_minLot), g_maxLot)/g_lotStep)*g_lotStep); 注文を出す関数が呼び出される取引関数 自体に間違いがあることを確認し、注文を出す関数の呼び出しロットパラメータにこの関数を追加しました。エラーは消えなかった。 そして、最初の罵倒関数に直接正規化関数を追加した途端、これは保留中の注文を設定する関数ですが、罵倒は止まりました。どういうことですか? //+-------------------------------------------------------------------------------------+ //| Открытие отложенной короткой позиции | //+-------------------------------------------------------------------------------------+ bool OpenPendingSell(double lot, double price) { int g_ticket = -1; double OOP = price - i_distanceFromLastPos * pt; if (OOP < Bid) { fCheck_ValidPendingOOP(Symbol(), OP_SELLSTOP, OOP); g_ticket = OrderSend(Symbol(), OP_SELLSTOP, LotFloor(lot), ND(OOP), 30, 0, 0, NULL, i_magic, 0, CLR_NONE); } if (g_ticket > 0) { return (true); } else pr ("OpenPendingSell(): Ордер послать не удалось " + GetLastError()); return (false); } 最初のケースでは、チェックしたロットをすぐに送信し、2番目のケースでは、OrderSend() 関数自体でロットサイズをチェックします。しかし、その違いは何なのでしょうか? Alexander 2013.09.08 00:49 #1284 chief2000: ここで問題なのは、1次元の配列があり、そのサイズは様々であることです。 配列の要素のすべての可能な組み合わせをループする方法は? 要素の順番は関係ない、つまり123==213==321。 以下は、要素が4つの配列の例です。 まあ、お互いに、難しいとは思わないんですけどね。 int k = ArraySize(array); for(int i=0;i<k-1;i++) for(int ii=i+1;ii<k;ii++) { ... } しかし、ここで、2つ以上あると、どう比較したらいいのかわからなくなる。1、2、3の3つの数字を同時に比較する方法を示せ。 Mihail Marchukajtes 2013.09.08 03:36 #1285 最適化ウィンドウを開き直らないようにするにはどうしたらいいか、どなたか教えてください......。このウィンドウは、背景やキャンドルなどの設定が異なることがわかりました。 Mihail Marchukajtes 2013.09.08 03:36 #1286 もしかしたら、そういうスクリプトがあるかもしれない!!! DanilaMactep 2013.09.08 03:50 #1287 皆さん、こんにちは!このテーマについてアドバイスをお願いします...。798にレベルをずらしたい場合、多くのペアで計算するのは面倒なので、手動でカウントせずに、ずらした移動平均の価格を描画するか、データウィンドウに表示するインジケータをどう書けばいいでしょうか? Oleg 2013.09.08 04:37 #1288 Roger: まあ、お互いに、難しいことではなさそうです。 しかし、2つ以上あると、どう比較したらいいのかわからなくなる。1、2、3の3つの数字を同時に比較する方法を教えてください。。 間違っていなければ、サイクル数は配列の要素数と一致させなければなりません。問題は、要素の数が一定ではなく、4よりはるかに多くなる可能性があるため、どのように設計するか考える必要があることです。また、速度やメモリ消費量などに影響を与える他の実装オプションはないのでしょうか? noobys 2013.09.08 05:56 #1289 paladin80: ありがとうございました。3小節目など、どちらからカウントを始めても問題ないのでしょうか? Oleg 2013.09.08 06:10 #1290 前回の質問を言い換えて補足したい。 以下は、4つの要素を持つ配列のコードです。実際には、配列の項目数は可変である。 ネストされたforループの数が可変になるように、配列1項目につき 1つのforループになるようにコードを変更するにはどうすればよいでしょうか? ありがとうございました! int start() { int Array[4] = {1, 2, 3, 4}; int x1, x2, x3, x4; int Array_Size = ArrayRange(Array,0); for(x1=0; x1<Array_Size; x1++) { Print("Combination = ", Array[x1]); for(x2=x1+1; x2<Array_Size; x2++) { Print("Combination = ", Array[x1] + " " + Array[x2]); for(x3=x2+1; x3<Array_Size; x3++) { Print("Combination = ", Array[x1] + " " + Array[x2] + " " + Array[x3]); for(x4=x3+1; x4<Array_Size; x4++) { Print("Combination = ", Array[x1] + " " + Array[x2] + " " + Array[x3] + " " + Array[x4]); } } } } return(0); } 1...122123124125126127128129130131132133134135136...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
タンクを見て、再起動して、もしかしたら役に立つかもしれない...。:-)
追伸:親切なんです。
なーんだ。戦車は選択肢にない。 本当にそういうことをやりたいのなら。結果だけ落ち着きます(笑)。
:-)
まさかね。とにかく、不思議な瞬間であることがわかります。ロットをノーマライズしたわけではありません。ここでは、ロット正規化という機能があります。
注文を出す関数が呼び出される取引関数 自体に間違いがあることを確認し、注文を出す関数の呼び出しロットパラメータにこの関数を追加しました。エラーは消えなかった。
そして、最初の罵倒関数に直接正規化関数を追加した途端、これは保留中の注文を設定する関数ですが、罵倒は止まりました。どういうことですか?
最初のケースでは、チェックしたロットをすぐに送信し、2番目のケースでは、OrderSend() 関数自体でロットサイズをチェックします。しかし、その違いは何なのでしょうか?
ここで問題なのは、1次元の配列があり、そのサイズは様々であることです。
配列の要素のすべての可能な組み合わせをループする方法は?
要素の順番は関係ない、つまり123==213==321。
以下は、要素が4つの配列の例です。
まあ、お互いに、難しいとは思わないんですけどね。
しかし、ここで、2つ以上あると、どう比較したらいいのかわからなくなる。1、2、3の3つの数字を同時に比較する方法を示せ。まあ、お互いに、難しいことではなさそうです。
しかし、2つ以上あると、どう比較したらいいのかわからなくなる。1、2、3の3つの数字を同時に比較する方法を教えてください。。間違っていなければ、サイクル数は配列の要素数と一致させなければなりません。問題は、要素の数が一定ではなく、4よりはるかに多くなる可能性があるため、どのように設計するか考える必要があることです。また、速度やメモリ消費量などに影響を与える他の実装オプションはないのでしょうか?
ありがとうございました。3小節目など、どちらからカウントを始めても問題ないのでしょうか?
以下は、4つの要素を持つ配列のコードです。実際には、配列の項目数は可変である。
ネストされたforループの数が可変になるように、配列1項目につき 1つのforループになるようにコードを変更するにはどうすればよいでしょうか?
ありがとうございました!