[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 81

 
artmedia70:

中括弧を正しく理解したのなら




PlaySound("alert.wav"); を実行した後、以下のifが実行されなくなるのでは?

if (1<2) 
{
   if(2<3)
      {
      if (3<4) PlaySound("alert.wav");  
           { 
            if (X)....
                {
                    if (Y)
                }
            }
       }
}

 
charter:

インジケーターの値が減少しているときは赤色に、増加しているときは緑色に点灯します。


本当に...とてもシンプルです)ありがとうございました。
 
Stomatolog:
こんにちは、皆さん、私の質問について助けてくださいませんか?MQL4は初めてで、EAを書いているのですが、新しいティックごとにディールを開く のを避けるために、int total=OrdersTotal();total<1書く必要が ありました。EAがインストールされているすべての通貨ペアで取引を開始する方法。ま た、1つの通貨ペアで複数の 取引を開くことも可能です。

毎ティックごとに開くのではなく、EAをより高速に最適化するために、私はこのデザインをよく使っています。

datetime t;                     // переменная для запоминания значения времени
int start()
{
  if (t == Time[0]) return;     // если "старое" время и текущее совпадают, выходим из start
  else t = Time[0];             // иначе присвоим переменной текущее время

こうすることで、新しいバーが表示されたときに、コードが一度実行されるようになります。

注文にMagicNumberを使用する方法を読んで、total < 1を 使用すると、EAが各通貨ペアと1つの通貨ペアで、異なるウィンドウで注文を開くことができるようになります。サンプルはこちらで ご覧いただけます。

 
lottamer:


PlaySound("alert.wav"); が実行された後、以下のifはもう実行されないのでしょうか?

if (1<2) 
{
   if(2<3)
      {
      if (3<4) PlaySound("alert.wav");  
           { 
            if (X)....
                {
                    if (Y)
                }
            }
       }
}

あなたのコードは間違っています。開き括弧は演算子の前であって、後であってはならない。

//+----------------------------------------------------------------------------+
if (1<2) {                                // Если один меньше два и ...
   if(2<3) {                              // ... два меньше три, ...
      if (3<4) PlaySound("alert.wav");    // Если три меньше четыре - врежем рок в этой дыре ... (С), 
                                          // Далее пойдём проверять остальные условия:
      if (4<5)                            // Если четыре меньше пять и ...
      if (5<6) Print("Истина");           // ... пять меньше шесть - верно, блин...
      }
   }
//+----------------------------------------------------------------------------+

Sound` と Print` を含むブロックは、1 が 2 よりも小さく、かつ 2 が 3 よりも小さい場合にのみ実行されます。3 が 4 よりも小さい場合、サウンドが実行されます。
ただし、4が5より小さく、5が6より小さい場合にもPrintは実行される

 
artmedia70:

あなたのコードは間違っています。開き括弧は演算子の前であって、後であってはならない。

SoundとPrintのブロックは、1が2より小さく、2が3より小さい場合にのみ実行されます。3 が 4 よりも小さい場合、サウンドが実行されます。
ただし、4が5より小さく、5が6より小さい場合にもPrintは実行される



4>5 , 5<6 であれば、TRU-FOLSの結果に関係なく3つとも実行されるので、プリントはまだ実行されると思われます。
 
と、グローバルに使用するローカル変 数を導出することは可能でしょうか?
 
lottamer:

4>5 , 5<6 ならば、このエントリでも Print は実行されるようです。なぜなら、マシンは TRU-FOLS の結果に関係なく、3つの if をすべて実行するからです。
(4<5)が真であれば、次の行が実行される: if(5<6), but ....if (4<5) が偽であれば、その印字に沿った次の if () は処理されず、if (2<3) から閉じ括弧に移行します。
 
lottamer:
が、ローカル変数をグローバルに使用するために推論することは可能なのでしょうか?
論理が破綻していないことを確認すれば、可能です。1つのグローバル変数と 同じ名前のローカル変数が2つ以上(それぞれ独自の関数で宣言されている)存在することがあります。注意深く、相手の視線に気を配る必要があります。
 
iCustom()を使って、あるインディケータを他のインディケータに正しくアタッチするにはどうしたらいいですか?
8つのインジケータ配列がすべて埋まっているインジケータがあります。2番目のインジケータを正しく作成し、1つのインジケータ配列に最初のインジケータからのカーブを描くようにするにはどうしたらよいでしょうか。
両指標とも#property indicator_chart_window.
最も明白な説明は、2つのリンクされた指標のコードの形式でのアナログです。
よろしくお願いします!!!
 
Leo59:
iCustom()を使って、あるインディケータを他のインディケータに正しくアタッチするにはどうしたらいいですか?
8つのインジケータ配列がすべて埋まっているインジケータがあります。2番目のインジケータを正しく作成し、1つのインジケータ配列に最初のインジケータからのカーブを描くようにするにはどうしたらよいでしょうか。
両指標とも #property indicator_chart_window.
最も明白な説明は、2つのリンクされた指標のコードの形式でのアナログです。
よろしくお願いします!!!

2番目のインジケータのバッファに、行を表示したい1番目のインジケータのバッファを読み込みます。