커뮤니티

감사합니다만

프로필 이미지
회원
2008-12-26 12:59:58
672
글번호 19027
답변완료
매수진입 평단가 보다 1%높은 가격에 도달하면 매수진입이 나와야하는데 매수진입과 청산이 동시에 나오네요.. 퍼센티지 문제인가 싶어서 11%로 바꿔보았는데요 여전히 진입과 청산이 동시에 나옵니다~부탁드립니다~ ============================ input : 날짜(20080114),P1(4),P2(5),P3(10),P4(11),P5(13),p6(16),p7(20); input : L1(14),L2(15), 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 : mav14(0), mav15(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); var : entrycnt(0),entrycount(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 < 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; mav14 = var11/L1; mav15 = var12/L2; 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; entrycount = 0; for entrycnt = 0 to 10{ if sdate == EntryDate(entrycnt) Then entrycount = entrycount +1; } if entrycount == 0 Then{ if cond1 == true Then{ if buyCond1 == true and Sdate >= 날짜 and Bcnt1 < 1 Then{ buy("13ma"); Bcnt1 = 1; } } if cond1 == true or cond2 == true then{ if buyCond2 == true and Sdate >= 날짜 and Bcnt2 < 1 Then{ buy("16ma"); Bcnt2 = 1; } if buyCond3 == true and Sdate >= 날짜 and Bcnt3 < 1 Then{ buy("20ma"); Bcnt3 = 1; } } } if entrycount >= 1 and IsExitName("XXX",1) == False Then{ if cond1 == true Then{ if buyCond1 == true and Sdate >= 날짜 and Bcnt1 < 1 Then{ buy("13ma."); Bcnt1 = 1; } } if cond1 == true or cond2 == true then{ if buyCond2 == true and Sdate >= 날짜 and Bcnt2 < 1 Then{ buy("16ma."); Bcnt2 = 1; } if buyCond3 == true and Sdate >= 날짜 and Bcnt3 < 1 Then{ buy("20ma."); Bcnt3 = 1; } } } if MarketPosition() == 1 then{ if Bcnt1 == 1 and C <= mav14*1.005 and B11 < 1 Then{ buy("14ma"); B11 = 1; } if Bcnt1 == 1 and C <= mav15*1.005 and B12 < 1 Then{ buy("15ma"); B12 = 1; } } if MarketPosition() == 1 then{ if Bcnt2 == 1 and C <= mav17*1.005 and B21 < 1 Then{ buy("17ma"); B21 = 1; } if Bcnt2 == 1 and C <= mav18*1.005 and B22 < 1 Then{ buy("18ma"); B22 = 1; } if Bcnt2 == 1 and C <= mav19*1.005 and B23 < 1 Then{ buy("19ma"); B23 = 1; } } if MarketPosition() == 1 then{ if Bcnt3 == 1 and C <= mav21*1.005 and B31 < 1 Then{ buy("21ma"); B31 = 1; } if Bcnt3 == 1 and C <= mav22*1.005 and B32 < 1 Then{ buy("22ma"); B32 = 1; } if Bcnt3 == 1 and C <= mav23*1.005 and B33 < 1 Then{ buy("23ma"); B33 = 1; } } if MarketPosition() == 1 and sellcond1 == true Then { exitlong("4maEX1"); 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("5maEX2"); 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("10maEX3"); 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 C >= AvgEntryPrice()*1.11 Then exitlong("XXX");
검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2008-12-26 13:04:26

안녕하세요 예스스탁입니다. if MarketPosition() == 1 and C >= AvgEntryPrice()*1.11 Then exitlong("XXX"); 포지션 상태 함수를 넣으시기 바랍니다. 즐거운 하루되세요 > 부상전에탭치자 님이 쓴 글입니다. > 제목 : 감사합니다만 > 매수진입 평단가 보다 1%높은 가격에 도달하면 매수진입이 나와야하는데 매수진입과 청산이 동시에 나오네요.. 퍼센티지 문제인가 싶어서 11%로 바꿔보았는데요 여전히 진입과 청산이 동시에 나옵니다~부탁드립니다~ ============================ input : 날짜(20080114),P1(4),P2(5),P3(10),P4(11),P5(13),p6(16),p7(20); input : L1(14),L2(15), 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 : mav14(0), mav15(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); var : entrycnt(0),entrycount(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 < 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; mav14 = var11/L1; mav15 = var12/L2; 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; entrycount = 0; for entrycnt = 0 to 10{ if sdate == EntryDate(entrycnt) Then entrycount = entrycount +1; } if entrycount == 0 Then{ if cond1 == true Then{ if buyCond1 == true and Sdate >= 날짜 and Bcnt1 < 1 Then{ buy("13ma"); Bcnt1 = 1; } } if cond1 == true or cond2 == true then{ if buyCond2 == true and Sdate >= 날짜 and Bcnt2 < 1 Then{ buy("16ma"); Bcnt2 = 1; } if buyCond3 == true and Sdate >= 날짜 and Bcnt3 < 1 Then{ buy("20ma"); Bcnt3 = 1; } } } if entrycount >= 1 and IsExitName("XXX",1) == False Then{ if cond1 == true Then{ if buyCond1 == true and Sdate >= 날짜 and Bcnt1 < 1 Then{ buy("13ma."); Bcnt1 = 1; } } if cond1 == true or cond2 == true then{ if buyCond2 == true and Sdate >= 날짜 and Bcnt2 < 1 Then{ buy("16ma."); Bcnt2 = 1; } if buyCond3 == true and Sdate >= 날짜 and Bcnt3 < 1 Then{ buy("20ma."); Bcnt3 = 1; } } } if MarketPosition() == 1 then{ if Bcnt1 == 1 and C <= mav14*1.005 and B11 < 1 Then{ buy("14ma"); B11 = 1; } if Bcnt1 == 1 and C <= mav15*1.005 and B12 < 1 Then{ buy("15ma"); B12 = 1; } } if MarketPosition() == 1 then{ if Bcnt2 == 1 and C <= mav17*1.005 and B21 < 1 Then{ buy("17ma"); B21 = 1; } if Bcnt2 == 1 and C <= mav18*1.005 and B22 < 1 Then{ buy("18ma"); B22 = 1; } if Bcnt2 == 1 and C <= mav19*1.005 and B23 < 1 Then{ buy("19ma"); B23 = 1; } } if MarketPosition() == 1 then{ if Bcnt3 == 1 and C <= mav21*1.005 and B31 < 1 Then{ buy("21ma"); B31 = 1; } if Bcnt3 == 1 and C <= mav22*1.005 and B32 < 1 Then{ buy("22ma"); B32 = 1; } if Bcnt3 == 1 and C <= mav23*1.005 and B33 < 1 Then{ buy("23ma"); B33 = 1; } } if MarketPosition() == 1 and sellcond1 == true Then { exitlong("4maEX1"); 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("5maEX2"); 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("10maEX3"); 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 C >= AvgEntryPrice()*1.11 Then exitlong("XXX");