커뮤니티

감사합니다만 수식이 아직 맞지 않네요

프로필 이미지
회원
2008-09-25 21:01:02
769
글번호 17240
답변완료

첨부 이미지

제가 원한 수식으로는 에듀박스 1월14일 1분봉에 적용시 모든 ma에 들어갔어야하는데 그림으로보듯이 B2 추가부터 안나오네요
시스템
답변 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 추가부터 안나오네요