どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 822

 
nikelodeon:

コードについての質問です...。

変数numの数だけループを実行させるには?

何かアイデアはありますか?

ループ実行中に num が変化する場合、ループの繰り返し回数はどの値を取るべきでしょうか?
 

numが0になるようにしたい場合は、whileを使用します。


num = 1;
while (num != 0){
 if(Close[z+1]<Close[z+3]) {num=num+1;
         
                           } else  {num=0;}
 }
 
よし、これ以上は必要ない...。なんとなくわかったような...。
 
fedor9932:
ありがとうございます、見てみます。
 

成行注文の出し方は?

void OnStart()
{
//---

// オープニング BUY
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point);
return;

}


OrderSend'の警告 返り値を確認する必要があります。

 
sirurik:

成行注文を行うにはどうすればよいですか?


戻り値'OrderSend'をチェックする必要があります。

まあ、こんな感じで、最低限チェックは必要です。

void OnStart()
  {
//---

                                          // Открытие BUY
      if(OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point)<1)
      Print("Попытка торговать завершилась ошибкой №", GetLastError());
   }
 

これが正しいのか間違っているのか分かりませんが、スクリプトは動作します。

int OnStart()// Void の代わりに int
{
//---

// 買いを開く
int check =OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-150*Point,Bid+150*Point); //変数追加 int check= ; ブローカーが5桁なので、ストップロスと テイクを15から150に変更
return(check)です。//追加したチェックを返す

}

600以上のビルドで本当に何が変わったのか、どこにも書いてないんです。新しいMetaeditorに適応させるための情報も見当たりません。旧MQL4から新MQL4への対応について、何か情報をお持ちの方はいらっしゃいますか? ぜひ教えてください)

 
sirurik:

これが正しいのか間違っているのか分かりませんが、スクリプトは動作します。


600以上のビルドで本当に何が変わったのか、どこにも書いてないんです。また、新しいMetaeditorにどのように適応させればいいのかわかりません。旧MQL4から新MQL4への対応について、何か情報をお持ちの方は、ぜひ教えてください。)

これは、スクリプトでも可能です。

構造体やクラスなどのOOPを本当に追加したのです。また、異なるタイプのプログラムのための別々のタイプの特別な関数、以前はそれはすべてのタイプのためのint start()だった、現在はvoid (may beint)OnStart() - スクリプト用、void OnTick() - Expert Advisors用、int OnCalculate() - インディケータ用。また、構文には他にも細かいものがたくさんあり、それを使ったり使わなかったり、昔の書き方を使ったりすることができます。

新しいビルドに含まれるよくできたコードのほとんどは、適応させる必要がありません。読み書きができない場合、特にインジケータでは配列の オーバーランのエラーを修正する必要があることがほとんどです。

 
MT4がデュアルモニターモードに対応しているかどうか教えてください。
 
なぜ4202は(The object doesn't exist)と出てしまうのか、教えてください。存在しないのが正しい......作らないといけないのに、存在しない!?それで何ができるのか?それとも、私がどこかで失敗したのか?
//+------------------------------------------------------------------+
 bool ArrowDownCreate()
 {
       if(!ObjectCreate(ChartID(),"Продажа",OBJ_ARROW_DOWN,0,SignalBarsTime,Hi2))
          {
            Print(__FUNCTION__,
                ": не удалось создать знак \"Стрелка вниз\"! Код ошибки = ",GetLastError());
              return(false);
          }
        ObjectSet("Продажа",OBJPROP_ANCHOR,ANCHOR_BOTTOM);
        ObjectSet("Продажа",OBJPROP_COLOR,Red);
        ObjectSet("Продажа",OBJPROP_WIDTH,5);

     return(true);
 }
//+------------------------------------------------------------------+
 bool ArrowUpCreate()
 {
       if(!ObjectCreate(ChartID(),"Покупка",OBJ_ARROW_UP,0,SignalBarsTime,Lo2))
          {
            Print(__FUNCTION__,
                ": не удалось создать знак \"Стрелка вверх\"! Код ошибки = ",GetLastError());
              return(false);
          }
        ObjectSet("Покупка",OBJPROP_ANCHOR,ANCHOR_TOP);

        ObjectSet("Покупка",OBJPROP_COLOR,Green);

        ObjectSet("Покупка",OBJPROP_WIDTH,5);

     return(true);
}
//+------------------------------------------------------------------+