커뮤니티

수정 부탁드립니다

프로필 이미지
knp116
2016-03-04 13:02:26
132
글번호 95984
답변완료
틱에서 실행했는데 신호가 발생하지 않습니다 틱에서 30분 확인하는 수식 설명도 부탁드립니다 ^^; input : P(4); var : TF(0),cnt(0),sum(0),mav(0); Array : CC[100](0),OO[100](0); TF = TimeToMinutes(stime); if bdate != bdate[1] or (bdate == bdate[1] and TF < TF[1]) Then{ OO[0] = O; for cnt = 0 to 99{ CC[cnt] = CC[cnt-1][1]; OO[cnt] = OO[cnt-1][1]; } } CC[0] = C; sum = 0; for cnt = 0 to P-1{ sum = sum + CC[cnt]; } mav = sum/P; ## 매수할때는 "a" 조건을 만족할때 Var1 = MA(C,5); Var2 = MA(C,20); Var3 = MA(C,60); Var4 = MA(C,120); Var5 = MA(C,240); var6 = max(C,O)-abs(C-O)*(2/3); var7 = min(C,O)+abs(C-O)*(2/3); If stime >= 090200 and stime < 150000 and ((Var1 <= Var2) OR (Var1 >= Var2)) aND var2 > var3 and VAR3>VAR5 And C>C[4] And C>O And ((CrossUp(Close,Var2)) OR (Open >= Var1) OR (Open >= Var2)) And ((Var2 >Var2 [15]) OR (VAr3 >Var3 [55])) and c>var2 and o > dayopen and CC[0] > OO[0] and C > mav and CC[P-1] > 0 THEN BUY("A"); If MarketPosition() == 1 THEN { If EntryPrice > MA(Close, 20)[BarsSinceEntry] And Close < Open And ((Crossdown(var7,Var2)) OR (Open <= Var2)) THEN ExitLong("A0"); } ## 매도할때는 "B"조건을 만족할때 if stime >= 090200 and stime < 150000 and MarketPosition() ==0 AND var1 >= var2-0.05 and var2<var3 And var3<var5 And C<C[4] And C<O and c<var2 And ((CrossDOWN(Close,Var2)) or (Open <= Var1) or (Open <= Var2)) And ((Var3 <Var3 [55]) OR (VAr2 <Var2 [15])) and o < dayopen and CC[0] < OO[0] and C < mav and CC[P-1] < 0 then SELL("B"); If MarketPosition() == -1 THEN { If EntryPrice < MA(Close, 20)[BarsSinceEntry] And Close > Open And ((CrossUp(var6,Var2)) OR (Open >= Var2)) THEN ExitShort("B0"); } SetStopEndofday(150410);
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2016-03-04 14:56:24

