ObjectGetValueByShift ( | 문자열 이름, int shift) |
OBJPROP_PRICE1은 "이동"이 아닙니다... Shift는 값을 가져오려는 막대 번호입니다. 추세선 및 유사한 개체에 적용할 수 있습니다.
이중 tp = ObjectGetValueByShift(TP_P, 0); // TP_P가 개체의 이름을 포함하는 문자열 변수이고 현재 막대에 있는 행의 값을 원한다고 가정합니다.
ObjectGetValueByShift ( | 문자열 이름, int shift) |
OBJPROP_PRICE1은 "이동"이 아닙니다... Shift는 값을 가져오려는 막대 번호입니다. 추세선 및 유사한 개체에 적용할 수 있습니다.
이중 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;
if (OrderType()==OP_BUY) TP_P = BTP;
if (OrderType()==OP_SELL) TP_P = STP;
더블 TP;
tp =(ObjectGetValueByShift(TP_P, OBJPROP_PRICE1)) || (ObjectGet(TP_P, OBJPROP_PRICE1));
-------------------------------------------------- -------------------------------------------------- ----------
그런 다음 이것을 대신 넣었습니다. 당신이 말한 것은 무엇입니까?
-------------------------------------------------- --------
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++)
{
이름 = 개체 이름(j);
Print(j, "객체 - ", 이름);
}
if(ObjectType(이름) == OBJ_TREND && 이름 == "추세선1-m30")
{
price1 = ObjectGetValueByShift(이름, 0);
}
if(ObjectType(이름) == OBJ_TREND && 이름 == "추세선2-m30")
{
price2 = ObjectGetValueByShift(이름, 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 ); } }
HI 누구든지 이것을 도울 수 있습니다. 수평선 이나 추세선에서 가격 값을 얻는 ea가 있습니다. 그러나 다음과 같은 코드가 있지만 어느 값도 선택하지 않습니다. Objectgetvaluebyshift를 제거하면 수평선 가격이 선택되고 그 반대의 경우도 마찬가지입니다. 하지만 두 가지를 모두 인식하고 내 차트(트랜드 또는 h_line)에 있는 라인의 값을 가져오기 위해 필요합니다. 아마도 누군가가 약간의 코드를 게시하여 내가 무엇을 해야 하는지 이해할 수 있을 것입니다.
감사해요.
tp =(ObjectGetValueByShift(TP_P, OBJPROP_PRICE1)) || (ObjectGet(TP_P, OBJPROP_PRICE1));