이 함수는 현재 차트의 기울기에 따라 추세선의 OBJ_TRENDBYANGLE 객체를 설정합니다. cl - TREND LINE 개체의 색상입니다. 필수 매개변수입니다. nm - 개체의 이름입니다. 기본값을 전달할 때 - "" 현재 막대의 여는 시간이 이름으로 사용됩니다. t1 - 개체 설치 시간의 첫 번째 좌표입니다. 기본값은 0 - 열 번째 막대가 열리는 시간입니다. p1 - 객체 설치 가격의 첫 번째 좌표. 기본값은 0 - 낮은 10번째 막대입니다. t2 - 개체 설치 시간의 두 번째 좌표입니다. 기본값은 0 - 현재 막대의 여는 시간입니다. p2 - 물체의 설치 가격의 두 번째 좌표. 이 매개변수는 일종의 스위치입니다. 0이 아닌 값은 이 함수를 SetTLine() 함수와 동일시합니다. 즉, 추세선은 시간/가격 좌표 쌍을 사용하여 그려지고 추세선의 기울기 각도 값은 무시됩니다. 기본값은 0입니다. 기울기를 기반으로 추세선을 만듭니다. - 경사각(도). 기본값 - 0 - 수평선. ry - 플래그 속성 RAY. 기본값은 False입니다. st - 선 스타일. 유효한 값은 STYLE_SOLID(기본값), STYLE_DASH, STYLE_DOT, STYLE_DASHDOT, STYLE_DASHDOTDOT입니다. wd - 선 두께. 기본값은 1입니다.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 12.10.2007 |//| Описание : Установка объекта OBJ_TRENDBYANGLE трендовая линия по углу |//+----------------------------------------------------------------------------+//| Параметры: |//| cl - цвет линии |//| nm - наименование ( "" - время открытия текущего бара) |//| t1 - время открытия бара ( 0 - Time[10] |//| p1 - ценовой уровень ( 0 - Low[10]) |//| t2 - время открытия бара ( 0 - время открытия текущего бара) |//| p2 - ценовой уровень ( 0 - по углу) |//| an - угол ( 0 - по умолчанию) |//| ry - луч (False - не луч) |//| st - стиль линии ( 0 - простая линия) |//| wd - ширина линии ( 1 - по умолчанию) |//+----------------------------------------------------------------------------+void SetTLineByAngle( color cl, string nm= "" ,
datetime t1= 0 , double p1= 0 , datetime t2= 0 , double p2= 0 ,
double an= 0 , bool ry=False, int st= 0 , int wd= 1 ) {
if (nm== "" ) nm=DoubleToStr(Time[ 0 ], 0 );
if (t1<= 0 ) t1=Time[ 10 ];
if (p1<= 0 ) p1=Low[ 10 ];
if (t2<= 0 ) t2=Time[ 0 ];
if ( ObjectFind (nm)< 0 ) ObjectCreate (nm, OBJ_TRENDBYANGLE , 0 , 0 , 0 );
ObjectSet(nm, OBJPROP_TIME1 , t1);
ObjectSet(nm, OBJPROP_PRICE1, p1);
ObjectSet(nm, OBJPROP_TIME2 , t2);
if (p2> 0 ) ObjectSet(nm, OBJPROP_PRICE2, p2);
else ObjectSet(nm, OBJPROP_ANGLE , an);
ObjectSet(nm, OBJPROP_COLOR , cl);
ObjectSet(nm, OBJPROP_RAY , ry);
ObjectSet(nm, OBJPROP_STYLE , st);
ObjectSet(nm, OBJPROP_WIDTH , wd);
}
표시기 버퍼, 앞으로 이 솔루션은 직선뿐만 아니라 이동 평균선 등에도 사용될 것입니다.
당신이 끝내고 싶은 것을 명확히 할 수 있습니까?
평균의 기울기를 측정하여 -35도처럼 표시하고 싶습니다.
그래프에서 -35°는 무엇입니까? 스케일이 바뀌면?
당신이 끝내고 싶은 것을 명확히 할 수 있습니까?
위의 예에서, 히스토리의 전체 길이에 걸쳐 표시기 버퍼 를 사용하여 선이 그려집니다.
마지막 20개 막대로만 제한해야 합니다. 저것들. 새 막대가 나타날 때 오른쪽에 선이 그려지고 왼쪽에 짧아져서 길이가 항상 20개 막대와 같도록 합니다.
내가 코드에 무엇을 쓰고 있는지 완전히 이해하지 못하지만 화면에는 항상 같은 숫자가 표시됩니다. 커서를 선으로 가져갔지만 각도가 어떻게 변하는지 알 수 있습니다.
ObjectDelete("TremdLineAverage");
ObjectCreate("TremdLineAverage", OBJ_TRENDBYANGLE ,0,0,0,0,0,0,0); // ------------------------- 추세선 2 좌표
ObjectSet("TremdLineAverage", OBJPROP_WIDTH, HirinaUgolAverage); // ---------------------------------------- 너비
ObjectSet("TremdLineAverage", OBJPROP_COLOR, colUgolAverage); // --------------------------------------------- 색깔
ObjectSet("TremdLineAverage", OBJPROP_TIME1, 시간[1]); // ------------------------------------------- 1 시간 좌표
ObjectSet("TremdLineAverage", OBJPROP_TIME2, 시간[0]); // ------------------------------------------- 1 시간 좌표
ObjectSet("TremdLineAverage", OBJPROP_PRICE1,UgolAverage1_1); // ----------------------- 1 가격 좌표
ObjectSet("TremdLineAverage", OBJPROP_PRICE2,UgolAverage1_0); // ----------------------- 두 번째 가격 좌표
ObjectSet("TremdLineAverage", OBJPROP_RAY, 15); 각도=15;
ObjectCreate("TremdLineAverage", OBJ_TRENDBYANGLE ,0,0,0,0,0,0,0); // ------------------------- 추세선 2 좌표
ObjectSet("TremdLineAverage", OBJPROP_WIDTH, HirinaUgolAverage); // ---------------------------------------- 너비
ObjectSet("TremdLineAverage", OBJPROP_COLOR, colUgolAverage); // --------------------------------------------- 색깔
ObjectSet("TremdLineAverage", OBJPROP_TIME1, 시간[1]); // ------------------------------------------- 1 시간 좌표
ObjectSet("TremdLineAverage", OBJPROP_TIME2, 시간[0]); // ------------------------------------------- 1 시간 좌표
ObjectSet("TremdLineAverage", OBJPROP_PRICE1,UgolAverage1_1); // ----------------------- 1 가격 좌표
ObjectSet("TremdLineAverage", OBJPROP_PRICE2,UgolAverage1_0); // ----------------------- 두 번째 가격 좌표
ObjectSet("TremdLineAverage", OBJPROP_ANGLE, 15); 각도=15;
감사합니다 통찰력.
준비 기능, 사용해 보세요.
SetTLineByAngle() 함수.
이 함수는 현재 차트의 기울기에 따라 추세선의 OBJ_TRENDBYANGLE 객체를 설정합니다.
cl - TREND LINE 개체의 색상입니다. 필수 매개변수입니다.
nm - 개체의 이름입니다. 기본값을 전달할 때 - "" 현재 막대의 여는 시간이 이름으로 사용됩니다.
t1 - 개체 설치 시간의 첫 번째 좌표입니다. 기본값은 0 - 열 번째 막대가 열리는 시간입니다.
p1 - 객체 설치 가격의 첫 번째 좌표. 기본값은 0 - 낮은 10번째 막대입니다.
t2 - 개체 설치 시간의 두 번째 좌표입니다. 기본값은 0 - 현재 막대의 여는 시간입니다.
p2 - 물체의 설치 가격의 두 번째 좌표. 이 매개변수는 일종의 스위치입니다. 0이 아닌 값은 이 함수를 SetTLine() 함수와 동일시합니다. 즉, 추세선은 시간/가격 좌표 쌍을 사용하여 그려지고 추세선의 기울기 각도 값은 무시됩니다. 기본값은 0입니다. 기울기를 기반으로 추세선을 만듭니다.
- 경사각(도). 기본값 - 0 - 수평선.
ry - 플래그 속성 RAY. 기본값은 False입니다.
st - 선 스타일. 유효한 값은 STYLE_SOLID(기본값), STYLE_DASH, STYLE_DOT, STYLE_DASHDOT, STYLE_DASHDOTDOT입니다.
wd - 선 두께. 기본값은 1입니다.