안녕하세요 예스스탁입니다. 수식에 누락된 부분이 있어 수정했습니다. input : P(4); var : TF(0),cnt(0),sum(0),mav(0); Array : CC[100](0),OO[100](0); TF = TimeToMinutes(stime)%30; if bdate != bdate[1] or (bdate == bdate[1] and TF < TF[1]) Then{ OO[0] = O; for cnt = 1 to 99{ CC[cnt] = CC[cnt-1][1]; OO[cnt] = OO[cnt-1][1]; } } CC[0] = C; sum = 0; for cnt = 0 to P-1{ sum = sum + CC[cnt]; } mav = sum/P; ## 매수할때는 "a" 조건을 만족할때 Var1 = MA(C,5); Var2 = MA(C,20); Var3 = MA(C,60); Var4 = MA(C,120); Var5 = MA(C,240); var6 = max(C,O)-abs(C-O)*(2/3); var7 = min(C,O)+abs(C-O)*(2/3); If stime >= 090200 and stime < 150000 and ((Var1 <= Var2) OR (Var1 >= Var2)) and var2 > var3 and VAR3>VAR5 And C>C[4] And C>O And ((CrossUp(Close,Var2)) OR (Open >= Var1) OR (Open >= Var2)) And ((Var2 >Var2 [15]) OR (VAr3 >Var3 [55])) and c>var2 and o > dayopen and CC[0] > OO[0] and C > mav and CC[P-1] > 0 THEN BUY("A"); If MarketPosition() == 1 THEN { If EntryPrice > MA(Close, 20)[BarsSinceEntry] And Close < Open And ((Crossdown(var7,Var2)) OR (Open <= Var2)) THEN ExitLong("A0"); } ## 매도할때는 "B"조건을 만족할때 if stime >= 090200 and stime < 150000 and MarketPosition() ==0 AND var1 >= var2-0.05 and var2<var3 And var3<var5 And C<C[4] And C<O and c<var2 And ((CrossDOWN(Close,Var2)) or (Open <= Var1) or (Open <= Var2)) And ((Var3 <Var3 [55]) OR (VAr2 <Var2 [15])) and o < dayopen and CC[0] < OO[0] and C < mav and CC[P-1] < 0 then SELL("B"); If MarketPosition() == -1 THEN { If EntryPrice < MA(Close, 20)[BarsSinceEntry] And Close > Open And ((CrossUp(var6,Var2)) OR (Open >= Var2)) THEN ExitShort("B0"); } SetStopEndofday(150410); 즐거운 하루되세요 > knp116 님이 쓴 글입니다. > 제목 : 수정 부탁드립니다 > 틱에서 실행했는데 신호가 발생하지 않습니다 틱에서 30분 확인하는 수식 설명도 부탁드립니다 ^^; input : P(4); var : TF(0),cnt(0),sum(0),mav(0); Array : CC[100](0),OO[100](0); TF = TimeToMinutes(stime); if bdate != bdate[1] or (bdate == bdate[1] and TF < TF[1]) Then{ OO[0] = O; for cnt = 0 to 99{ CC[cnt] = CC[cnt-1][1]; OO[cnt] = OO[cnt-1][1]; } } CC[0] = C; sum = 0; for cnt = 0 to P-1{ sum = sum + CC[cnt]; } mav = sum/P; ## 매수할때는 "a" 조건을 만족할때 Var1 = MA(C,5); Var2 = MA(C,20); Var3 = MA(C,60); Var4 = MA(C,120); Var5 = MA(C,240); var6 = max(C,O)-abs(C-O)*(2/3); var7 = min(C,O)+abs(C-O)*(2/3); If stime >= 090200 and stime < 150000 and ((Var1 <= Var2) OR (Var1 >= Var2)) aND var2 > var3 and VAR3>VAR5 And C>C[4] And C>O And ((CrossUp(Close,Var2)) OR (Open >= Var1) OR (Open >= Var2)) And ((Var2 >Var2 [15]) OR (VAr3 >Var3 [55])) and c>var2 and o > dayopen and CC[0] > OO[0] and C > mav and CC[P-1] > 0 THEN BUY("A"); If MarketPosition() == 1 THEN { If EntryPrice > MA(Close, 20)[BarsSinceEntry] And Close < Open And ((Crossdown(var7,Var2)) OR (Open <= Var2)) THEN ExitLong("A0"); } ## 매도할때는 "B"조건을 만족할때 if stime >= 090200 and stime < 150000 and MarketPosition() ==0 AND var1 >= var2-0.05 and var2<var3 And var3<var5 And C<C[4] And C<O and c<var2 And ((CrossDOWN(Close,Var2)) or (Open <= Var1) or (Open <= Var2)) And ((Var3 <Var3 [55]) OR (VAr2 <Var2 [15])) and o < dayopen and CC[0] < OO[0] and C < mav and CC[P-1] < 0 then SELL("B"); If MarketPosition() == -1 THEN { If EntryPrice < MA(Close, 20)[BarsSinceEntry] And Close > Open And ((CrossUp(var6,Var2)) OR (Open >= Var2)) THEN ExitShort("B0"); } SetStopEndofday(150410);
프로필 이미지

knp116

2016-03-04 23:40:33

