커뮤니티
감사합니다만 수식이 아직 맞지 않네요
2008-09-25 21:01:02
769
글번호 17240
제가 원한 수식으로는
에듀박스 1월14일 1분봉에
적용시
모든 ma에 들어갔어야하는데
그림으로보듯이
B2 추가부터 안나오네요
- 1. 에듀박스 1분봉2.JPG (0.15 MB)
답변 1
예스스탁 예스스탁 답변
2008-09-26 09:25:02
안녕하세요
예스스탁입니다.
식을 2개 올려드립니다.
1번식은
예를 들어 B1진입 후에 mav1395*1.005, mav1490*1.005, mav1582*1.005 값보다
가격이 낮기만 하면 B1추가-1,B1추가-2,B1추가-3이 한꺼번에 나가게 됩니다.
2번식은
B1매수 이후에 해당 이평값보다 높은 값이었다가 낮아졌을 경우만 추가진입하게 됩니다.
청산식이 최종 12회 진입 이후에 청산하게 설정되어 있습니다.
필요없는 사항이시면 if MaxEntries >= 12 Then{을 삭제하시기 바랍니다.
즐거운 하루되세요
1.
input : 날짜(20080114),P1(4),P2(5),P3(10),P4(11),P5(13),p6(16),p7(20),Pcnt(1);
input : L1(13.95),L2(14.9),L3(15.82),L4(17),L5(18),L6(19),L7(21),L8(22),L9(23);
var : cnt(0),mav4(0),mav5(0),mav10(0),mav11(0),mav13(0),mav16(0),mav20(0);
var : cond1(False),cond2(false),Bcnt1(0),Bcnt2(0),Bcnt3(0);
var : buycond1(False),buycond2(False),buycond3(false);
var : sellcond1(False),sellcond2(False),sellcond3(false);
var : mav1395(0), mav1490(0),mav1582(0),mav17(0),mav18(0),mav19(0),mav21(0),mav22(0),mav23(0);
var : B11(0),B12(0),B13(0),B21(0),B22(0),B23(0),B31(0),B32(0),B33(0);
var1 = 0;
var2 = 0;
var3 = 0;
var4 = 0;
var5 = 0;
var6 = 0;
var7 = 0;
var11 = 0;
var12 = 0;
var13 = 0;
var14 = 0;
var15 = 0;
var16 = 0;
var17 = 0;
var18 = 0;
var19 = 0;
for cnt = 0 to L9-1{
if cnt < P1 Then
var1 = var1 + dayclose(cnt);
if cnt < P2 Then
var2 = var2 + dayclose(cnt);
if cnt < P3 Then
var3 = var3 + dayclose(cnt);
if cnt < P4 then
var4 = var4 + dayclose(cnt);
if cnt < P5 then
var5 = var5 + dayclose(cnt);
if cnt < P6 then
var6 = var6 + dayclose(cnt);
if cnt < P7 then
var7 = var7 + dayclose(cnt);
if cnt < L1 Then
var11 = var11 + dayclose(cnt);
if cnt < L2 Then
var12 = var12 + dayclose(cnt);
if cnt < L3 Then
var13 = var13 + dayclose(cnt);
if cnt < L4 then
var14 = var14 + dayclose(cnt);
if cnt < L5 then
var15 = var15 + dayclose(cnt);
if cnt < L6 then
var16 = var16 + dayclose(cnt);
if cnt < L7 then
var17 = var17 + dayclose(cnt);
if cnt < L8 then
var18 = var18 + dayclose(cnt);
if cnt < L9 then
var19 = var19 + dayclose(cnt);
}
mav4 = var1/P1;
mav5 = var2/p2;
mav10 = var3/P3;
mav11 = var4/P4;
mav13 = var5/P5;
mav16 = var6/P6;
mav20 = var7/P7;
mav1395 = var11/L1;
mav1490 = var12/L2;
mav1582 = var13/L3;
mav17 = var14/L4;
mav18 = var15/L5;
mav19 = var16/L6;
mav21 = var17/L7;
mav22 = var18/L8;
mav23 = var19/L9;
cond1 = dayopen() >= mav11*0.99;
cond2 = dayopen() < mav11*0.99;
buyCond1 =dayclose(1) >= 1025 and
C > dayclose(1)*0.89 and
c <= mav13*1.005;
buyCond2 = dayclose(1) >= 1025 and
C > dayclose(1)*0.87 and
c <= mav16*1.005;
buyCond3 = dayclose(1) >= 1025 and
C > dayclose(1)*0.87 and
c <= mav20*1.005;
sellcond1 = C >= mav4*0.99;
sellcond2 = C >= mav5*0.99;
sellcond3 = mav4 >= mav10*0.99 and mav4 <= mav10*1.01 and
C >= mav10*0.988;
if cond1 == true Then{
if buyCond1 == true and Sdate >= 날짜 and Bcnt1 < 1 Then{
buy("B1매수");
Bcnt1 = 1;
}
}
if cond1 == true or cond2 == true then{
if buyCond2 == true and Sdate >= 날짜 and Bcnt2 < 1 Then{
buy("B2매수");
Bcnt2 = 1;
}
if buyCond3 == true and Sdate >= 날짜 and Bcnt3 < 1 Then{
buy("B3매수");
Bcnt3 = 1;
}
}
if MarketPosition() == 1 then{
if Bcnt1 == 1 and C <= mav1395*1.005 and B11 < 1 Then{
buy("B1추가-1");
B11 = 1;
}
if Bcnt1 == 1 and C <= mav1490*1.005 and B12 < 1 Then{
buy("B1추가-2");
B12 = 1;
}
if Bcnt1 == 1 and C <= mav1582*1.005 and B13 < 1 Then{
buy("B1추가-3");
B13 = 1;
}
}
if MarketPosition() == 1 then{
if Bcnt2 == 1 and C <= mav1395*1.005 and B21 < 1 Then{
buy("B2추가-1");
B21 = 1;
}
if Bcnt2 == 1 and C <= mav1490*1.005 and B22 < 1 Then{
buy("B2추가-2");
B22 = 1;
}
if Bcnt2 == 1 and C <= mav1582*1.005 and B23 < 1 Then{
buy("B2추가-3");
B23 = 1;
}
}
if MarketPosition() == 1 then{
if Bcnt3 == 1 and C <= mav1395*1.005 and B31 < 1 Then{
buy("B3추가-1");
B31 = 1;
}
if Bcnt3 == 1 and C <= mav1490*1.005 and B32 < 1 Then{
buy("B3추가-2");
B32 = 1;
}
if Bcnt3 == 1 and C <= mav1582*1.005 and B33 < 1 Then{
buy("B3추가-3");
B33 = 1;
}
}
if MaxEntries >= 12 Then{
if MarketPosition() == 1 and sellcond1 == true Then {
exitlong("EX1");
Bcnt1 = 1;
Bcnt2 = 1;
Bcnt3 = 1;
B11 = 0;
B12 = 0;
B13 = 0;
B21 = 0;
B22 = 0;
B23 = 0;
B31 = 0;
B32 = 0;
B33 = 0;
}
if MarketPosition() == 1 and sellcond2 == true Then {
exitlong("EX2");
Bcnt1 = 1;
Bcnt2 = 1;
Bcnt3 = 1;
B11 = 0;
B12 = 0;
B13 = 0;
B21 = 0;
B22 = 0;
B23 = 0;
B31 = 0;
B32 = 0;
B33 = 0;
}
if MarketPosition() == 1 and sellcond3 == true Then {
exitlong("EX3");
Bcnt1 = 1;
Bcnt2 = 1;
Bcnt3 = 1;
B11 = 0;
B12 = 0;
B13 = 0;
B21 = 0;
B22 = 0;
B23 = 0;
B31 = 0;
B32 = 0;
B33 = 0;
}
}
2.
input : 날짜(20080114),P1(4),P2(5),P3(10),P4(11),P5(13),p6(16),p7(20),Pcnt(1);
input : L1(13.95),L2(14.9),L3(15.82),L4(17),L5(18),L6(19),L7(21),L8(22),L9(23);
var : cnt(0),mav4(0),mav5(0),mav10(0),mav11(0),mav13(0),mav16(0),mav20(0);
var : cond1(False),cond2(false),Bcnt1(0),Bcnt2(0),Bcnt3(0);
var : buycond1(False),buycond2(False),buycond3(false);
var : sellcond1(False),sellcond2(False),sellcond3(false);
var : mav1395(0), mav1490(0),mav1582(0),mav17(0),mav18(0),mav19(0),mav21(0),mav22(0),mav23(0);
var : B11(0),B12(0),B13(0),B21(0),B22(0),B23(0),B31(0),B32(0),B33(0);
var1 = 0;
var2 = 0;
var3 = 0;
var4 = 0;
var5 = 0;
var6 = 0;
var7 = 0;
var11 = 0;
var12 = 0;
var13 = 0;
var14 = 0;
var15 = 0;
var16 = 0;
var17 = 0;
var18 = 0;
var19 = 0;
for cnt = 0 to L9-1{
if cnt < P1 Then
var1 = var1 + dayclose(cnt);
if cnt < P2 Then
var2 = var2 + dayclose(cnt);
if cnt < P3 Then
var3 = var3 + dayclose(cnt);
if cnt < P4 then
var4 = var4 + dayclose(cnt);
if cnt < P5 then
var5 = var5 + dayclose(cnt);
if cnt < P6 then
var6 = var6 + dayclose(cnt);
if cnt < P7 then
var7 = var7 + dayclose(cnt);
if cnt < L1 Then
var11 = var11 + dayclose(cnt);
if cnt < L2 Then
var12 = var12 + dayclose(cnt);
if cnt < L3 Then
var13 = var13 + dayclose(cnt);
if cnt < L4 then
var14 = var14 + dayclose(cnt);
if cnt < L5 then
var15 = var15 + dayclose(cnt);
if cnt < L6 then
var16 = var16 + dayclose(cnt);
if cnt < L7 then
var17 = var17 + dayclose(cnt);
if cnt < L8 then
var18 = var18 + dayclose(cnt);
if cnt < L9 then
var19 = var19 + dayclose(cnt);
}
mav4 = var1/P1;
mav5 = var2/p2;
mav10 = var3/P3;
mav11 = var4/P4;
mav13 = var5/P5;
mav16 = var6/P6;
mav20 = var7/P7;
mav1395 = var11/L1;
mav1490 = var12/L2;
mav1582 = var13/L3;
mav17 = var14/L4;
mav18 = var15/L5;
mav19 = var16/L6;
mav21 = var17/L7;
mav22 = var18/L8;
mav23 = var19/L9;
cond1 = dayopen() >= mav11*0.99;
cond2 = dayopen() < mav11*0.99;
buyCond1 =dayclose(1) >= 1025 and
C > dayclose(1)*0.89 and
c <= mav13*1.005;
buyCond2 = dayclose(1) >= 1025 and
C > dayclose(1)*0.87 and
c <= mav16*1.005;
buyCond3 = dayclose(1) >= 1025 and
C > dayclose(1)*0.87 and
c <= mav20*1.005;
sellcond1 = C >= mav4*0.99;
sellcond2 = C >= mav5*0.99;
sellcond3 = mav4 >= mav10*0.99 and mav4 <= mav10*1.01 and
C >= mav10*0.988;
if cond1 == true Then{
if buyCond1 == true and Sdate >= 날짜 and Bcnt1 < 1 Then{
buy("B1매수");
Bcnt1 = 1;
}
}
if cond1 == true or cond2 == true then{
if buyCond2 == true and Sdate >= 날짜 and Bcnt2 < 1 Then{
buy("B2매수");
Bcnt2 = 1;
}
if buyCond3 == true and Sdate >= 날짜 and Bcnt3 < 1 Then{
buy("B3매수");
Bcnt3 = 1;
}
}
if MarketPosition() == 1 then{
if Bcnt1 == 1 and crossdown(C,mav1395*1.005) and B11 < 1 Then{
buy("B1추가-1");
B11 = 1;
}
if Bcnt1 == 1 and crossup(C, mav1490*1.005) and B12 < 1 Then{
buy("B1추가-2");
B12 = 1;
}
if Bcnt1 == 1 and crossup(C,mav1582*1.005) and B13 < 1 Then{
buy("B1추가-3");
B13 = 1;
}
}
if MarketPosition() == 1 then{
if Bcnt2 == 1 and crossup(C,mav1395*1.005) and B21 < 1 Then{
buy("B2추가-1");
B21 = 1;
}
if Bcnt2 == 1 and crossup(C, mav1490*1.005) and B22 < 1 Then{
buy("B2추가-2");
B22 = 1;
}
if Bcnt2 == 1 and crossup(C, mav1582*1.005) and B23 < 1 Then{
buy("B2추가-3");
B23 = 1;
}
}
if MarketPosition() == 1 then{
if Bcnt3 == 1 and crossup(C, mav1395*1.005) and B31 < 1 Then{
buy("B3추가-1");
B31 = 1;
}
if Bcnt3 == 1 and crossup(C, mav1490*1.005) and B32 < 1 Then{
buy("B3추가-2");
B32 = 1;
}
if Bcnt3 == 1 and crossup(C, mav1582*1.005) and B33 < 1 Then{
buy("B3추가-3");
B33 = 1;
}
}
if MaxEntries >= 12 Then{
if MarketPosition() == 1 and sellcond1 == true Then {
exitlong("EX1");
Bcnt1 = 1;
Bcnt2 = 1;
Bcnt3 = 1;
B11 = 0;
B12 = 0;
B13 = 0;
B21 = 0;
B22 = 0;
B23 = 0;
B31 = 0;
B32 = 0;
B33 = 0;
}
if MarketPosition() == 1 and sellcond2 == true Then {
exitlong("EX2");
Bcnt1 = 1;
Bcnt2 = 1;
Bcnt3 = 1;
B11 = 0;
B12 = 0;
B13 = 0;
B21 = 0;
B22 = 0;
B23 = 0;
B31 = 0;
B32 = 0;
B33 = 0;
}
if MarketPosition() == 1 and sellcond3 == true Then {
exitlong("EX3");
Bcnt1 = 1;
Bcnt2 = 1;
Bcnt3 = 1;
B11 = 0;
B12 = 0;
B13 = 0;
B21 = 0;
B22 = 0;
B23 = 0;
B31 = 0;
B32 = 0;
B33 = 0;
}
}
즐거운 하루되세요
> 부상전에탭치자 님이 쓴 글입니다.
> 제목 : 감사합니다만 수식이 아직 맞지 않네요
> 제가 원한 수식으로는
에듀박스 1월14일 1분봉에
적용시
모든 ma에 들어갔어야하는데
그림으로보듯이
B2 추가부터 안나오네요