ObjectGetValueByShift() | 文字列名, int シフト) |
OBJPROP_PRICE1 は "シフト" ではありません...シフトは値を取得したいバー番号です -- トレンドラインや類似のオブジェクトに適用できます。
double tp = ObjectGetValueByShift( TP_P, 0); // TP_P はオブジェクトの名前を含む文字列変数で、現在のバーでのラインの値が必要であると仮定しています。
ObjectGetValueByShift() | 文字列名, int シフト) |
OBJPROP_PRICE1 は "シフト" ではありません...シフトは値を取得したいバー番号です -- トレンドラインや類似のオブジェクトに適用できます。
double tp = ObjectGetValueByShift( TP_P, 0); // TP_P はオブジェクトの名前を含む文字列変数で、現在のバーでのラインの値が必要であると仮定しています。
私はあなたが説明したことを試してみました。それは動作するように見えません。他の情報は素晴らしいだろう。
gavin:
I have tried what you have explianed. It doesnt seen to work. Any other info would be great.
トレンドラインとh_lineの両方から値を得ることができるのでしょうか?
あなたが何をしたのか、私たちにはわかりません。
これは私が持っていたものです。
--------------------------------------------------------
文字列TP_P;
もし(OrderType()==OP_BUY)TP_P = BTP。
if (OrderType()==OP_SELL) TP_P = STP; if (OrderType()==OP_SELL) TP_P = STP;
double tp;
tp =(ObjectGetValueByShift( TP_P, OBJPROP_PRICE1)) || (ObjectGet( TP_P, OBJPROP_PRICE1))|| (ObjectGet( TP_P, OBJPROP_PRICE1));
-----------------------------------------------------------------------------------------------------------------
その後、私は代わりにこれを入れて、あなたが言ったことyeah?
----------------------------------------------------------
tp = ObjectGetValueByShift( TP_P,0);
助っ人は?
if (ObjectType(TP_P) == OBJ_TREND) tp = ObjectGetValueByShift(TP_P, shift); else tp = ObjectGEt(TP_P, OBJPROP_PRICE1)
今見ると、とてもシンプルですね。助けてくれて本当にありがとう。私が望んでいたとおりになりました。ありがとうございます。
こんにちは。
トレンドラインから価格を取得するために以下のようなコードを持っています。これは動作しません。何か手助けがあればお願いします。
int obj_total = ObjectsTotal();
文字列名
for(int j = 0; j<obj_total; j++)
{
name = ObjectName(j);
Print(j, "オブジェクト - ", 名前);
if(ObjectType(name) ==OBJ_TREND&& name == "Trendline1-m30")
{
価格1 = ObjectGetValueByShift(name, 0);
}
if(ObjectType(name) == OBJ_TREND && name == "トレンドライン2-m30")
{
価格2 = ObjectGetValueByShift(name, 0);
}
こんにちは、コードを投稿するときはSRC ボタンを使ってください。
黄色で 示したコードはすべて「for」ループの外側にあります。
そのため、'name'の値は常に最終的なオブジェクトの名前になります。
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); } if(ObjectType(name) == OBJ_TREND && name == "Trendline2-m30") { price2 = ObjectGetValueByShift(name, 0); }
おそらく、これを試してみてください(price1 と price2 はすでにどこかで宣言されていると仮定します)。
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); } if(ObjectType(name) == OBJ_TREND && name == "Trendline2-m30") { price2 = ObjectGetValueByShift(name, 0); } }

- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
HI can anyone help with this.私は水平線 またはトレンドラインから価格値を取得するEAを持っています。しかし、私は次のようなコードを持っていますが、それはどちらの値も拾うことはできません。もし私がObjectgetvaluebyshiftを削除したら、水平線の価格を拾いますし、その逆も同様です。しかし、両方の値を認識し、チャート上のどのライン(trandまたはh_line)からでも値を取得する必要があります。多分、誰かが何をすべきか理解できるように、ちょっとしたコードを投稿してくれるでしょう。
ありがとうございます。
tp =(ObjectGetValueByShift( TP_P, OBJPROP_PRICE1)) =(ObjectGetValueByShift( TP_P, OBJPROP_PRICE1))|| (ObjectGet( TP_P, OBJPROP_PRICE1));