学習ロジック - ページ 9

 

ええ :) ちょっと大げさでしたね。

これは別の例です :) しかし、私はこれがMQLで動くかどうか疑問です、C++で動くでしょう。

for (int i = OrdersTotal(); i--;)
{
   if (!OrderSelect(i - 1, SELECT_BY_POS)) continue;

   //...
}
 
Mathemat:

やっぱり売り物?

さて、さて。中に論理オペランドがあるのですが、それを読み間違えてしまいました。のとき、それが真実であることがわかります。

- これで終わり?

それなら、デタラメの二乗だ。コードが読めない :)


コードはかなり読みやすくなっています。そんなことはないはずだ。
 

何を意味するのか(anysell order)を解読する必要がないように、注文タイプの識別子を書き出す方が理にかなっているのではないでしょうか。短くても、ずっとわかりやすいと思います。

簡潔さという点では、たしかに解決策にはなりますが、あまり信頼できるものではありません。開発者は、これらの定数の数値が絶対に変化しないことを保証するものではありません。

 
Mathemat:

何を意味するのか(any sell order)を解読する必要がないように、注文タイプの識別子を書き出す方が理にかなっているのではないでしょうか。短くても、ずっとわかりやすいと思います。

簡潔さという点では、たしかにこれは解決策ですが、あまり信頼できるものではありません。開発者は、これらの定数の数値が絶対に変化しないことを保証するものではありません。


それが問題なんです。気の利いたコードを作っても、突然動かなくなることもあり得るのです。
 
TheXpert:

ここに別の例があります :) が、MQLでは正しく動作しそうにありません、C++では動作するでしょう。

for (int i = OrdersTotal(); i--;)
{
   if (!OrderSelect(i - 1, SELECT_BY_POS)) continue;

   //...
}
確認はしていませんが、私自身はそのような書き方はしません。
 
TheXpert:

ええ :) ちょっと大げさでしたね。

ここに別の例があります :) が、MQLで正しく動作することはまずなく、C++で動作します。


これは最適化ではなく、倒錯である...。失礼しました、変態です...。

2つの数値変数の間で、3番目の変数を使わずに値を入れ替えるにはどうしたらいいか、という素敵な小さな課題が浮かんだ。))

 
Vinin:
突然動かなくなる気の利いたコードも作れます。

それが肝心なのですが、このコードはエレガントではありません。この方がエレガントです。

bool IsActiveType(int orderType)
{
   return (type == OP_BUY || type == OP_SELL);
}

bool IsAnySellType(int orderType)
{
   return (type == OP_SELL || type == OP_SELLLIMIT || type == OP_SELLSTOP);
}

{
   if (IsActiveType(OrderType()))
   {
      //...
   }

   if (IsAnySellType(OrderType()))
   {
      //...
   }
}

デニス・オルロフ

これは最適化ではなく、変態だ...。失礼...

私は、2つの数値変数の間で、3番目の変数を使わずに値を入れ替える方法について、素敵な小作業を思い出しました。))

ええ :) そんな感じです。
 
TheXpert:

それが肝心なのですが、このコードはエレガントではありません。こちらはよりエレガントな印象です。

ええ、その通りです。一線級の本体機能は一度もキャンセルされたことがなく、実はとても便利なんです。
 
TheXpert:

それが肝心なのですが、このコードはエレガントではありません。こちらはよりエレガントな印象です。


好きなんです。見た目もきれいです。
 
TheXpert:

それが肝心なのですが、このコードはエレガントではありません。この方がエレガントです。



関数のパラメータを削除するだけで、より複雑な表現が可能になります。パラメータが指定されていない場合は、オーダーの OrderType()から決定し、指定されている場合は、パラメータから決定する。

ここは退屈なんだ :)))