Objectgetとobjectgetvaluebyshiftに関する質問 - ページ 3

 
Rajakumar1:

よろしくお願いします。まずどこを見ればいいのか?Metaエディタでは警告のみ表示されます。エラーはありません。


まあ、インジケーターが動いている/期待通りのトレンドラインを描いているのであれば、EAに集中しましょう。

print文が表示されない場合は、オブジェクトが存在しないことになります。EAを実行すると同時に、チャートにインジケータを追加していますか?

チャート上にラインが表示されないと、EAが動作しません。

 
honest_knave:


まあ、インジケーターが動いている/期待通りのトレンドラインを描いているのであれば、EAに集中しましょう。

print文が表示されない場合は、オブジェクトが存在しないことになります。EAを実行すると同時に、チャートにインジケータを追加していますか?

チャート上にラインが表示されないと、EAが動作しません。

ありがとうございます。インジケータは正常に動作しています。オブジェクトがEAに表示されないのが不思議です。チャートオブジェクトリストには トレンドラインは全て表示されています。
 
Rajakumar1:
ありがとうございました。インジケータは正常に動作しています。オブジェクトがEAに表示されないのが不思議です。チャートオブジェクトリストには トレンドラインは全て表示されています。


これを全部入れ替えてみてください。

   int obj_total = ObjectsTotal();
   string name;
   for(int j = 0; j<obj_total; j++)
   {
   name = ObjectName(j);
   Print(j, "Object - ", name);
   
      if(ObjectType(name) == OBJ_TREND && name == "Trendline1-m30")
      {
       price1 = ObjectGetValueByShift(name, 0);
       Print("price1:  ", price1);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline2-m30")
      {
       price2 = ObjectGetValueByShift(name, 0);
       Print("price2:  ", price2);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline3-m30")
      {
       price3 = ObjectGetValueByShift(name, 0);
       Print("price3:  ", price3);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline4-m30")
      {
       price4 = ObjectGetValueByShift(name, 0);
       Print("price4:  ", price4);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline5-m30")
      {
       price5 = ObjectGetValueByShift(name, 0);
       Print("price5:  ", price5);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline6-m30")
      {
      price6 = ObjectGetValueByShift(name, 0);
      Print("price6:  ", price6);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline7-m30")
      {
       price7 = ObjectGetValueByShift(name, 0);
       Print("price7:  ", price7);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline8-m30")
      {
       price8 = ObjectGetValueByShift(name, 0);
       Print("price8:  ", price8);
      }
     }

これを使って。

   string name = "Trendline1-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price1 = ObjectGetValueByShift(name, 0);

   name = "Trendline2-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price2 = ObjectGetValueByShift(name, 0);

   name = "Trendline3-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price3 = ObjectGetValueByShift(name, 0);

   name = "Trendline4-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price4 = ObjectGetValueByShift(name, 0);
   
   name = "Trendline5-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price5 = ObjectGetValueByShift(name, 0);
   
   name = "Trendline6-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price6 = ObjectGetValueByShift(name, 0);   

   name = "Trendline7-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price7 = ObjectGetValueByShift(name, 0);
   
   name = "Trendline8-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price8 = ObjectGetValueByShift(name, 0);
 
honest_knave:


これを全部入れ替えてみてください。

これで。

ありがとうございます。印刷機能で 価格が印刷されません。チャートオブジェクトリストには全てのトレンドラインが表示され、チャート内にも表示されています。最初のトレンドラインの後に「Print("price1: ", price1); 」を追加してみました。
 
Rajakumar1:
ありがとうございます。印刷機能で 価格が印刷されません。チャートオブジェクトリストには全てのトレンドラインが表示され、チャート内にも表示されています。最初のトレンドラインの後に「Print("price1: ", price1);」を追加しました。


はい、私が提供したコードは、問題がある場合にのみ印刷します。

Expertsのログに何かメッセージは出ていますか?

例:「Error: cannot find Trendline1-m30」?

 
Rajakumar1:
ありがとうございます。印刷機能で 価格が印刷されません。チャートオブジェクトリストには全てのトレンドラインが表示され、チャート内にも表示されています。最初のトレンドラインの後に「Print("price1: ", price1); 」を追加してみました。

ありがとうございます。現在、動作しています。問題は自動売買が無効になっていることです。

 
Rajakumar1:

ありがとうございます。現在、動作しています。問題は、自動売買が無効になっていることです。


 
honest_knave:


はい、私が提供したコードは、問題がある場合にのみ表示されます。

Expertsのログに何かメッセージは出ていますか?

例:「Error: cannot find Trendline1-m30」?

ありがとうございます。現在、動作しています。問題は、自動売買を無効にした場合です。
 
Rajakumar1: 現在、動作しています。問題は自動売買を無効にした場合です。
  1. ご質問の問題は、自動売買の無効化とは関係ありません。
  2. リターンコード(OrderSend
  3. )を
  4. チェックして原因を探ってください
  5. 関数の戻り値とは
  6. 何ですか?
  7. どのように使用するのですか?-MQL4フォーラムと MQL4プログラムにおけるよくあるエラーとその回避方法 - MQL4 Articles
 
こんにちは、私はダブルiCustom(Symbol(), 0, jebatfx-breakout-trendline, Price_close, 0, 1)でインディケータを呼び出したいのですが、どうすればいいですか?

私のEAで高トレンドラインと低トレンドラインを取得するために。

価格がそれをブレイクすると、取引を開始します。

私は今まで私のEAを得たが、私は高値と安値を取得することはできません。


ObjectGetValueByShift()を使って定義すればいいのでしょうか?ありがとうございます。