매수는 신호가 발생하는데, 매도는 신호가 발생하지 않습니다 확인 부탁드립니다 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수정 부탁드립니다 > 안녕하세요 예스스탁입니다. 수식에 누락된 부분이 있어 수정했습니다. input : P(4); var : TF(0),cnt(0),sum(0),mav(0); Array : CC[100](0),OO[100](0); TF = TimeToMinutes(stime)%30; if bdate != bdate[1] or (bdate == bdate[1] and TF < TF[1]) Then{ OO[0] = O; for cnt = 1 to 99{ CC[cnt] = CC[cnt-1][1]; OO[cnt] = OO[cnt-1][1]; } } CC[0] = C; sum = 0; for cnt = 0 to P-1{ sum = sum + CC[cnt]; } mav = sum/P; ## 매수할때는 "a" 조건을 만족할때 Var1 = MA(C,5); Var2 = MA(C,20); Var3 = MA(C,60); Var4 = MA(C,120); Var5 = MA(C,240); var6 = max(C,O)-abs(C-O)*(2/3); var7 = min(C,O)+abs(C-O)*(2/3); If stime >= 090200 and stime < 150000 and ((Var1 <= Var2) OR (Var1 >= Var2)) and var2 > var3 and VAR3>VAR5 And C>C[4] And C>O And ((CrossUp(Close,Var2)) OR (Open >= Var1) OR (Open >= Var2)) And ((Var2 >Var2 [15]) OR (VAr3 >Var3 [55])) and c>var2 and o > dayopen and CC[0] > OO[0] and C > mav and CC[P-1] > 0 THEN BUY("A"); If MarketPosition() == 1 THEN { If EntryPrice > MA(Close, 20)[BarsSinceEntry] And Close < Open And ((Crossdown(var7,Var2)) OR (Open <= Var2)) THEN ExitLong("A0"); } ## 매도할때는 "B"조건을 만족할때 if stime >= 090200 and stime < 150000 and MarketPosition() ==0 AND var1 >= var2-0.05 and var2<var3 And var3<var5 And C<C[4] And C<O and c<var2 And ((CrossDOWN(Close,Var2)) or (Open <= Var1) or (Open <= Var2)) And ((Var3 <Var3 [55]) OR (VAr2 <Var2 [15])) and o < dayopen and CC[0] < OO[0] and C < mav and CC[P-1] < 0 then SELL("B"); If MarketPosition() == -1 THEN { If EntryPrice < MA(Close, 20)[BarsSinceEntry] And Close > Open And ((CrossUp(var6,Var2)) OR (Open >= Var2)) THEN ExitShort("B0"); } SetStopEndofday(150410); 즐거운 하루되세요 > knp116 님이 쓴 글입니다. > 제목 : 수정 부탁드립니다 > 틱에서 실행했는데 신호가 발생하지 않습니다 틱에서 30분 확인하는 수식 설명도 부탁드립니다 ^^; input : P(4); var : TF(0),cnt(0),sum(0),mav(0); Array : CC[100](0),OO[100](0); TF = TimeToMinutes(stime); if bdate != bdate[1] or (bdate == bdate[1] and TF < TF[1]) Then{ OO[0] = O; for cnt = 0 to 99{ CC[cnt] = CC[cnt-1][1]; OO[cnt] = OO[cnt-1][1]; } } CC[0] = C; sum = 0; for cnt = 0 to P-1{ sum = sum + CC[cnt]; } mav = sum/P; ## 매수할때는 "a" 조건을 만족할때 Var1 = MA(C,5); Var2 = MA(C,20); Var3 = MA(C,60); Var4 = MA(C,120); Var5 = MA(C,240); var6 = max(C,O)-abs(C-O)*(2/3); var7 = min(C,O)+abs(C-O)*(2/3); If stime >= 090200 and stime < 150000 and ((Var1 <= Var2) OR (Var1 >= Var2)) aND var2 > var3 and VAR3>VAR5 And C>C[4] And C>O And ((CrossUp(Close,Var2)) OR (Open >= Var1) OR (Open >= Var2)) And ((Var2 >Var2 [15]) OR (VAr3 >Var3 [55])) and c>var2 and o > dayopen and CC[0] > OO[0] and C > mav and CC[P-1] > 0 THEN BUY("A"); If MarketPosition() == 1 THEN { If EntryPrice > MA(Close, 20)[BarsSinceEntry] And Close < Open And ((Crossdown(var7,Var2)) OR (Open <= Var2)) THEN ExitLong("A0"); } ## 매도할때는 "B"조건을 만족할때 if stime >= 090200 and stime < 150000 and MarketPosition() ==0 AND var1 >= var2-0.05 and var2<var3 And var3<var5 And C<C[4] And C<O and c<var2 And ((CrossDOWN(Close,Var2)) or (Open <= Var1) or (Open <= Var2)) And ((Var3 <Var3 [55]) OR (VAr2 <Var2 [15])) and o < dayopen and CC[0] < OO[0] and C < mav and CC[P-1] < 0 then SELL("B"); If MarketPosition() == -1 THEN { If EntryPrice < MA(Close, 20)[BarsSinceEntry] And Close > Open And ((CrossUp(var6,Var2)) OR (Open >= Var2)) THEN ExitShort("B0"); } SetStopEndofday(150410);
프로필 이미지

