예스스탁
예스스탁 답변
2024-03-18 16:02:30
안녕하세요
예스스탁입니다.
올려주신 내용은 기본차트 기준으로 타주기 계산이 가능하지 않습니다.
내용 중 당일첫봉과 마지막봉의 거래량은 사용하지 않는데
타주기시에 마지막봉에서 계산을 막는 부분이 가능하지 않고
거래량을 타주기종의 완성기준으로만 보아야 하므로
해당 수식은 참조데이터를 이용하실 수 밖에 없습니다.
참조데이터로 타주기 데이터 추가하고 아래식 적용하시면 됩니다.
Input :length(2);
Var :j(0),jj(0);
var : HH(0,Data2),LL(0,Data2),최종고가(0,Data2),최종저가(0,Data2);
var : 최종꼭지점("",Data2),처리구분("",Data2),sumv(0,Data2),sumi(0,Data2),mav(0,Data2),T(0,Data2);
Array:고[10,4](0,Data2),저[10,4](0,Data2);
var : cnt(0),cond1(False),cond2(False);
Array : VV[100](0,Data2);
if data2(Bdate == Bdate[1] and NextBarSdate == sDate) Then //
{
vv[0] = data2(V);
For cnt = 1 to 99
{
vv[cnt] = vv[cnt]+1;
}
}
HH = vv[0];
LL = vv[0];
If data2(Index == 0) Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Cond1 = data2(Highest(HH,length) == HH and 최종고가 <> HH);
Cond2 = data2(Lowest (LL,length) == LL and 최종저가 <> LL);
처리구분 = "";
If Cond1 and Cond2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Cond1 Then 처리구분 = "고점처리";
Else If Cond2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = data2(Index);
고[1,3] = data2(sDate);
고[1,4] = data2(sTime);
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = data2(Index);
고[1,3] = data2(sDate);
고[1,4] = data2(sTime);
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = data2(Index);
저[1,3] = data2(sDate);
저[1,4] = data2(sTime);
If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = data2(Index);
저[1,3] = data2(sDate);
저[1,4] = data2(sTime);
}
최종꼭지점 = "저점";
}
}
Plot1(vv[0]);
PLOT2(최종고가);
PLOT3(최종저가);
즐거운 하루되세요
> jdavid 님이 쓴 글입니다.
> 제목 : 지표변환 부탁드립니다
> 감사합니다
아래 지표를 타분봉에서 사용할 수 있도록 변환부탁드립니다
Input :length(2);
Variables:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분("")
,sumv(0),sumi(0),mav(0),T(0);
Array:고[10,4](0),저[10,4](0);
#==========================================#
//
var : cnt(0);
Array : VV[100](0);
if Bdate == Bdate[1] and NextBarSdate == sDate Then //
{
vv[0] = V;
For cnt = 1 to 99
{
vv[cnt] = vv[cnt]+1;
}
}
HH = vv[0];
LL = vv[0];
If Index == 0 Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;
Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
}
최종꼭지점 = "저점";
}
}
Plot1(vv[0]);
PLOT2(최종고가);
PLOT3(최종저가);
jdavid
2024-03-19 08:18:44
감사합니다
그렇다면
1
첫봉과 마지막봉의 거래량을 사용하여 타주기식을 부탁드립니다.
2
첫봉과 마지막봉을 0값으로 치환하고 첫봉과 마지막봉의 거래량을 사용하여 타주기식을 부탁드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 지표변환 부탁드립니다
>
안녕하세요
예스스탁입니다.
올려주신 내용은 기본차트 기준으로 타주기 계산이 가능하지 않습니다.
내용 중 당일첫봉과 마지막봉의 거래량은 사용하지 않는데
타주기시에 마지막봉에서 계산을 막는 부분이 가능하지 않고
거래량을 타주기종의 완성기준으로만 보아야 하므로
해당 수식은 참조데이터를 이용하실 수 밖에 없습니다.
참조데이터로 타주기 데이터 추가하고 아래식 적용하시면 됩니다.
Input :length(2);
Var :j(0),jj(0);
var : HH(0,Data2),LL(0,Data2),최종고가(0,Data2),최종저가(0,Data2);
var : 최종꼭지점("",Data2),처리구분("",Data2),sumv(0,Data2),sumi(0,Data2),mav(0,Data2),T(0,Data2);
Array:고[10,4](0,Data2),저[10,4](0,Data2);
var : cnt(0),cond1(False),cond2(False);
Array : VV[100](0,Data2);
if data2(Bdate == Bdate[1] and NextBarSdate == sDate) Then //
{
vv[0] = data2(V);
For cnt = 1 to 99
{
vv[cnt] = vv[cnt]+1;
}
}
HH = vv[0];
LL = vv[0];
If data2(Index == 0) Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Cond1 = data2(Highest(HH,length) == HH and 최종고가 <> HH);
Cond2 = data2(Lowest (LL,length) == LL and 최종저가 <> LL);
처리구분 = "";
If Cond1 and Cond2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Cond1 Then 처리구분 = "고점처리";
Else If Cond2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = data2(Index);
고[1,3] = data2(sDate);
고[1,4] = data2(sTime);
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = data2(Index);
고[1,3] = data2(sDate);
고[1,4] = data2(sTime);
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = data2(Index);
저[1,3] = data2(sDate);
저[1,4] = data2(sTime);
If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = data2(Index);
저[1,3] = data2(sDate);
저[1,4] = data2(sTime);
}
최종꼭지점 = "저점";
}
}
Plot1(vv[0]);
PLOT2(최종고가);
PLOT3(최종저가);
즐거운 하루되세요
> jdavid 님이 쓴 글입니다.
> 제목 : 지표변환 부탁드립니다
> 감사합니다
아래 지표를 타분봉에서 사용할 수 있도록 변환부탁드립니다
Input :length(2);
Variables:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분("")
,sumv(0),sumi(0),mav(0),T(0);
Array:고[10,4](0),저[10,4](0);
#==========================================#
//
var : cnt(0);
Array : VV[100](0);
if Bdate == Bdate[1] and NextBarSdate == sDate Then //
{
vv[0] = V;
For cnt = 1 to 99
{
vv[cnt] = vv[cnt]+1;
}
}
HH = vv[0];
LL = vv[0];
If Index == 0 Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;
Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
}
최종꼭지점 = "저점";
}
}
Plot1(vv[0]);
PLOT2(최종고가);
PLOT3(최종저가);
예스스탁
예스스탁 답변
2024-03-19 11:24:26
안녕하세요
예스스탁입니다.
1번 내용으로만 가능합니다.
input : 분(30),length(2);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),hv(0),lv(0);
var : 최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),T(0),j(0),jj(0);
Array : VV[100](0),VD[100](0),VT[100](0),VI[100](0);
Array:고[10,4](0),저[10,4](0);
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 = TM%분;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 분 > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and 분 > 1 and TM >= TM[1]+분) or
(Bdate == Bdate[1] and 분 == 1 and TM > TM[1]) Then
{
for cnt = 99 downto 1
{
VV[cnt] = VV[cnt-1];
VD[cnt] = VD[cnt-1];
VT[cnt] = VT[cnt-1];
VI[cnt] = VI[cnt-1];
}
VV[0] = 0;
If Index == 0 Then
{
고[1,1] = VV[1];
저[1,1] = VV[1];
}
hv = 0;
lv = 0;
For cnt = 1 to length
{
if hv == 0 or (hv > 0 and VV[cnt] > hv) Then
hv = vv[cnt];
if lv == 0 or (lv > 0 and VV[cnt] < lv) Then
lv = vv[cnt];
}
Condition1 = hv == vv[1] and 최종고가 <> VV[1];
Condition2 = lv == vv[1] and 최종저가 <> vv[1];
처리구분 = "";
If Condition1 and Condition2 Then
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > VV[1] Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < VV[1] Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = VV[1]; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = VV[1];
고[1,2] = VI[1];
고[1,3] = VD[1];
고[1,4] = VT[1];
}
Else If 고[1,1] < VV[1] Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = VV[1];
고[1,2] = VI[1];
고[1,3] = VD[1];
고[1,4] = VT[1];
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = VV[1];
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = VV[1];
저[1,2] = VI[1];
저[1,3] = VD[1];
저[1,4] = VT[1];
}
else If 저[1,1] > VV[1] then
{
저[1,1] = VV[1];
저[1,2] = VI[1];
저[1,3] = VD[1];
저[1,4] = VT[1];
}
최종꼭지점 = "저점";
}
}
VV[0] = VV[0]+V;
VD[0] = sDate;
VT[0] = sTime;
VI[0] = Index;
Plot1(vv[0]);
PLOT2(최종고가);
PLOT3(최종저가);
}
즐거운 하루되세요
> jdavid 님이 쓴 글입니다.
> 제목 : Re : Re : 감사합니다. 그렇다면 첫봉과 마지막봉의 거래량을 사용하여 타주기식을
> 감사합니다
그렇다면
1
첫봉과 마지막봉의 거래량을 사용하여 타주기식을 부탁드립니다.
2
첫봉과 마지막봉을 0값으로 치환하고 첫봉과 마지막봉의 거래량을 사용하여 타주기식을 부탁드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 지표변환 부탁드립니다
>
안녕하세요
예스스탁입니다.
올려주신 내용은 기본차트 기준으로 타주기 계산이 가능하지 않습니다.
내용 중 당일첫봉과 마지막봉의 거래량은 사용하지 않는데
타주기시에 마지막봉에서 계산을 막는 부분이 가능하지 않고
거래량을 타주기종의 완성기준으로만 보아야 하므로
해당 수식은 참조데이터를 이용하실 수 밖에 없습니다.
참조데이터로 타주기 데이터 추가하고 아래식 적용하시면 됩니다.
Input :length(2);
Var :j(0),jj(0);
var : HH(0,Data2),LL(0,Data2),최종고가(0,Data2),최종저가(0,Data2);
var : 최종꼭지점("",Data2),처리구분("",Data2),sumv(0,Data2),sumi(0,Data2),mav(0,Data2),T(0,Data2);
Array:고[10,4](0,Data2),저[10,4](0,Data2);
var : cnt(0),cond1(False),cond2(False);
Array : VV[100](0,Data2);
if data2(Bdate == Bdate[1] and NextBarSdate == sDate) Then //
{
vv[0] = data2(V);
For cnt = 1 to 99
{
vv[cnt] = vv[cnt]+1;
}
}
HH = vv[0];
LL = vv[0];
If data2(Index == 0) Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Cond1 = data2(Highest(HH,length) == HH and 최종고가 <> HH);
Cond2 = data2(Lowest (LL,length) == LL and 최종저가 <> LL);
처리구분 = "";
If Cond1 and Cond2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Cond1 Then 처리구분 = "고점처리";
Else If Cond2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = data2(Index);
고[1,3] = data2(sDate);
고[1,4] = data2(sTime);
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = data2(Index);
고[1,3] = data2(sDate);
고[1,4] = data2(sTime);
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = data2(Index);
저[1,3] = data2(sDate);
저[1,4] = data2(sTime);
If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = data2(Index);
저[1,3] = data2(sDate);
저[1,4] = data2(sTime);
}
최종꼭지점 = "저점";
}
}
Plot1(vv[0]);
PLOT2(최종고가);
PLOT3(최종저가);
즐거운 하루되세요
> jdavid 님이 쓴 글입니다.
> 제목 : 지표변환 부탁드립니다
> 감사합니다
아래 지표를 타분봉에서 사용할 수 있도록 변환부탁드립니다
Input :length(2);
Variables:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분("")
,sumv(0),sumi(0),mav(0),T(0);
Array:고[10,4](0),저[10,4](0);
#==========================================#
//
var : cnt(0);
Array : VV[100](0);
if Bdate == Bdate[1] and NextBarSdate == sDate Then //
{
vv[0] = V;
For cnt = 1 to 99
{
vv[cnt] = vv[cnt]+1;
}
}
HH = vv[0];
LL = vv[0];
If Index == 0 Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;
Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
}
최종꼭지점 = "저점";
}
}
Plot1(vv[0]);
PLOT2(최종고가);
PLOT3(최종저가);