답변완료
선물 매수 매도 건수
선물매수매도 건수에 최고치가 다음날 되면 전날 최고치가 나옵니다.
당일 최고치로 보여주고 싶습니다.
var : diff(0,data6),hh(0,Data7);
diff = Data6(c)-data7(c);
if Data6(Bdate != Bdate[1]) Then
hh = diff;
Else
{
if diff > hh Then
hh = diff;
}
plot1(data6(c)-data7(c),"차이",iff(data6(c)-data7(c)>0,red,blue));
plot2(hh,"최고차이");
2023-05-16
1093
글번호 169004
지표
답변완료
월간 만기일, 위클리 만기일 표시
안녕하세요.
옵션만기일을 차트에 마킹을 하고, 각월 최고최저점의 폭을 나타내고 싶습니다.
같은 방법으로 위클리만기도 마킹후 해당위클리주의 최고저폭을 나타내고 싶습니다.
현재는 아래와 같이 월만기표시를 해서 사용하고 있는데,
var : month(0),nday(0),week(0),TL(0);
month = int(date/100)-int(date/10000)*100;
nday = date - int(date/100)*100;
Week = DayOfWeek(date);
#옵션만기
if nday >= 8 and nday <= 14 and week == 4 and sTime >= 150000 and sTime[1] < 150000 then
{
TL = TL_New(sDate,sTime,0,sDate,sTime,9999999);
TL_SetColor(TL,RED);
}
#선물만기
if Month%3 == 0 and nday >= 8 and nday <= 14 and week == 4 and sTime >= 150000 and sTime[1] < 150000 then
{
TL = TL_New(sDate,sTime,0,sDate,sTime,9999999);
TL_SetColor(TL,BLUE);
}
여기에 각기간동안의 최고최저폭의 값을 표현하고,
위클리도 만기 및 최고최저폭을 표현하고 싶습니다.
미리 감사드립니다. 좋은 하루되세요^^
2023-05-16
1136
글번호 169003
지표
답변완료
입력시간 발생봉 계산(봉점수 합)
아래 답변수식 2개에
입력시간부터 발생한 봉부터 계산하는 조건을 추가하여 주십시요
input:st(100000);
항상 고맙습니다.
****************************************************************************
안녕하세요
예스스탁입니다.
1
var : uptail(0),body(0),dntail(0),T(0);
uptail = H-max(c,o);
body = abs(C-O);
dntail = min(C-O)-L;
T = 0;
if C > O Then
{
if body > uptail+dntail and body > 0.2 Then
T = 1;
if body < uptail+dntail and uptail+dntail > 0.2 Then
T = 2;
}
Else if C < O Then
{
if body > uptail+dntail and body > 0.2 Then
T = -1;
if body < uptail+dntail and uptail+dntail > 0.2 Then
T = -2;
}
Else
{
if dntail > uptail and dntail > 0.2 Then
T = 3;
if dntail < uptail and uptail > 0.2 Then
T = -3;
}
if AccumN(T,12) > 5 Then
Buy();
if AccumN(T,12) < -5 Then
Sell();
2
var : uptail(0),body(0),dntail(0),T(0);
uptail = H-max(c,o);
body = abs(C-O);
dntail = min(C-O)-L;
#T = 0;
if C > O Then
{
if body > uptail+dntail and body > 0.2 Then
T = 1;
if body < uptail+dntail and uptail+dntail > 0.2 Then
T = 2;
}
Else if C < O Then
{
if body > uptail+dntail and body > 0.2 Then
T = -1;
if body < uptail+dntail and uptail+dntail > 0.2 Then
T = -2;
}
Else
{
if dntail > uptail and dntail > 0.2 Then
T = 3;
if dntail < uptail and uptail > 0.2 Then
T = -3;
}
if T != T[1] Then
{
var1 = T;
var2 = var1[1];
var3 = Var2[1];
var4 = Var3[1];
value1 = Index;
value2 = value1[1];
value3 = Value2[1];
value4 = Value3[1];
}
if Value4 > 0 and Index <= Value4+12 and var1 == 3 and Var2 == -2 and Var3 == -1 and Var4 == -1 Then
Buy();
if Value4 > 0 and Index <= Value4+12 and var1 == -3 and Var2 == 2 and Var3 == 1 and Var4 == 1 Then
Sell();
즐거운 하루되세요
2023-06-14
1141
글번호 168997
시스템
답변완료
볼린저밴드 타주기분
볼린저밴드 타주기분을 1440이면 일봉 볼린저밴드랑 유사한거 맞죠?
해서 이거를 시스템식에 사용하고 싶은데요.
수많은 곳에서 같은 답변으로 작성해주신 다음과 같은 내용 ↓
input : 타주기분(NumericSimple),P(NumericSimple),Dv(NumericSimple);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),SumSqrt(0),Stdv(0);
var : sum(0),BBmd(0),Bbup(0);
Array : CC[100](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 = 1 to 99
{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[P] > 0 then{
sum = 0;
for cnt = 0 to P-1{
sum = sum + CC[cnt];
}
BBmd = sum/P;
SumSqrt = 0;
For cnt = 0 To P - 1 {
SumSqrt = SumSqrt + (CC[cnt] - BBmd)^2;
}
Stdv = SquareRoot(SumSqrt / P);
BBup = BBmd + (Dv * Stdv);
BBdn = BBmd - (Dv * Stdv);
}
}
을 이해하기엔 약간 어려워서
복사 붙여넣기로 썼습니다
위에 사용한 식을 사용자함수 타주기bbdown으로 했는데 맞게 된걸까요 ?
2023-05-15
1040
글번호 168989
사용자 함수