MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1797

 
Artyom Trishkin 可視化フラグが あります。隠す、表示する必要がある。

数日前、そのことを書きました。でも、正しいアドバイスに耳を傾ける人はいないでしょう......?

 
 
Mihail Matkovskij #:
よりコンパクトになりました。

私はプログラマーではなく、スタイルも知りません(書ける範囲で書いています)。

Mihail Matkovskij#:

でも、この機能はユニバーサルを装っているんじゃなかったっけ......?それなら、ひとつ大事なことを忘れていますよ。

const-donは何なのかわからないが、なくても素晴らしく機能する。


Mihail Matkovskij#:

簡単なスクリプトを書いて確認するのが面倒なのでしょうか?オッケーです。あなたのためにやったんです。

おかしいな...。

この関数は"-n "でfalseを生成します。

私はプログラマーでも教師でもありません。ここで聞いて、(知っていれば)答えます。小競り合いはしない。

自分の価値を示したいのなら、間違いを認める、あるいは訂正することを学びなさい。

 
Mihail Matkovskij #:

数日前、そのことを書きました。でも、正しい アドバイスに耳を傾ける人はいないでしょう......?

私も、活発な方が話を聞いてもらえる傾向があることに気づきました。今回はマカー。その結果、一番簡単な問題が数日間解けなかった。

 
Alexey Viktorov #:

私も、活発な方がよく聴かれることに気づきました。今回はマカー。その結果、最も単純な作業が数日間、解決されないという事態が発生した。

アレクセイ、問題はとっくに解決しているのに、なぜこの特殊なオプションが機能しないのか、その理由を知りたかったんだ。
 
MakarFX #:


const - これが何なのかわからないが、なくても問題なく 動作する。

コンストラクタの内部で値が変化しないことが保証されます。

おかしいな...。

を出す機能です。

整理できたと思います。どうしたんですか?

私はプログラマーでもなければ、教師でもない。知っていれば)聞いたり答えたりしています。私 は、自分のアソコを 見せびらかしたいわけではありません。

自分の価値を示したいのなら、自分の間違いを認めるか、それを修正することを学んだほうがいい。

また、質問にも答えています。そして、よくできたコードはどうあるべきかを伝えようとしているのです。そして、私のエゴについて話しているのですか?あなたとオタクトレーダーは 誤解しているようです。私にとっては、プログラミングを知ることが重要なのであって、私の重要性ではない、とすでに上で述べたとおりです

原則的に、自分の意志とは別に、誰も教えてはくれません。しかし、自分のために書かれたのに、気に入らない、合わない、理解できない、というコードは、おそらく他のフォーラムのメンバーにとっても役に立つはずです。だから、そのコードが気に入らなければ、使わなければいい。好きなものを使ってください。

 
MakarFX #:
アレクセイ、問題はとっくに解決しているのに、なぜこの特殊なバリエーションがうまくいかないのか、その理由を知りたかったんだ。

すべてが正常に動作しているのに、正しいバージョンと間違ったバージョンを比較するのではなく、ここで皆の 頭を混乱させるのです。:)

 
законопослушный гражданин #:

はっきり

この関数は最後に決済された注文のロットを返しますが、会計はすべての決済された注文のリストの先頭から始まるということを正しく理解しているかどうか、アドバイスをお願いします。

double GetLotSize()
  {
   double Ls=0;
   datetime t=0;
   int i=OrdersHistoryTotal();
   for(int pos=0; pos<i; pos++)
     {
      if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))
        {
         if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
              {
               if(t<OrderCloseTime()) {t=OrderCloseTime(); Ls=OrderLots();}
              }
           }
        }
     }
   return Ls;
  }

と、そのようにすると、リストの最後からカウントされるのでしょうか?

double GetLotSize()
  {
   double Ls=0;
   datetime t=0;
   int i=OrdersHistoryTotal();
   for(int pos=0; pos>=i; pos--)
     {
      if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))
        {
         if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
              {
               if(t<OrderCloseTime()) {t=OrderCloseTime(); Ls=OrderLots();}
              }
           }
        }
     }
   return Ls;
  }
 
законопослушный гражданин #:

この関数は最後に決済された注文のロットを返しますが、会計はすべての決済された注文のリストの先頭から始まるということを正しく理解しているかどうか教えてください。

ということは、そのようにすれば、リストの最後からカウントされるのでしょうか?

はい
 
законопослушный гражданин #:

この関数は最後に決済された注文のロットを返しますが、会計はすべての決済された注文のリストの先頭から始まるということを正しく理解しているかどうか教えてください。

このようにすると、カウントダウンはリストの最後から行われるのでしょうか?

2つ目のバリエーションは動作しません。リストの末尾からのカウントを行うには、次のようにします。

double GetLotSize()
  {
   double Ls=0;
   datetime t=0;
   int total = OrdersHistoryTotal();
   for(int i = total - 1; i >= 0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
        {
         if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
              {
               if(t<OrderCloseTime()) {t=OrderCloseTime(); Ls=OrderLots();}
              }
           }
        }
     }
   return Ls;
  }