커뮤니티
설정한 일정 변동폭 이상 움직일때 화살표 표시
2019-04-08 10:36:10
233
글번호 127693
안녕하세요 관리자님!!
관리자님의 도움으로 나날이 성장하고 있습니다. 감사합니다.
다릉이 아니오라 아래 지표는 관리자님이 보내주신 수식인데요. 수식1은 시스템식이고 수식2는 지표식입니다.
오늘 부탁드릴거는
주가가 수식1의 plot7,plot8을 상향,하향돌파하고
수식2의 plot5가 50,100(설정가능하게부탁드립니다)을 상향돌파시
화살표가 나오도록 수식1의 수정부탁드립니다.
- 수식1 -
input : P(520);#10년 520주
input : ntime(240);#240분
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),Tcond(false),HH(0),LL(0),OO(0),diff(0);
Array : WH1[600](0),WH2[600](0),WH3[600](0),WH4[600](0),WH5[600](0);
Array : WL1[600](0),WL2[600](0),WL3[600](0),WL4[600](0),WL5[600](0);
var : WH1sum(0),WL1sum(0),WH1Sqrt(0),WL1Sqrt(0),Hma1(0),Lma1(0),WH1Stdv(0),WL1Stdv(0);
var : WH2sum(0),WL2sum(0),WH2Sqrt(0),WL2Sqrt(0),Hma2(0),Lma2(0),WH2Stdv(0),WL2Stdv(0);
var : WH3sum(0),WL3sum(0),WH3Sqrt(0),WL3Sqrt(0),Hma3(0),Lma3(0),WH3Stdv(0),WL3Stdv(0);
var : WH4sum(0),WL4sum(0),WH4Sqrt(0),WL4Sqrt(0),Hma4(0),Lma4(0),WH4Stdv(0),WL4Stdv(0);
var : WH5sum(0),WL5sum(0),WH5Sqrt(0),WL5Sqrt(0),Hma5(0),Lma5(0),WH5Stdv(0),WL5Stdv(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%ntime;
if (Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1])) then
{
OO = O;
HH = H;
LL = L;
if DayOfWeek(bdate) == 1 Then
{
for cnt = 1 to 599
{
WH1[cnt] = WH1[cnt-1][1];
WL1[cnt] = WL1[cnt-1][1];
}
}
if DayOfWeek(bdate) == 2 Then
{
for cnt = 1 to 599
{
WH2[cnt] = WH2[cnt-1][1];
WL2[cnt] = WL2[cnt-1][1];
}
}
if DayOfWeek(bdate) == 3 Then
{
for cnt = 1 to 599
{
WH3[cnt] = WH3[cnt-1][1];
WL3[cnt] = WL3[cnt-1][1];
}
}
if DayOfWeek(bdate) == 4 Then
{
for cnt = 1 to 599
{
WH4[cnt] = WH4[cnt-1][1];
WL4[cnt] = WL4[cnt-1][1];
}
}
if DayOfWeek(bdate) == 5 Then
{
for cnt = 1 to 599
{
wh5[cnt] = WH5[cnt-1][1];
WL5[cnt] = WL5[cnt-1][1];
}
}
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
if DayOfWeek(bdate) == 1 Then
{
WH1[0] = HH-OO;
WL1[0] = OO-LL;
}
if DayOfWeek(bdate) == 2 Then
{
WH2[0] = HH-OO;
WL2[0] = OO-LL;
}
if DayOfWeek(bdate) == 3 Then
{
WH3[0] = HH-OO;
WL3[0] = OO-LL;
}
if DayOfWeek(bdate) == 4 Then
{
WH4[0] = HH-OO;
WL4[0] = OO-LL;
}
if DayOfWeek(bdate) == 5 Then
{
WH5[0] = HH-OO;
WL5[0] = OO-LL;
}
}
if WH1[P-1] > 0 and WL1[P-1] > 0 and DayOfWeek(bdate) == 1 then
{
WH1sum = 0;
WL1sum = 0;
for cnt = 0 to P-1
{
WH1sum = WH1sum + WH1[cnt];
WL1sum = WL1sum + WL1[cnt];
}
Hma1 = WH1sum/P;
Lma1 = WL1sum/P;
WH1Sqrt = 0;
WL1Sqrt = 0;
For cnt = 0 To P - 1
{
WH1Sqrt = WH1Sqrt + (WH1[cnt] - Hma1)^2;
WL1Sqrt = WL1Sqrt + (WL1[cnt] - Lma1)^2;
}
WH1Stdv = SquareRoot(WH1Sqrt / P);
WL1Stdv = SquareRoot(WL1Sqrt / P);
var1 = OO+(Hma1+WH1Stdv*2);
var2 = OO-(Lma1+WL1Stdv*2);
var3 = OO+(Hma1+WH1Stdv);
var4 = OO-(Lma1+WL1Stdv);
Var5 = OO+(Hma1+WH1Stdv*3);
Var6 = OO-(Lma1+WL1Stdv*3);
Var7 = (OO+Hma1);
Var8 = (OO-Lma1);
}
if WH2[P-1] > 0 and WL2[P-1] > 0 and DayOfWeek(bdate) == 2 then
{
WH2sum = 0;
WL2sum = 0;
for cnt = 0 to P-1
{
WH2sum = WH2sum + WH2[cnt];
WL2sum = WL2sum + WL2[cnt];
}
Hma2 = WH2sum/P;
Lma2 = WL2sum/P;
WH2Sqrt = 0;
WL2Sqrt = 0;
For cnt = 0 To P - 1
{
WH2Sqrt = WH2Sqrt + (WH2[cnt] - Hma2)^2;
WL2Sqrt = WL2Sqrt + (WL2[cnt] - Lma2)^2;
}
WH2Stdv = SquareRoot(WH2Sqrt / P);
WL2Stdv = SquareRoot(WL2Sqrt / P);
var1 = OO+(Hma2+WH2Stdv*2);
var2 = OO-(Lma2+WL2Stdv*2);
var3 = OO+(Hma2+WH2Stdv);
var4 = OO-(Lma2+WL2Stdv);
Var5 = OO+(Hma2+WH2Stdv*3);
Var6 = OO-(Lma2+WL2Stdv*3);
Var7 = (OO+Hma2);
Var8 = (OO-Lma2);
}
if WH3[P-1] > 0 and WL3[P-1] > 0 and DayOfWeek(bdate) == 3 then
{
WH3sum = 0;
WL3sum = 0;
for cnt = 0 to P-1
{
WH3sum = WH3sum + WH3[cnt];
WL3sum = WL3sum + WL3[cnt];
}
Hma3 = WH3sum/P;
Lma3 = WL3sum/P;
WH3Sqrt = 0;
WL3Sqrt = 0;
For cnt = 0 To P - 1
{
WH3Sqrt = WH3Sqrt + (WH3[cnt] - Hma3)^2;
WL3Sqrt = WL3Sqrt + (WL3[cnt] - Lma3)^2;
}
WH3Stdv = SquareRoot(WH3Sqrt / P);
WL3Stdv = SquareRoot(WL3Sqrt / P);
var1 = OO+(Hma3+WH3Stdv*2);
var2 = OO-(Lma3+WL3Stdv*2);
var3 = OO+(Hma3+WH3Stdv);
var4 = OO-(Lma3+WL3Stdv);
Var5 = OO+(Hma3+WH3Stdv*3);
Var6 = OO-(Lma3+WL3Stdv*3);
Var7 = (OO+Hma3);
Var8 = (OO-Lma3);
}
if WH4[P-1] > 0 and WL4[P-1] > 0 and DayOfWeek(bdate) == 4 then
{
WH4sum = 0;
WL4sum = 0;
for cnt = 0 to P-1
{
WH4sum = WH4sum + WH4[cnt];
WL4sum = WL4sum + WL4[cnt];
}
Hma4 = WH4sum/P;
Lma4 = WL4sum/P;
WH4Sqrt = 0;
WL4Sqrt = 0;
For cnt = 0 To P - 1
{
WH4Sqrt = WH4Sqrt + (WH4[cnt] - Hma4)^2;
WL4Sqrt = WL4Sqrt + (WL4[cnt] - Lma4)^2;
}
WH4Stdv = SquareRoot(WH4Sqrt / P);
WL4Stdv = SquareRoot(WL4Sqrt / P);
var1 = OO+(Hma4+WH4Stdv*2);
var2 = OO-(Lma4+WL4Stdv*2);
var3 = OO+(Hma4+WH4Stdv);
var4 = OO-(Lma4+WL4Stdv);
Var5 = OO+(Hma4+WH4Stdv*3);
Var6 = OO-(Lma4+WL4Stdv*3);
Var7 = (OO+Hma4);
Var8 = (OO-Lma4);
}
if WH5[P-1] > 0 and WL5[P-1] > 0 and DayOfWeek(bdate) == 5 then
{
WH5sum = 0;
WL5sum = 0;
for cnt = 0 to P-1
{
WH5sum = WH5sum + WH5[cnt];
WL5sum = WL5sum + WL5[cnt];
}
Hma5 = WH5sum/P;
Lma5 = WL5sum/P;
WH5Sqrt = 0;
WL5Sqrt = 0;
For cnt = 0 To P - 1
{
WH5Sqrt = WH5Sqrt + (WH5[cnt] - Hma5)^2;
WL5Sqrt = WL5Sqrt + (WL5[cnt] - Lma5)^2;
}
WH5Stdv = SquareRoot(WH5Sqrt / P);
WL5Stdv = SquareRoot(WL5Sqrt / P);
var1 = OO+(Hma5+WH5Stdv*2);
var2 = OO-(Lma5+WL5Stdv*2);
var3 = OO+(Hma5+WH5Stdv);
var4 = OO-(Lma5+WL5Stdv);
Var5 = OO+(Hma5+WH5Stdv*3);
Var6 = OO-(Lma5+WL5Stdv*3);
Var7 = (OO+Hma5);
Var8 = (OO-Lma5);
}
diff = DayHigh-daylow;
if crossup(c,var7) and diff > diff[1] Then
sell("s");
if CrossDown(c,var8) and diff > diff[1] Then
buy("b");
- 수식2 -
input : P(520);#10년 520주
input : ntime(240);#240분
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),OO(0),HH(0),LL(0);
Array : WH1[600](0),WH2[600](0),WH3[600](0),WH4[600](0),WH5[600](0);
Array : WL1[600](0),WL2[600](0),WL3[600](0),WL4[600](0),WL5[600](0);
var : sum1(0),Sqrt1(0),ma1(0),Stdv1(0);
var : sum2(0),Sqrt2(0),ma2(0),stdv2(0);
var : sum3(0),Sqrt3(0),ma3(0),Stdv3(0);
var : sum4(0),Sqrt4(0),ma4(0),Stdv4(0);
var : sum5(0),Sqrt5(0),ma5(0),Stdv5(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%ntime;
if (Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1])) then
{
OO = O;
HH = H;
LL = L;
if DayOfWeek(bdate) == 1 Then
{
for cnt = 1 to 599
{
WH1[cnt] = WH1[cnt-1][1];
WL1[cnt] = WL1[cnt-1][1];
}
}
if DayOfWeek(bdate) == 2 Then
{
for cnt = 1 to 599
{
WH2[cnt] = WH2[cnt-1][1];
WL2[cnt] = WL2[cnt-1][1];
}
}
if DayOfWeek(bdate) == 3 Then
{
for cnt = 1 to 599
{
WH3[cnt] = WH3[cnt-1][1];
WL3[cnt] = WL3[cnt-1][1];
}
}
if DayOfWeek(bdate) == 4 Then
{
for cnt = 1 to 599
{
WH4[cnt] = WH4[cnt-1][1];
WL4[cnt] = WL4[cnt-1][1];
}
}
if DayOfWeek(bdate) == 5 Then
{
for cnt = 1 to 599
{
WH5[cnt] = WH5[cnt-1][1];
WL5[cnt] = WL5[cnt-1][1];
}
}
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
if DayOfWeek(bdate) == 1 Then
{
WH1[0] = HH;
WL1[0] = LL;
}
if DayOfWeek(bdate) == 2 Then
{
WH2[0] = HH;
WL2[0] = LL;
}
if DayOfWeek(bdate) == 3 Then
{
WH3[0] = HH;
WL3[0] = LL;
}
if DayOfWeek(bdate) == 4 Then
{
WH4[0] = HH;
WL4[0] = LL;
}
if DayOfWeek(bdate) == 5 Then
{
WH5[0] = HH;
WL5[0] = LL;
}
}
if WH1[P-1] > 0 and WL1[P-1] > 0 and DayOfWeek(bdate) == 1 then
{
sum1 = 0;
for cnt = 0 to P-1
{
sum1 = sum1 + (WH1[cnt]-WL1[cnt]);
}
ma1 = sum1/P;
Sqrt1 = 0;
For cnt = 0 To P - 1
{
Sqrt1 = Sqrt1 + ((WH1[cnt]-WL1[cnt]) - ma1)^2;
}
Stdv1 = SquareRoot(Sqrt1/ P);
plot1(ma1);
plot2(ma1+Stdv1);
plot3(ma1*0.8);
plot4((ma1+Stdv1)*0.8);
}
if WH2[P-1] > 0 and WL2[P-1] > 0 and DayOfWeek(bdate) == 2 then
{
sum2 = 0;
for cnt = 0 to P-1
{
sum2 = sum2 + (WH2[cnt]-WL2[cnt]);
}
ma2= sum2/P;
Sqrt2= 0;
For cnt = 0 To P - 1
{
Sqrt2 = Sqrt2 + ((WH2[cnt]-WL2[cnt]) - ma2)^2;
}
Stdv2 = SquareRoot(Sqrt2/ P);
plot1(ma2);
plot2(ma2+Stdv2);
plot3(ma2*0.8);
plot4((ma2+Stdv2)*0.8);
}
if WH3[P-1] > 0 and WL3[P-1] > 0 and DayOfWeek(bdate) == 3 then
{
sum3 = 0;
for cnt = 0 to P-1
{
sum3 = sum3 + (WH3[cnt]-WL3[cnt]);
}
ma3= sum3/P;
Sqrt3 = 0;
For cnt = 0 To P - 1
{
Sqrt3 = Sqrt3 + ((WH3[cnt]-WL3[cnt]) - ma3)^2;
}
Stdv3 = SquareRoot(Sqrt3/ P);
plot1(ma3);
plot2(ma3+Stdv3);
plot3(ma3*0.8);
plot4((ma3+Stdv3)*0.8);
}
if WH4[P-1] > 0 and WL4[P-1] > 0 and DayOfWeek(bdate) == 4 then
{
sum4 = 0;
for cnt = 0 to P-1
{
sum4 = sum4 + (WH4[cnt]-WL4[cnt]);
}
ma4= sum4/P;
Sqrt4 = 0;
For cnt = 0 To P - 1
{
Sqrt4 = Sqrt4 + ((WH4[cnt]-WL4[cnt]) - ma4)^2;
}
Stdv4 = SquareRoot(Sqrt4/ P);
plot1(ma4);
plot2(ma4+Stdv4);
plot3(ma4*0.8);
plot4((ma4+Stdv4)*0.8);
}
if WH5[P-1] > 0 and WL5[P-1] > 0 and DayOfWeek(bdate) == 5 then
{
sum5 = 0;
for cnt = 0 to P-1
{
sum5 = sum5 + (WH5[cnt]-WL5[cnt]);
}
ma5= sum5/P;
Sqrt5 = 0;
For cnt = 0 To P - 1
{
Sqrt5 = Sqrt5 + ((WH5[cnt]-WL5[cnt]) - ma5)^2;
}
Stdv5 = SquareRoot(Sqrt5/ P);
plot1(ma5);
plot2(ma5+Stdv5);
plot3(ma5*0.8);
plot4((ma5+Stdv5)*0.8);
}
plot5((DayHigh-daylow)/PriceScale,"당일변동폭");
답변 1
예스스탁 예스스탁 답변
2019-04-09 14:24:30
안녕하세요
예스스탁입니다.
input : P(520);#10년 520주
input : ntime(240);#240분
input : 당일폭틱수(50);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),Tcond(false),HH(0),LL(0),OO(0),diff(0);
Array : WH1[600](0),WH2[600](0),WH3[600](0),WH4[600](0),WH5[600](0);
Array : WL1[600](0),WL2[600](0),WL3[600](0),WL4[600](0),WL5[600](0);
var : WH1sum(0),WL1sum(0),WH1Sqrt(0),WL1Sqrt(0),Hma1(0),Lma1(0),WH1Stdv(0),WL1Stdv(0);
var : WH2sum(0),WL2sum(0),WH2Sqrt(0),WL2Sqrt(0),Hma2(0),Lma2(0),WH2Stdv(0),WL2Stdv(0);
var : WH3sum(0),WL3sum(0),WH3Sqrt(0),WL3Sqrt(0),Hma3(0),Lma3(0),WH3Stdv(0),WL3Stdv(0);
var : WH4sum(0),WL4sum(0),WH4Sqrt(0),WL4Sqrt(0),Hma4(0),Lma4(0),WH4Stdv(0),WL4Stdv(0);
var : WH5sum(0),WL5sum(0),WH5Sqrt(0),WL5Sqrt(0),Hma5(0),Lma5(0),WH5Stdv(0),WL5Stdv(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%ntime;
if (Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1])) then
{
OO = O;
HH = H;
LL = L;
if DayOfWeek(bdate) == 1 Then
{
for cnt = 1 to 599
{
WH1[cnt] = WH1[cnt-1][1];
WL1[cnt] = WL1[cnt-1][1];
}
}
if DayOfWeek(bdate) == 2 Then
{
for cnt = 1 to 599
{
WH2[cnt] = WH2[cnt-1][1];
WL2[cnt] = WL2[cnt-1][1];
}
}
if DayOfWeek(bdate) == 3 Then
{
for cnt = 1 to 599
{
WH3[cnt] = WH3[cnt-1][1];
WL3[cnt] = WL3[cnt-1][1];
}
}
if DayOfWeek(bdate) == 4 Then
{
for cnt = 1 to 599
{
WH4[cnt] = WH4[cnt-1][1];
WL4[cnt] = WL4[cnt-1][1];
}
}
if DayOfWeek(bdate) == 5 Then
{
for cnt = 1 to 599
{
wh5[cnt] = WH5[cnt-1][1];
WL5[cnt] = WL5[cnt-1][1];
}
}
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
if DayOfWeek(bdate) == 1 Then
{
WH1[0] = HH-OO;
WL1[0] = OO-LL;
}
if DayOfWeek(bdate) == 2 Then
{
WH2[0] = HH-OO;
WL2[0] = OO-LL;
}
if DayOfWeek(bdate) == 3 Then
{
WH3[0] = HH-OO;
WL3[0] = OO-LL;
}
if DayOfWeek(bdate) == 4 Then
{
WH4[0] = HH-OO;
WL4[0] = OO-LL;
}
if DayOfWeek(bdate) == 5 Then
{
WH5[0] = HH-OO;
WL5[0] = OO-LL;
}
}
if WH1[P-1] > 0 and WL1[P-1] > 0 and DayOfWeek(bdate) == 1 then
{
WH1sum = 0;
WL1sum = 0;
for cnt = 0 to P-1
{
WH1sum = WH1sum + WH1[cnt];
WL1sum = WL1sum + WL1[cnt];
}
Hma1 = WH1sum/P;
Lma1 = WL1sum/P;
WH1Sqrt = 0;
WL1Sqrt = 0;
For cnt = 0 To P - 1
{
WH1Sqrt = WH1Sqrt + (WH1[cnt] - Hma1)^2;
WL1Sqrt = WL1Sqrt + (WL1[cnt] - Lma1)^2;
}
WH1Stdv = SquareRoot(WH1Sqrt / P);
WL1Stdv = SquareRoot(WL1Sqrt / P);
var1 = OO+(Hma1+WH1Stdv*2);
var2 = OO-(Lma1+WL1Stdv*2);
var3 = OO+(Hma1+WH1Stdv);
var4 = OO-(Lma1+WL1Stdv);
Var5 = OO+(Hma1+WH1Stdv*3);
Var6 = OO-(Lma1+WL1Stdv*3);
Var7 = (OO+Hma1);
Var8 = (OO-Lma1);
}
if WH2[P-1] > 0 and WL2[P-1] > 0 and DayOfWeek(bdate) == 2 then
{
WH2sum = 0;
WL2sum = 0;
for cnt = 0 to P-1
{
WH2sum = WH2sum + WH2[cnt];
WL2sum = WL2sum + WL2[cnt];
}
Hma2 = WH2sum/P;
Lma2 = WL2sum/P;
WH2Sqrt = 0;
WL2Sqrt = 0;
For cnt = 0 To P - 1
{
WH2Sqrt = WH2Sqrt + (WH2[cnt] - Hma2)^2;
WL2Sqrt = WL2Sqrt + (WL2[cnt] - Lma2)^2;
}
WH2Stdv = SquareRoot(WH2Sqrt / P);
WL2Stdv = SquareRoot(WL2Sqrt / P);
var1 = OO+(Hma2+WH2Stdv*2);
var2 = OO-(Lma2+WL2Stdv*2);
var3 = OO+(Hma2+WH2Stdv);
var4 = OO-(Lma2+WL2Stdv);
Var5 = OO+(Hma2+WH2Stdv*3);
Var6 = OO-(Lma2+WL2Stdv*3);
Var7 = (OO+Hma2);
Var8 = (OO-Lma2);
}
if WH3[P-1] > 0 and WL3[P-1] > 0 and DayOfWeek(bdate) == 3 then
{
WH3sum = 0;
WL3sum = 0;
for cnt = 0 to P-1
{
WH3sum = WH3sum + WH3[cnt];
WL3sum = WL3sum + WL3[cnt];
}
Hma3 = WH3sum/P;
Lma3 = WL3sum/P;
WH3Sqrt = 0;
WL3Sqrt = 0;
For cnt = 0 To P - 1
{
WH3Sqrt = WH3Sqrt + (WH3[cnt] - Hma3)^2;
WL3Sqrt = WL3Sqrt + (WL3[cnt] - Lma3)^2;
}
WH3Stdv = SquareRoot(WH3Sqrt / P);
WL3Stdv = SquareRoot(WL3Sqrt / P);
var1 = OO+(Hma3+WH3Stdv*2);
var2 = OO-(Lma3+WL3Stdv*2);
var3 = OO+(Hma3+WH3Stdv);
var4 = OO-(Lma3+WL3Stdv);
Var5 = OO+(Hma3+WH3Stdv*3);
Var6 = OO-(Lma3+WL3Stdv*3);
Var7 = (OO+Hma3);
Var8 = (OO-Lma3);
}
if WH4[P-1] > 0 and WL4[P-1] > 0 and DayOfWeek(bdate) == 4 then
{
WH4sum = 0;
WL4sum = 0;
for cnt = 0 to P-1
{
WH4sum = WH4sum + WH4[cnt];
WL4sum = WL4sum + WL4[cnt];
}
Hma4 = WH4sum/P;
Lma4 = WL4sum/P;
WH4Sqrt = 0;
WL4Sqrt = 0;
For cnt = 0 To P - 1
{
WH4Sqrt = WH4Sqrt + (WH4[cnt] - Hma4)^2;
WL4Sqrt = WL4Sqrt + (WL4[cnt] - Lma4)^2;
}
WH4Stdv = SquareRoot(WH4Sqrt / P);
WL4Stdv = SquareRoot(WL4Sqrt / P);
var1 = OO+(Hma4+WH4Stdv*2);
var2 = OO-(Lma4+WL4Stdv*2);
var3 = OO+(Hma4+WH4Stdv);
var4 = OO-(Lma4+WL4Stdv);
Var5 = OO+(Hma4+WH4Stdv*3);
Var6 = OO-(Lma4+WL4Stdv*3);
Var7 = (OO+Hma4);
Var8 = (OO-Lma4);
}
if WH5[P-1] > 0 and WL5[P-1] > 0 and DayOfWeek(bdate) == 5 then
{
WH5sum = 0;
WL5sum = 0;
for cnt = 0 to P-1
{
WH5sum = WH5sum + WH5[cnt];
WL5sum = WL5sum + WL5[cnt];
}
Hma5 = WH5sum/P;
Lma5 = WL5sum/P;
WH5Sqrt = 0;
WL5Sqrt = 0;
For cnt = 0 To P - 1
{
WH5Sqrt = WH5Sqrt + (WH5[cnt] - Hma5)^2;
WL5Sqrt = WL5Sqrt + (WL5[cnt] - Lma5)^2;
}
WH5Stdv = SquareRoot(WH5Sqrt / P);
WL5Stdv = SquareRoot(WL5Sqrt / P);
var1 = OO+(Hma5+WH5Stdv*2);
var2 = OO-(Lma5+WL5Stdv*2);
var3 = OO+(Hma5+WH5Stdv);
var4 = OO-(Lma5+WL5Stdv);
Var5 = OO+(Hma5+WH5Stdv*3);
Var6 = OO-(Lma5+WL5Stdv*3);
Var7 = (OO+Hma5);
Var8 = (OO-Lma5);
}
diff = (DayHigh-daylow)/PriceScale;
if crossup(c,var7) and diff > 당일폭틱수 Then
sell("s");
if CrossDown(c,var8) and diff > 당일폭틱수 Then
buy("b");
즐거운 하루되세요
> 카카 님이 쓴 글입니다.
> 제목 : 설정한 일정 변동폭 이상 움직일때 화살표 표시
> 안녕하세요 관리자님!!
관리자님의 도움으로 나날이 성장하고 있습니다. 감사합니다.
다릉이 아니오라 아래 지표는 관리자님이 보내주신 수식인데요. 수식1은 시스템식이고 수식2는 지표식입니다.
오늘 부탁드릴거는
주가가 수식1의 plot7,plot8을 상향,하향돌파하고
수식2의 plot5가 50,100(설정가능하게부탁드립니다)을 상향돌파시
화살표가 나오도록 수식1의 수정부탁드립니다.
- 수식1 -
input : P(520);#10년 520주
input : ntime(240);#240분
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),Tcond(false),HH(0),LL(0),OO(0),diff(0);
Array : WH1[600](0),WH2[600](0),WH3[600](0),WH4[600](0),WH5[600](0);
Array : WL1[600](0),WL2[600](0),WL3[600](0),WL4[600](0),WL5[600](0);
var : WH1sum(0),WL1sum(0),WH1Sqrt(0),WL1Sqrt(0),Hma1(0),Lma1(0),WH1Stdv(0),WL1Stdv(0);
var : WH2sum(0),WL2sum(0),WH2Sqrt(0),WL2Sqrt(0),Hma2(0),Lma2(0),WH2Stdv(0),WL2Stdv(0);
var : WH3sum(0),WL3sum(0),WH3Sqrt(0),WL3Sqrt(0),Hma3(0),Lma3(0),WH3Stdv(0),WL3Stdv(0);
var : WH4sum(0),WL4sum(0),WH4Sqrt(0),WL4Sqrt(0),Hma4(0),Lma4(0),WH4Stdv(0),WL4Stdv(0);
var : WH5sum(0),WL5sum(0),WH5Sqrt(0),WL5Sqrt(0),Hma5(0),Lma5(0),WH5Stdv(0),WL5Stdv(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%ntime;
if (Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1])) then
{
OO = O;
HH = H;
LL = L;
if DayOfWeek(bdate) == 1 Then
{
for cnt = 1 to 599
{
WH1[cnt] = WH1[cnt-1][1];
WL1[cnt] = WL1[cnt-1][1];
}
}
if DayOfWeek(bdate) == 2 Then
{
for cnt = 1 to 599
{
WH2[cnt] = WH2[cnt-1][1];
WL2[cnt] = WL2[cnt-1][1];
}
}
if DayOfWeek(bdate) == 3 Then
{
for cnt = 1 to 599
{
WH3[cnt] = WH3[cnt-1][1];
WL3[cnt] = WL3[cnt-1][1];
}
}
if DayOfWeek(bdate) == 4 Then
{
for cnt = 1 to 599
{
WH4[cnt] = WH4[cnt-1][1];
WL4[cnt] = WL4[cnt-1][1];
}
}
if DayOfWeek(bdate) == 5 Then
{
for cnt = 1 to 599
{
wh5[cnt] = WH5[cnt-1][1];
WL5[cnt] = WL5[cnt-1][1];
}
}
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
if DayOfWeek(bdate) == 1 Then
{
WH1[0] = HH-OO;
WL1[0] = OO-LL;
}
if DayOfWeek(bdate) == 2 Then
{
WH2[0] = HH-OO;
WL2[0] = OO-LL;
}
if DayOfWeek(bdate) == 3 Then
{
WH3[0] = HH-OO;
WL3[0] = OO-LL;
}
if DayOfWeek(bdate) == 4 Then
{
WH4[0] = HH-OO;
WL4[0] = OO-LL;
}
if DayOfWeek(bdate) == 5 Then
{
WH5[0] = HH-OO;
WL5[0] = OO-LL;
}
}
if WH1[P-1] > 0 and WL1[P-1] > 0 and DayOfWeek(bdate) == 1 then
{
WH1sum = 0;
WL1sum = 0;
for cnt = 0 to P-1
{
WH1sum = WH1sum + WH1[cnt];
WL1sum = WL1sum + WL1[cnt];
}
Hma1 = WH1sum/P;
Lma1 = WL1sum/P;
WH1Sqrt = 0;
WL1Sqrt = 0;
For cnt = 0 To P - 1
{
WH1Sqrt = WH1Sqrt + (WH1[cnt] - Hma1)^2;
WL1Sqrt = WL1Sqrt + (WL1[cnt] - Lma1)^2;
}
WH1Stdv = SquareRoot(WH1Sqrt / P);
WL1Stdv = SquareRoot(WL1Sqrt / P);
var1 = OO+(Hma1+WH1Stdv*2);
var2 = OO-(Lma1+WL1Stdv*2);
var3 = OO+(Hma1+WH1Stdv);
var4 = OO-(Lma1+WL1Stdv);
Var5 = OO+(Hma1+WH1Stdv*3);
Var6 = OO-(Lma1+WL1Stdv*3);
Var7 = (OO+Hma1);
Var8 = (OO-Lma1);
}
if WH2[P-1] > 0 and WL2[P-1] > 0 and DayOfWeek(bdate) == 2 then
{
WH2sum = 0;
WL2sum = 0;
for cnt = 0 to P-1
{
WH2sum = WH2sum + WH2[cnt];
WL2sum = WL2sum + WL2[cnt];
}
Hma2 = WH2sum/P;
Lma2 = WL2sum/P;
WH2Sqrt = 0;
WL2Sqrt = 0;
For cnt = 0 To P - 1
{
WH2Sqrt = WH2Sqrt + (WH2[cnt] - Hma2)^2;
WL2Sqrt = WL2Sqrt + (WL2[cnt] - Lma2)^2;
}
WH2Stdv = SquareRoot(WH2Sqrt / P);
WL2Stdv = SquareRoot(WL2Sqrt / P);
var1 = OO+(Hma2+WH2Stdv*2);
var2 = OO-(Lma2+WL2Stdv*2);
var3 = OO+(Hma2+WH2Stdv);
var4 = OO-(Lma2+WL2Stdv);
Var5 = OO+(Hma2+WH2Stdv*3);
Var6 = OO-(Lma2+WL2Stdv*3);
Var7 = (OO+Hma2);
Var8 = (OO-Lma2);
}
if WH3[P-1] > 0 and WL3[P-1] > 0 and DayOfWeek(bdate) == 3 then
{
WH3sum = 0;
WL3sum = 0;
for cnt = 0 to P-1
{
WH3sum = WH3sum + WH3[cnt];
WL3sum = WL3sum + WL3[cnt];
}
Hma3 = WH3sum/P;
Lma3 = WL3sum/P;
WH3Sqrt = 0;
WL3Sqrt = 0;
For cnt = 0 To P - 1
{
WH3Sqrt = WH3Sqrt + (WH3[cnt] - Hma3)^2;
WL3Sqrt = WL3Sqrt + (WL3[cnt] - Lma3)^2;
}
WH3Stdv = SquareRoot(WH3Sqrt / P);
WL3Stdv = SquareRoot(WL3Sqrt / P);
var1 = OO+(Hma3+WH3Stdv*2);
var2 = OO-(Lma3+WL3Stdv*2);
var3 = OO+(Hma3+WH3Stdv);
var4 = OO-(Lma3+WL3Stdv);
Var5 = OO+(Hma3+WH3Stdv*3);
Var6 = OO-(Lma3+WL3Stdv*3);
Var7 = (OO+Hma3);
Var8 = (OO-Lma3);
}
if WH4[P-1] > 0 and WL4[P-1] > 0 and DayOfWeek(bdate) == 4 then
{
WH4sum = 0;
WL4sum = 0;
for cnt = 0 to P-1
{
WH4sum = WH4sum + WH4[cnt];
WL4sum = WL4sum + WL4[cnt];
}
Hma4 = WH4sum/P;
Lma4 = WL4sum/P;
WH4Sqrt = 0;
WL4Sqrt = 0;
For cnt = 0 To P - 1
{
WH4Sqrt = WH4Sqrt + (WH4[cnt] - Hma4)^2;
WL4Sqrt = WL4Sqrt + (WL4[cnt] - Lma4)^2;
}
WH4Stdv = SquareRoot(WH4Sqrt / P);
WL4Stdv = SquareRoot(WL4Sqrt / P);
var1 = OO+(Hma4+WH4Stdv*2);
var2 = OO-(Lma4+WL4Stdv*2);
var3 = OO+(Hma4+WH4Stdv);
var4 = OO-(Lma4+WL4Stdv);
Var5 = OO+(Hma4+WH4Stdv*3);
Var6 = OO-(Lma4+WL4Stdv*3);
Var7 = (OO+Hma4);
Var8 = (OO-Lma4);
}
if WH5[P-1] > 0 and WL5[P-1] > 0 and DayOfWeek(bdate) == 5 then
{
WH5sum = 0;
WL5sum = 0;
for cnt = 0 to P-1
{
WH5sum = WH5sum + WH5[cnt];
WL5sum = WL5sum + WL5[cnt];
}
Hma5 = WH5sum/P;
Lma5 = WL5sum/P;
WH5Sqrt = 0;
WL5Sqrt = 0;
For cnt = 0 To P - 1
{
WH5Sqrt = WH5Sqrt + (WH5[cnt] - Hma5)^2;
WL5Sqrt = WL5Sqrt + (WL5[cnt] - Lma5)^2;
}
WH5Stdv = SquareRoot(WH5Sqrt / P);
WL5Stdv = SquareRoot(WL5Sqrt / P);
var1 = OO+(Hma5+WH5Stdv*2);
var2 = OO-(Lma5+WL5Stdv*2);
var3 = OO+(Hma5+WH5Stdv);
var4 = OO-(Lma5+WL5Stdv);
Var5 = OO+(Hma5+WH5Stdv*3);
Var6 = OO-(Lma5+WL5Stdv*3);
Var7 = (OO+Hma5);
Var8 = (OO-Lma5);
}
diff = DayHigh-daylow;
if crossup(c,var7) and diff > diff[1] Then
sell("s");
if CrossDown(c,var8) and diff > diff[1] Then
buy("b");
- 수식2 -
input : P(520);#10년 520주
input : ntime(240);#240분
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),OO(0),HH(0),LL(0);
Array : WH1[600](0),WH2[600](0),WH3[600](0),WH4[600](0),WH5[600](0);
Array : WL1[600](0),WL2[600](0),WL3[600](0),WL4[600](0),WL5[600](0);
var : sum1(0),Sqrt1(0),ma1(0),Stdv1(0);
var : sum2(0),Sqrt2(0),ma2(0),stdv2(0);
var : sum3(0),Sqrt3(0),ma3(0),Stdv3(0);
var : sum4(0),Sqrt4(0),ma4(0),Stdv4(0);
var : sum5(0),Sqrt5(0),ma5(0),Stdv5(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%ntime;
if (Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1])) then
{
OO = O;
HH = H;
LL = L;
if DayOfWeek(bdate) == 1 Then
{
for cnt = 1 to 599
{
WH1[cnt] = WH1[cnt-1][1];
WL1[cnt] = WL1[cnt-1][1];
}
}
if DayOfWeek(bdate) == 2 Then
{
for cnt = 1 to 599
{
WH2[cnt] = WH2[cnt-1][1];
WL2[cnt] = WL2[cnt-1][1];
}
}
if DayOfWeek(bdate) == 3 Then
{
for cnt = 1 to 599
{
WH3[cnt] = WH3[cnt-1][1];
WL3[cnt] = WL3[cnt-1][1];
}
}
if DayOfWeek(bdate) == 4 Then
{
for cnt = 1 to 599
{
WH4[cnt] = WH4[cnt-1][1];
WL4[cnt] = WL4[cnt-1][1];
}
}
if DayOfWeek(bdate) == 5 Then
{
for cnt = 1 to 599
{
WH5[cnt] = WH5[cnt-1][1];
WL5[cnt] = WL5[cnt-1][1];
}
}
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
if DayOfWeek(bdate) == 1 Then
{
WH1[0] = HH;
WL1[0] = LL;
}
if DayOfWeek(bdate) == 2 Then
{
WH2[0] = HH;
WL2[0] = LL;
}
if DayOfWeek(bdate) == 3 Then
{
WH3[0] = HH;
WL3[0] = LL;
}
if DayOfWeek(bdate) == 4 Then
{
WH4[0] = HH;
WL4[0] = LL;
}
if DayOfWeek(bdate) == 5 Then
{
WH5[0] = HH;
WL5[0] = LL;
}
}
if WH1[P-1] > 0 and WL1[P-1] > 0 and DayOfWeek(bdate) == 1 then
{
sum1 = 0;
for cnt = 0 to P-1
{
sum1 = sum1 + (WH1[cnt]-WL1[cnt]);
}
ma1 = sum1/P;
Sqrt1 = 0;
For cnt = 0 To P - 1
{
Sqrt1 = Sqrt1 + ((WH1[cnt]-WL1[cnt]) - ma1)^2;
}
Stdv1 = SquareRoot(Sqrt1/ P);
plot1(ma1);
plot2(ma1+Stdv1);
plot3(ma1*0.8);
plot4((ma1+Stdv1)*0.8);
}
if WH2[P-1] > 0 and WL2[P-1] > 0 and DayOfWeek(bdate) == 2 then
{
sum2 = 0;
for cnt = 0 to P-1
{
sum2 = sum2 + (WH2[cnt]-WL2[cnt]);
}
ma2= sum2/P;
Sqrt2= 0;
For cnt = 0 To P - 1
{
Sqrt2 = Sqrt2 + ((WH2[cnt]-WL2[cnt]) - ma2)^2;
}
Stdv2 = SquareRoot(Sqrt2/ P);
plot1(ma2);
plot2(ma2+Stdv2);
plot3(ma2*0.8);
plot4((ma2+Stdv2)*0.8);
}
if WH3[P-1] > 0 and WL3[P-1] > 0 and DayOfWeek(bdate) == 3 then
{
sum3 = 0;
for cnt = 0 to P-1
{
sum3 = sum3 + (WH3[cnt]-WL3[cnt]);
}
ma3= sum3/P;
Sqrt3 = 0;
For cnt = 0 To P - 1
{
Sqrt3 = Sqrt3 + ((WH3[cnt]-WL3[cnt]) - ma3)^2;
}
Stdv3 = SquareRoot(Sqrt3/ P);
plot1(ma3);
plot2(ma3+Stdv3);
plot3(ma3*0.8);
plot4((ma3+Stdv3)*0.8);
}
if WH4[P-1] > 0 and WL4[P-1] > 0 and DayOfWeek(bdate) == 4 then
{
sum4 = 0;
for cnt = 0 to P-1
{
sum4 = sum4 + (WH4[cnt]-WL4[cnt]);
}
ma4= sum4/P;
Sqrt4 = 0;
For cnt = 0 To P - 1
{
Sqrt4 = Sqrt4 + ((WH4[cnt]-WL4[cnt]) - ma4)^2;
}
Stdv4 = SquareRoot(Sqrt4/ P);
plot1(ma4);
plot2(ma4+Stdv4);
plot3(ma4*0.8);
plot4((ma4+Stdv4)*0.8);
}
if WH5[P-1] > 0 and WL5[P-1] > 0 and DayOfWeek(bdate) == 5 then
{
sum5 = 0;
for cnt = 0 to P-1
{
sum5 = sum5 + (WH5[cnt]-WL5[cnt]);
}
ma5= sum5/P;
Sqrt5 = 0;
For cnt = 0 To P - 1
{
Sqrt5 = Sqrt5 + ((WH5[cnt]-WL5[cnt]) - ma5)^2;
}
Stdv5 = SquareRoot(Sqrt5/ P);
plot1(ma5);
plot2(ma5+Stdv5);
plot3(ma5*0.8);
plot4((ma5+Stdv5)*0.8);
}
plot5((DayHigh-daylow)/PriceScale,"당일변동폭");