예스스탁
예스스탁 답변
2019-10-24 09:42:06
안녕하세요
예스스탁입니다.
1
Plot1( NthHighest (1, 몸통길이,40) , "몸통의길이") ; // 타주기의 가장긴 몸통
plot2( NthHighest(1,몸통중심가격,40) , "몸통중심가격") ; // plot1 몸통의 가운데 지점 가격
배열변수는 변수뒤에 [ ]로 공간번호를 반드시 지정하셔야 합니다.
또한 배열변수를 highest등의 함수에 쓰셔도 해당 0~99의 공간에서 찾는 것은 아닙니다.
2
당일 봉을 몇개씩 구분해서 다른 주기의 값을 계산하는 것은 정확한 방법이 아닙니다.
거래가 많아 거래가 없는 시간대가 없는 종목에서는 유효하지만
거래가 없는 시간대가 생기면 n개씩 구분한 봉으로 타주기의 값을 계산할수 없습니다.
3
input : ntime(15),P(5);
var : S1(0),D1(0),TM(0),TF(0),j(0),HR(0),HP(0),HM(0);
Array : MinOpen[100](0),MinHigh[100](0),MinLow[100](0),MinClose[100](0), 몸통길이[100](0),몸통중심가격[100](0) ;
var1 = ma(C,P);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TimeToMinutes(stime)%ntime;
if bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1])Then
{
For j = 98 DownTo 0
{
MinOpen[j+1] = MinOpen[j];
MinHigh[j+1] = MinHigh[j];
MinLow[j+1] = MinLow[j];
MinClose[j+1] = MinClose[j];
몸통길이[j+1] = 몸통길이[j];
몸통중심가격[j+1] = 몸통중심가격[j];
}
MinOpen[0] = O;
MinHigh[0] = H;
MinLow[0] = L;
}
If MinHigh[0] > 0 and MinHigh[0] < H Then
MinHigh[0] = H ;
If MinLow[0] > 0 and MinLow[0] < L Then
MinLow[0] = L ;
MinClose[0] = C ;
몸통길이[0] = MinClose[0]-MinOpen[0] ;
몸통중심가격[0] = (MinClose[0]+MinOpen[0])/2;
HR = 몸통길이[0];
HP = 몸통중심가격[0];
HM = var1;
For j = 1 to 99
{
if 몸통길이[j] > HR Then
{
HR = 몸통길이[j];
HP = 몸통중심가격[j];
HM = var1[j];
}
}
plot1(HR,"최대몸통길이");
plot2(HP,"최대몸통중심가");
plot3(HM,"최대몸통이평");
}
즐거운 하루되세요
> 지스카드 님이 쓴 글입니다.
> 제목 : 도움을 부탁드리겠습니다.
> ㅠㅠ 도움을 부탁드립니다.
실행하면 예스트레이더가 다운되버립니다.
분봉차트에서 타주기를 계산합니다.
그 타주기의 가장긴 <양봉>의 <몸통길이>를 배열변수에 모두 담습니다.
그런다음
몸통길이가 가장 긴값의 2분의1지점에 해당하는 가격을 몸통중심가에 담고 싶습니다.
그 가장긴 몸통길이와 몸통중심가를 지표로 표현합니다.
(이게 더 큰게 나타나면 갱신되면 좋겠습니다)
마지막으로!!
그 긴 몸통길이의 몸통중심가....의 바<위치>에서,
타주기가 아닌 현재차트주기의 5이평값을 plot3 으로 나타내고 싶습니다.
########
## 주기 변경용
######
Input : mm(15) ;
var : j(0) , 계산주기(0) ;
Array : MinOpen[100](0) , MinHigh[100](0), MinLow[100](0), MinClose[100](0), 몸통길이[100](0),몸통중심가격[100](0) ;
If mm >= BarInterval Then {
계산주기 = mm/BarInterval ;
}
If DayIndex()%계산주기 == 0 Then {
For j = 98 DownTo 0 {
MinOpen[j+1] = MinOpen[j] ;
MinHigh[j+1] = MinHigh[j] ;
MinLow[j+1] = MinLow[j] ;
MinClose[j+1] = MinClose[j] ;
}
MinOpen[0] = O ;
MinHigh[0] = H ;
MinLow[0] = L ;
}
If MinHigh[0] < H Then MinHigh[0] =H ;
If MinLow[0] > L or MinLow[0]==0 Then MinLow[0] = L ;
MinClose[0] = C ;
// 몸통길이는 종가 -시가
For j = 98 DownTo 0 {
몸통길이[j ] = MinClose[j]-MinOpen[j] ;
몸통중심가격[j] = 몸통길이[j]*0.5 + MinOpen[j] ;
}
// 몸통길이중 가장긴거를 찾아서
// 몸통중심가격은 중심봉을 반 가르는 가격
Plot1( NthHighest (1, 몸통길이,40) , "몸통의길이") ; // 타주기의 가장긴 몸통
plot2( NthHighest(1,몸통중심가격,40) , "몸통중심가격") ; // plot1 몸통의 가운데 지점 가격
// 추가요청 plot2 지점에서 몸통중심가격에서의 타주기가 아닌 현재차트인( 3분봉의) 5 이평선 수치를 plot3으로 표현하고 싶습니다.
아아....지금 너무 신나서 막 웃음이 나옵니다..
즐거운 하루가 될거 같습니다.
이거 가지고 혼자서 오랜시간 고민했었어도
자력으로는 도저히 결과에 도달하지 못했는데 ㅠ ㅠ
감사합니다.
좋은 하루 되세요 ^^
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 도움을 부탁드리겠습니다.
> 안녕하세요
예스스탁입니다.
1
Plot1( NthHighest (1, 몸통길이,40) , "몸통의길이") ; // 타주기의 가장긴 몸통
plot2( NthHighest(1,몸통중심가격,40) , "몸통중심가격") ; // plot1 몸통의 가운데 지점 가격
배열변수는 변수뒤에 [ ]로 공간번호를 반드시 지정하셔야 합니다.
또한 배열변수를 highest등의 함수에 쓰셔도 해당 0~99의 공간에서 찾는 것은 아닙니다.
2
당일 봉을 몇개씩 구분해서 다른 주기의 값을 계산하는 것은 정확한 방법이 아닙니다.
거래가 많아 거래가 없는 시간대가 없는 종목에서는 유효하지만
거래가 없는 시간대가 생기면 n개씩 구분한 봉으로 타주기의 값을 계산할수 없습니다.
3
input : ntime(15),P(5);
var : S1(0),D1(0),TM(0),TF(0),j(0),HR(0),HP(0),HM(0);
Array : MinOpen[100](0),MinHigh[100](0),MinLow[100](0),MinClose[100](0), 몸통길이[100](0),몸통중심가격[100](0) ;
var1 = ma(C,P);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TimeToMinutes(stime)%ntime;
if bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1])Then
{
For j = 98 DownTo 0
{
MinOpen[j+1] = MinOpen[j];
MinHigh[j+1] = MinHigh[j];
MinLow[j+1] = MinLow[j];
MinClose[j+1] = MinClose[j];
몸통길이[j+1] = 몸통길이[j];
몸통중심가격[j+1] = 몸통중심가격[j];
}
MinOpen[0] = O;
MinHigh[0] = H;
MinLow[0] = L;
}
If MinHigh[0] > 0 and MinHigh[0] < H Then
MinHigh[0] = H ;
If MinLow[0] > 0 and MinLow[0] < L Then
MinLow[0] = L ;
MinClose[0] = C ;
몸통길이[0] = MinClose[0]-MinOpen[0] ;
몸통중심가격[0] = (MinClose[0]+MinOpen[0])/2;
HR = 몸통길이[0];
HP = 몸통중심가격[0];
HM = var1;
For j = 1 to 99
{
if 몸통길이[j] > HR Then
{
HR = 몸통길이[j];
HP = 몸통중심가격[j];
HM = var1[j];
}
}
plot1(HR,"최대몸통길이");
plot2(HP,"최대몸통중심가");
plot3(HM,"최대몸통이평");
}
즐거운 하루되세요
> 지스카드 님이 쓴 글입니다.
> 제목 : 도움을 부탁드리겠습니다.
> ㅠㅠ 도움을 부탁드립니다.
실행하면 예스트레이더가 다운되버립니다.
분봉차트에서 타주기를 계산합니다.
그 타주기의 가장긴 <양봉>의 <몸통길이>를 배열변수에 모두 담습니다.
그런다음
몸통길이가 가장 긴값의 2분의1지점에 해당하는 가격을 몸통중심가에 담고 싶습니다.
그 가장긴 몸통길이와 몸통중심가를 지표로 표현합니다.
(이게 더 큰게 나타나면 갱신되면 좋겠습니다)
마지막으로!!
그 긴 몸통길이의 몸통중심가....의 바<위치>에서,
타주기가 아닌 현재차트주기의 5이평값을 plot3 으로 나타내고 싶습니다.
########
## 주기 변경용
######
Input : mm(15) ;
var : j(0) , 계산주기(0) ;
Array : MinOpen[100](0) , MinHigh[100](0), MinLow[100](0), MinClose[100](0), 몸통길이[100](0),몸통중심가격[100](0) ;
If mm >= BarInterval Then {
계산주기 = mm/BarInterval ;
}
If DayIndex()%계산주기 == 0 Then {
For j = 98 DownTo 0 {
MinOpen[j+1] = MinOpen[j] ;
MinHigh[j+1] = MinHigh[j] ;
MinLow[j+1] = MinLow[j] ;
MinClose[j+1] = MinClose[j] ;
}
MinOpen[0] = O ;
MinHigh[0] = H ;
MinLow[0] = L ;
}
If MinHigh[0] < H Then MinHigh[0] =H ;
If MinLow[0] > L or MinLow[0]==0 Then MinLow[0] = L ;
MinClose[0] = C ;
// 몸통길이는 종가 -시가
For j = 98 DownTo 0 {
몸통길이[j ] = MinClose[j]-MinOpen[j] ;
몸통중심가격[j] = 몸통길이[j]*0.5 + MinOpen[j] ;
}
// 몸통길이중 가장긴거를 찾아서
// 몸통중심가격은 중심봉을 반 가르는 가격
Plot1( NthHighest (1, 몸통길이,40) , "몸통의길이") ; // 타주기의 가장긴 몸통
plot2( NthHighest(1,몸통중심가격,40) , "몸통중심가격") ; // plot1 몸통의 가운데 지점 가격
// 추가요청 plot2 지점에서 몸통중심가격에서의 타주기가 아닌 현재차트인( 3분봉의) 5 이평선 수치를 plot3으로 표현하고 싶습니다.