예스스탁 예스스탁 답변

2016-03-07 08:36:08

안녕하세요 예스스탁입니다. 수정한 식입니다. input : P(4); var : TF(0),cnt(0),sum(0),mav(0); Array : CC[100](0),OO[100](0); TF = TimeToMinutes(stime)%30; if bdate != bdate[1] or (bdate == bdate[1] and TF < TF[1]) Then{ OO[0] = O; for cnt = 1 to 99{ CC[cnt] = CC[cnt-1][1]; OO[cnt] = OO[cnt-1][1]; } } CC[0] = C; sum = 0; for cnt = 0 to P-1{ sum = sum + CC[cnt]; } mav = sum/P; ## 매수할때는 "a" 조건을 만족할때 Var1 = MA(C,5); Var2 = MA(C,20); Var3 = MA(C,60); Var4 = MA(C,120); Var5 = MA(C,240); var6 = max(C,O)-abs(C-O)*(2/3); var7 = min(C,O)+abs(C-O)*(2/3); If stime >= 090200 and stime < 150000 and ((Var1 <= Var2) OR (Var1 >= Var2)) and var2 > var3 and VAR3>VAR5 And C>C[4] And C>O And ((CrossUp(Close,Var2)) OR (Open >= Var1) OR (Open >= Var2)) And ((Var2 >Var2 [15]) OR (VAr3 >Var3 [55])) and c>var2 and o > dayopen and CC[0] > OO[0] and C > mav and CC[P-1] > 0 THEN BUY("A"); If MarketPosition() == 1 THEN { If EntryPrice > MA(Close, 20)[BarsSinceEntry] And Close < Open And ((Crossdown(var7,Var2)) OR (Open <= Var2)) THEN ExitLong("A0"); } ## 매도할때는 "B"조건을 만족할때 if stime >= 090200 and stime < 150000 and MarketPosition() ==0 AND var1 >= var2-0.05 and var2<var3 And var3<var5 And C<C[4] And C<O and c<var2 And ((CrossDOWN(Close,Var2)) or (Open <= Var1) or (Open <= Var2)) And ((Var3 <Var3 [55]) OR (VAr2 <Var2 [15])) and o < dayopen and CC[0] < OO[0] and C < mav and CC[P-1] > 0 then SELL("B"); If MarketPosition() == -1 THEN { If EntryPrice < MA(Close, 20)[BarsSinceEntry] And Close > Open And ((CrossUp(var6,Var2)) OR (Open >= Var2)) THEN ExitShort("B0"); } SetStopEndofday(150410); 즐거운 하루되세요 > knp116 님이 쓴 글입니다. > 제목 : Re : Re : 수정 부탁드립니다 > 매수는 신호가 발생하는데, 매도는 신호가 발생하지 않습니다 확인 부탁드립니다 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수정 부탁드립니다 > 안녕하세요 예스스탁입니다. 수식에 누락된 부분이 있어 수정했습니다. input : P(4); var : TF(0),cnt(0),sum(0),mav(0); Array : CC[100](0),OO[100](0); TF = TimeToMinutes(stime)%30; if bdate != bdate[1] or (bdate == bdate[1] and TF < TF[1]) Then{ OO[0] = O; for cnt = 1 to 99{ CC[cnt] = CC[cnt-1][1]; OO[cnt] = OO[cnt-1][1]; } } CC[0] = C; sum = 0; for cnt = 0 to P-1{ sum = sum + CC[cnt]; } mav = sum/P; ## 매수할때는 "a" 조건을 만족할때 Var1 = MA(C,5); Var2 = MA(C,20); Var3 = MA(C,60); Var4 = MA(C,120); Var5 = MA(C,240); var6 = max(C,O)-abs(C-O)*(2/3); var7 = min(C,O)+abs(C-O)*(2/3); If stime >= 090200 and stime < 150000 and ((Var1 <= Var2) OR (Var1 >= Var2)) and var2 > var3 and VAR3>VAR5 And C>C[4] And C>O And ((CrossUp(Close,Var2)) OR (Open >= Var1) OR (Open >= Var2)) And ((Var2 >Var2 [15]) OR (VAr3 >Var3 [55])) and c>var2 and o > dayopen and CC[0] > OO[0] and C > mav and CC[P-1] > 0 THEN BUY("A"); If MarketPosition() == 1 THEN { If EntryPrice > MA(Close, 20)[BarsSinceEntry] And Close < Open And ((Crossdown(var7,Var2)) OR (Open <= Var2)) THEN ExitLong("A0"); } ## 매도할때는 "B"조건을 만족할때 if stime >= 090200 and stime < 150000 and MarketPosition() ==0 AND var1 >= var2-0.05 and var2<var3 And var3<var5 And C<C[4] And C<O and c<var2 And ((CrossDOWN(Close,Var2)) or (Open <= Var1) or (Open <= Var2)) And ((Var3 <Var3 [55]) OR (VAr2 <Var2 [15])) and o < dayopen and CC[0] < OO[0] and C < mav and CC[P-1] < 0 then SELL("B"); If MarketPosition() == -1 THEN { If EntryPrice < MA(Close, 20)[BarsSinceEntry] And Close > Open And ((CrossUp(var6,Var2)) OR (Open >= Var2)) THEN ExitShort("B0"); } SetStopEndofday(150410); 즐거운 하루되세요 > knp116 님이 쓴 글입니다. > 제목 : 수정 부탁드립니다 > 틱에서 실행했는데 신호가 발생하지 않습니다 틱에서 30분 확인하는 수식 설명도 부탁드립니다 ^^; input : P(4); var : TF(0),cnt(0),sum(0),mav(0); Array : CC[100](0),OO[100](0); TF = TimeToMinutes(stime); if bdate != bdate[1] or (bdate == bdate[1] and TF < TF[1]) Then{ OO[0] = O; for cnt = 0 to 99{ CC[cnt] = CC[cnt-1][1]; OO[cnt] = OO[cnt-1][1]; } } CC[0] = C; sum = 0; for cnt = 0 to P-1{ sum = sum + CC[cnt]; } mav = sum/P; ## 매수할때는 "a" 조건을 만족할때 Var1 = MA(C,5); Var2 = MA(C,20); Var3 = MA(C,60); Var4 = MA(C,120); Var5 = MA(C,240); var6 = max(C,O)-abs(C-O)*(2/3); var7 = min(C,O)+abs(C-O)*(2/3); If stime >= 090200 and stime < 150000 and ((Var1 <= Var2) OR (Var1 >= Var2)) aND var2 > var3 and VAR3>VAR5 And C>C[4] And C>O And ((CrossUp(Close,Var2)) OR (Open >= Var1) OR (Open >= Var2)) And ((Var2 >Var2 [15]) OR (VAr3 >Var3 [55])) and c>var2 and o > dayopen and CC[0] > OO[0] and C > mav and CC[P-1] > 0 THEN BUY("A"); If MarketPosition() == 1 THEN { If EntryPrice > MA(Close, 20)[BarsSinceEntry] And Close < Open And ((Crossdown(var7,Var2)) OR (Open <= Var2)) THEN ExitLong("A0"); } ## 매도할때는 "B"조건을 만족할때 if stime >= 090200 and stime < 150000 and MarketPosition() ==0 AND var1 >= var2-0.05 and var2<var3 And var3<var5 And C<C[4] And C<O and c<var2 And ((CrossDOWN(Close,Var2)) or (Open <= Var1) or (Open <= Var2)) And ((Var3 <Var3 [55]) OR (VAr2 <Var2 [15])) and o < dayopen and CC[0] < OO[0] and C < mav and CC[P-1] < 0 then SELL("B"); If MarketPosition() == -1 THEN { If EntryPrice < MA(Close, 20)[BarsSinceEntry] And Close > Open And ((CrossUp(var6,Var2)) OR (Open >= Var2)) THEN ExitShort("B0"); } SetStopEndofday(150410);