커뮤니티
주간고가 저가
2016-08-16 12:25:08
115
글번호 101023
Input : N(Numeric);
var : cnt(0);
array : WH[99](0);
if DayOfWeek(date) < DayOfWeek(date)[1] then{
WH[0] = H;
for cnt = 1 to 20{
WH[cnt] = WH[cnt-1][1];
}
}
if H > WH[0] then{
WH[0] = H;
}
WeekHigh = WH[N];
===============================
알려주신데로 사용자 함수에 복사해서 넣으니 선언되지 않았다고 에러가 나네요.
제가 초보라서 그냥 예제로 하나 알려주시면 응용해서 해보겠습니다.
예를들어
일간차트상에 주간차트의 60이평과 120이평을 그려놓고, 골든크로스가나면 그 주일의
월요일부터 금요일까지의 최고가와 최저가에 선을 그어라....
========================================
이건 다른 질문입니다.
장기 120선과 240선이 정배열이고, 5선이 10선을 골든크로스할때마다 고저가에 표시를 합니다.
그런데 그 지표값중에 가장 높은값을 따로 찾아서 표시하고싶어요.
예를들어 선물이 250 ,252, 251포인트,....순으로 골든크로스가 발생했다면.....
1.
그중에 가장 높은 가격에서 크로스한 252포인트에서의 고가와 저가를 찾으려면......
max와 highest를 써봤는데 생각처럼 안되네요.
2.
지난번의 120과 240의 크로스는 제외하고, 이번에 크로스한 상태에서 발생한 지표값중에
가장 높은값을 찾는겁니다. 뭐라고 써야하나요?
뭐를 잘못썻는지 작년에 260포인트에서 크로스한거 이후로는 표시가 안나오네요.
답변 1
예스스탁 예스스탁 답변
2016-08-16 18:06:17
안녕하세요? 예스스탁입니다
문의하신 내용 답변드립니다.
> 한건 님이 쓴 글입니다.
> 제목 : 주간고가 저가
> Input : N(Numeric);
var : cnt(0);
array : WH[99](0);
if DayOfWeek(date) < DayOfWeek(date)[1] then{
WH[0] = H;
for cnt = 1 to 20{
WH[cnt] = WH[cnt-1][1];
}
}
if H > WH[0] then{
WH[0] = H;
}
WeekHigh = WH[N];
===============================
알려주신데로 사용자 함수에 복사해서 넣으니 선언되지 않았다고 에러가 나네요.
제가 초보라서 그냥 예제로 하나 알려주시면 응용해서 해보겠습니다.
예를들어
일간차트상에 주간차트의 60이평과 120이평을 그려놓고, 골든크로스가나면 그 주일의
월요일부터 금요일까지의 최고가와 최저가에 선을 그어라....
========================================
===> 사용자함수 이름에 weekhigh 와 weekLow로 이름을 지정해 주셔야 합니다.
그리고 예의 주간 60이평과 120이평은 타주기 참조기능으로 기본차트 하단에 data2로 주간차트를 적용한 이후에 아래 지표식을 적용하시면 됩니다.
//지표식 작성후 지표속성창에서 차트표시를 '점그래프' 굵기를 굵은색으로 지정해 주셔야 합니다.
var1 = data2(ma(C,60));
var2 = data2(ma(C,120));
if CrossUp(var1, var2) Then
Condition1 = true;
Else
Condition1 = false;
if Condition1 == true Then {
var3 = weekHigh(0);
var4 = weekLow(0);
plot1(var3);
plot2(var4);
}
이건 다른 질문입니다.
장기 120선과 240선이 정배열이고, 5선이 10선을 골든크로스할때마다 고저가에 표시를 합니다.
그런데 그 지표값중에 가장 높은값을 따로 찾아서 표시하고싶어요.
예를들어 선물이 250 ,252, 251포인트,....순으로 골든크로스가 발생했다면.....
1.
그중에 가장 높은 가격에서 크로스한 252포인트에서의 고가와 저가를 찾으려면......
max와 highest를 써봤는데 생각처럼 안되네요.
2.
지난번의 120과 240의 크로스는 제외하고, 이번에 크로스한 상태에서 발생한 지표값중에
가장 높은값을 찾는겁니다. 뭐라고 써야하나요?
뭐를 잘못썻는지 작년에 260포인트에서 크로스한거 이후로는 표시가 안나오네요.
=> 두개의 질문이 동일한 내용으로 판단되는데, 특정 조건이 만족할 때마다 계산된 지표값과 이전에 저장되어 있는 지표값을 비교해서 큰 값을 계속 저장해 나가면 될것 같습니다.
식은 아래와 같은 방법으로 작성하시면 됩니다.
if ma(C,120) > ma(C,240) and CrossUp(ma(C,5), ma(C,20)) Then {
Condition1 = true;
var1 = h;
}
if Condition1 == true and var1 > var2 Then
var2 = var1;
if ma(C,120) < ma(C,240) Then
var2 = 0;
if ma(C,120) > ma(C,240) then
plot1(var2);
즐거운 날 되세요.
다음글
이전글