커뮤니티

수정부탁드립니다

프로필 이미지
리치존
2013-11-08 08:47:47
152
글번호 69328
답변완료
아래식에서 진입시간을 넣고 싶습니다 즉 장시작후 부터 9시 30분까지는 매매를 하지 말고 그 이후부터 매매를 할수 있도록 부탁드립니다 내부안에서 제 마음대로 시간을 설정 할수 있게 부탁드립니다 input : 매수진입별횟수(2),매도진입별횟수(2),당일최대매수횟수(5),당일최대매도횟수(5),당일진입횟수(3); var : direction(0),HH(0),LL(0),cnt(0),count(0),기준가(0); var : Bcond1(false),Bcond2(false),Bcond3(false),Bcond4(false),Bcond5(false); var : Scond1(false),Scond2(false),Scond3(false),Scond4(false),Scond5(false); var : Bcnt1(0),Bcnt2(0),Bcnt3(0),Bcnt4(0),Bcnt5(0),Didx(0); var : Scnt1(0),Scnt2(0),Scnt3(0),Scnt4(0),Scnt5(0),Buycnt(0),Sellcnt(0); var : 당일주간장시가(0),전일주간장시가(0),updown(0); if stime == 90000 or (stime > 090000 and stime[1] < 090000) Then{ 당일주간장시가 = O; 전일주간장시가 = 당일주간장시가[1]; 기준가 = 전일주간장시가 ; Condition1 = false; } var1 = 기준가-6.0; var2 = 기준가-3.0; var3 = 기준가+3.0; var4 = 기준가+6.0; if condition1 == false and ((H >= 기준가 and L >= 기준가) or crossup(c,기준가) or CrossDown(C,기준가)) Then{ Condition1 = true; updown = 0; } if Condition1 == true and (H >= var3 or L <= var2) Then UPdown = updown+1; if stime == 90000 or (stime > 090000 and stime[1] < 090000) Then{ direction = 0; Didx = 0; } count = 0; Bcnt1 = 0;Bcnt2 = 0;Bcnt3 = 0;Bcnt4 = 0; Scnt1 = 0;Scnt2 = 0;Scnt3 = 0;Scnt4 = 0; Buycnt = 0; Sellcnt = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) and EntryTime(cnt) >= 090000 and EntryTime(cnt) <= 151500 Then{ count = count+1; if IsEntryName("b1",cnt) == true Then Bcnt1 = Bcnt1+1; if IsEntryName("b2",cnt) == true Then Bcnt2 = Bcnt2+1; if IsEntryName("b3",cnt) == true Then Bcnt3 = Bcnt3+1; if IsEntryName("b4",cnt) == true Then Bcnt4 = Bcnt4+1; if IsEntryName("s1",cnt) == true Then Scnt1 = Scnt1+1; if IsEntryName("s2",cnt) == true Then Scnt2 = Scnt2+1; if IsEntryName("s3",cnt) == true Then Scnt3 = Scnt3+1; if IsEntryName("s4",cnt) == true Then Scnt4 = Scnt4+1; if MarketPosition(cnt) == 1 then Buycnt = Buycnt+1; if MarketPosition(cnt) == -1 then SEllcnt = Sellcnt+1; } } if stime >= 090000 and stime <= 151500 then{ Didx = Didx+1; if Didx > 1 Then{ if crossup(C,var1) Then { direction = 1; HH = H; } if crossup(C,var2) Then { direction = 2; HH = H; } if crossup(C,var3) Then { direction = 3; HH = H; } if crossup(C,var4) Then { direction = 4; HH = H; } if CrossDown(C,var1) Then { direction = -1; LL = L; } if CrossDown(C,var2) Then { direction = -2; LL = L; } if CrossDown(C,var3) Then{ direction = -3; LL = L; } if CrossDown(C,var4) Then { direction = -4; LL = L; } } if H > HH Then HH = H; if L < LL Then LL = L; Bcond1 = (count == 0 and countif(direction == 1 and direction[1] != 1,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == 1 and direction[1] != 1,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == 1 and direction[1] != 1,BarsSinceExit(1)) >= 1); Bcond2 = (count == 0 and countif(direction == 2 and direction[1] != 2,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == 2 and direction[1] != 2,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == 2 and direction[1] != 2,BarsSinceExit(1)) >= 1); Bcond3 = (count == 0 and countif(direction == 3 and direction[1] != 3,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == 3 and direction[1] != 3,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == 3 and direction[1] != 3,BarsSinceExit(1)) >= 1); Bcond4 = (count == 0 and countif(direction == 4 and direction[1] != 4,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == 4 and direction[1] != 4,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == 4 and direction[1] != 4,BarsSinceExit(1)) >= 1); Scond1 = (count == 0 and countif(direction == -1 and direction[1] != -1,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == -1 and direction[1] != -1,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == -1 and direction[1] != -1,BarsSinceExit(1)) >= 1); Scond2 = (count == 0 and countif(direction == -2 and direction[1] != -2,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == -2 and direction[1] != -2,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == -2 and direction[1] != -2,BarsSinceExit(1)) >= 1); Scond3 = (count == 0 and countif(direction == -3 and direction[1] != -3,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == -3 and direction[1] != -3,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == -3 and direction[1] != -3,BarsSinceExit(1)) >= 1); Scond4 = (count == 0 and countif(direction == -4 and direction[1] != -4,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == -4 and direction[1] != -4,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == -4 and direction[1] != -4,BarsSinceExit(1)) >= 1); if stime > 090000 and stime < 150000 and count < 당일진입횟수 then{ if BuyCnt < 당일최대매수횟수 then{ if direction == 1 and HH >= var1+0.5 and Bcond1 == true and Bcnt1 < 매수진입별횟수 Then buy("b1",AtLimit,HH-0.4); if direction == 2 and HH >= var2+0.5 and Bcond2 == true and Bcnt2 < 매수진입별횟수 Then buy("b2",AtLimit,HH-0.4); if direction == 3 and HH >= var3+0.5 and Bcond3 == true and Bcnt3 < 매수진입별횟수 Then buy("b3",AtLimit,HH-0.4); if direction == 4 and HH >= var4+0.5 and Bcond4 == true and Bcnt4 < 매수진입별횟수 Then buy("b4",AtLimit,HH-0.4); } if Sellcnt < 당일최대매도횟수 then{ if direction == -1 and LL <= var1-0.5 and Scond1 == true and Scnt1 < 매도진입별횟수 Then Sell("s1",AtLimit,LL+0.4); if direction == -2 and LL <= var2-0.5 and Scond2 == true and Scnt2 < 매도진입별횟수 Then Sell("s2",AtLimit,LL+0.4); if direction == -3 and LL <= var3-0.5 and Scond3 == true and Scnt3 < 매도진입별횟수 Then Sell("s3",AtLimit,LL+0.4); if direction == -4 and LL <= var4-0.5 and Scond4 == true and Scnt4 < 매도진입별횟수 Then Sell("s4",AtLimit,LL+0.4); } } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-11-08 17:18:10

안녕하세요 예스스탁입니다. 외부변수(input)의 시작시간과 끝시간으로 신호 발생시간을 제어하시면 됩니다. input : 매수진입별횟수(2),매도진입별횟수(2),당일최대매수횟수(5),당일최대매도횟수(5),당일진입횟수(3); input : 시작시간(93000),끝시간(150000); var : direction(0),HH(0),LL(0),cnt(0),count(0),기준가(0); var : Bcond1(false),Bcond2(false),Bcond3(false),Bcond4(false),Bcond5(false); var : Scond1(false),Scond2(false),Scond3(false),Scond4(false),Scond5(false); var : Bcnt1(0),Bcnt2(0),Bcnt3(0),Bcnt4(0),Bcnt5(0),Didx(0); var : Scnt1(0),Scnt2(0),Scnt3(0),Scnt4(0),Scnt5(0),Buycnt(0),Sellcnt(0); var : 당일주간장시가(0),전일주간장시가(0),updown(0); if stime == 90000 or (stime > 090000 and stime[1] < 090000) Then{ 당일주간장시가 = O; 전일주간장시가 = 당일주간장시가[1]; 기준가 = 전일주간장시가 ; Condition1 = false; } var1 = 기준가-6.0; var2 = 기준가-3.0; var3 = 기준가+3.0; var4 = 기준가+6.0; if condition1 == false and ((H >= 기준가 and L >= 기준가) or crossup(c,기준가) or CrossDown(C,기준가)) Then{ Condition1 = true; updown = 0; } if Condition1 == true and (H >= var3 or L <= var2) Then UPdown = updown+1; if stime == 90000 or (stime > 090000 and stime[1] < 090000) Then{ direction = 0; Didx = 0; } count = 0; Bcnt1 = 0;Bcnt2 = 0;Bcnt3 = 0;Bcnt4 = 0; Scnt1 = 0;Scnt2 = 0;Scnt3 = 0;Scnt4 = 0; Buycnt = 0; Sellcnt = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) and EntryTime(cnt) >= 090000 and EntryTime(cnt) <= 151500 Then{ count = count+1; if IsEntryName("b1",cnt) == true Then Bcnt1 = Bcnt1+1; if IsEntryName("b2",cnt) == true Then Bcnt2 = Bcnt2+1; if IsEntryName("b3",cnt) == true Then Bcnt3 = Bcnt3+1; if IsEntryName("b4",cnt) == true Then Bcnt4 = Bcnt4+1; if IsEntryName("s1",cnt) == true Then Scnt1 = Scnt1+1; if IsEntryName("s2",cnt) == true Then Scnt2 = Scnt2+1; if IsEntryName("s3",cnt) == true Then Scnt3 = Scnt3+1; if IsEntryName("s4",cnt) == true Then Scnt4 = Scnt4+1; if MarketPosition(cnt) == 1 then Buycnt = Buycnt+1; if MarketPosition(cnt) == -1 then SEllcnt = Sellcnt+1; } } if stime >= 090000 and stime <= 151500 then{ Didx = Didx+1; if Didx > 1 Then{ if crossup(C,var1) Then { direction = 1; HH = H; } if crossup(C,var2) Then { direction = 2; HH = H; } if crossup(C,var3) Then { direction = 3; HH = H; } if crossup(C,var4) Then { direction = 4; HH = H; } if CrossDown(C,var1) Then { direction = -1; LL = L; } if CrossDown(C,var2) Then { direction = -2; LL = L; } if CrossDown(C,var3) Then{ direction = -3; LL = L; } if CrossDown(C,var4) Then { direction = -4; LL = L; } } if H > HH Then HH = H; if L < LL Then LL = L; Bcond1 = (count == 0 and countif(direction == 1 and direction[1] != 1,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == 1 and direction[1] != 1,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == 1 and direction[1] != 1,BarsSinceExit(1)) >= 1); Bcond2 = (count == 0 and countif(direction == 2 and direction[1] != 2,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == 2 and direction[1] != 2,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == 2 and direction[1] != 2,BarsSinceExit(1)) >= 1); Bcond3 = (count == 0 and countif(direction == 3 and direction[1] != 3,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == 3 and direction[1] != 3,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == 3 and direction[1] != 3,BarsSinceExit(1)) >= 1); Bcond4 = (count == 0 and countif(direction == 4 and direction[1] != 4,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == 4 and direction[1] != 4,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == 4 and direction[1] != 4,BarsSinceExit(1)) >= 1); Scond1 = (count == 0 and countif(direction == -1 and direction[1] != -1,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == -1 and direction[1] != -1,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == -1 and direction[1] != -1,BarsSinceExit(1)) >= 1); Scond2 = (count == 0 and countif(direction == -2 and direction[1] != -2,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == -2 and direction[1] != -2,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == -2 and direction[1] != -2,BarsSinceExit(1)) >= 1); Scond3 = (count == 0 and countif(direction == -3 and direction[1] != -3,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == -3 and direction[1] != -3,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == -3 and direction[1] != -3,BarsSinceExit(1)) >= 1); Scond4 = (count == 0 and countif(direction == -4 and direction[1] != -4,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == -4 and direction[1] != -4,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == -4 and direction[1] != -4,BarsSinceExit(1)) >= 1); if stime > 090000 and stime < 150000 and count < 당일진입횟수 and stime >= 시작시간 and stime < 끝시간 then{ if BuyCnt < 당일최대매수횟수 then{ if direction == 1 and HH >= var1+0.5 and Bcond1 == true and Bcnt1 < 매수진입별횟수 Then buy("b1",AtLimit,HH-0.4); if direction == 2 and HH >= var2+0.5 and Bcond2 == true and Bcnt2 < 매수진입별횟수 Then buy("b2",AtLimit,HH-0.4); if direction == 3 and HH >= var3+0.5 and Bcond3 == true and Bcnt3 < 매수진입별횟수 Then buy("b3",AtLimit,HH-0.4); if direction == 4 and HH >= var4+0.5 and Bcond4 == true and Bcnt4 < 매수진입별횟수 Then buy("b4",AtLimit,HH-0.4); } if Sellcnt < 당일최대매도횟수 then{ if direction == -1 and LL <= var1-0.5 and Scond1 == true and Scnt1 < 매도진입별횟수 Then Sell("s1",AtLimit,LL+0.4); if direction == -2 and LL <= var2-0.5 and Scond2 == true and Scnt2 < 매도진입별횟수 Then Sell("s2",AtLimit,LL+0.4); if direction == -3 and LL <= var3-0.5 and Scond3 == true and Scnt3 < 매도진입별횟수 Then Sell("s3",AtLimit,LL+0.4); if direction == -4 and LL <= var4-0.5 and Scond4 == true and Scnt4 < 매도진입별횟수 Then Sell("s4",AtLimit,LL+0.4); } } } 즐거운 하루되세요 > 리치존 님이 쓴 글입니다. > 제목 : 수정부탁드립니다 > 아래식에서 진입시간을 넣고 싶습니다 즉 장시작후 부터 9시 30분까지는 매매를 하지 말고 그 이후부터 매매를 할수 있도록 부탁드립니다 내부안에서 제 마음대로 시간을 설정 할수 있게 부탁드립니다 input : 매수진입별횟수(2),매도진입별횟수(2),당일최대매수횟수(5),당일최대매도횟수(5),당일진입횟수(3); var : direction(0),HH(0),LL(0),cnt(0),count(0),기준가(0); var : Bcond1(false),Bcond2(false),Bcond3(false),Bcond4(false),Bcond5(false); var : Scond1(false),Scond2(false),Scond3(false),Scond4(false),Scond5(false); var : Bcnt1(0),Bcnt2(0),Bcnt3(0),Bcnt4(0),Bcnt5(0),Didx(0); var : Scnt1(0),Scnt2(0),Scnt3(0),Scnt4(0),Scnt5(0),Buycnt(0),Sellcnt(0); var : 당일주간장시가(0),전일주간장시가(0),updown(0); if stime == 90000 or (stime > 090000 and stime[1] < 090000) Then{ 당일주간장시가 = O; 전일주간장시가 = 당일주간장시가[1]; 기준가 = 전일주간장시가 ; Condition1 = false; } var1 = 기준가-6.0; var2 = 기준가-3.0; var3 = 기준가+3.0; var4 = 기준가+6.0; if condition1 == false and ((H >= 기준가 and L >= 기준가) or crossup(c,기준가) or CrossDown(C,기준가)) Then{ Condition1 = true; updown = 0; } if Condition1 == true and (H >= var3 or L <= var2) Then UPdown = updown+1; if stime == 90000 or (stime > 090000 and stime[1] < 090000) Then{ direction = 0; Didx = 0; } count = 0; Bcnt1 = 0;Bcnt2 = 0;Bcnt3 = 0;Bcnt4 = 0; Scnt1 = 0;Scnt2 = 0;Scnt3 = 0;Scnt4 = 0; Buycnt = 0; Sellcnt = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) and EntryTime(cnt) >= 090000 and EntryTime(cnt) <= 151500 Then{ count = count+1; if IsEntryName("b1",cnt) == true Then Bcnt1 = Bcnt1+1; if IsEntryName("b2",cnt) == true Then Bcnt2 = Bcnt2+1; if IsEntryName("b3",cnt) == true Then Bcnt3 = Bcnt3+1; if IsEntryName("b4",cnt) == true Then Bcnt4 = Bcnt4+1; if IsEntryName("s1",cnt) == true Then Scnt1 = Scnt1+1; if IsEntryName("s2",cnt) == true Then Scnt2 = Scnt2+1; if IsEntryName("s3",cnt) == true Then Scnt3 = Scnt3+1; if IsEntryName("s4",cnt) == true Then Scnt4 = Scnt4+1; if MarketPosition(cnt) == 1 then Buycnt = Buycnt+1; if MarketPosition(cnt) == -1 then SEllcnt = Sellcnt+1; } } if stime >= 090000 and stime <= 151500 then{ Didx = Didx+1; if Didx > 1 Then{ if crossup(C,var1) Then { direction = 1; HH = H; } if crossup(C,var2) Then { direction = 2; HH = H; } if crossup(C,var3) Then { direction = 3; HH = H; } if crossup(C,var4) Then { direction = 4; HH = H; } if CrossDown(C,var1) Then { direction = -1; LL = L; } if CrossDown(C,var2) Then { direction = -2; LL = L; } if CrossDown(C,var3) Then{ direction = -3; LL = L; } if CrossDown(C,var4) Then { direction = -4; LL = L; } } if H > HH Then HH = H; if L < LL Then LL = L; Bcond1 = (count == 0 and countif(direction == 1 and direction[1] != 1,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == 1 and direction[1] != 1,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == 1 and direction[1] != 1,BarsSinceExit(1)) >= 1); Bcond2 = (count == 0 and countif(direction == 2 and direction[1] != 2,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == 2 and direction[1] != 2,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == 2 and direction[1] != 2,BarsSinceExit(1)) >= 1); Bcond3 = (count == 0 and countif(direction == 3 and direction[1] != 3,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == 3 and direction[1] != 3,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == 3 and direction[1] != 3,BarsSinceExit(1)) >= 1); Bcond4 = (count == 0 and countif(direction == 4 and direction[1] != 4,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == 4 and direction[1] != 4,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == 4 and direction[1] != 4,BarsSinceExit(1)) >= 1); Scond1 = (count == 0 and countif(direction == -1 and direction[1] != -1,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == -1 and direction[1] != -1,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == -1 and direction[1] != -1,BarsSinceExit(1)) >= 1); Scond2 = (count == 0 and countif(direction == -2 and direction[1] != -2,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == -2 and direction[1] != -2,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == -2 and direction[1] != -2,BarsSinceExit(1)) >= 1); Scond3 = (count == 0 and countif(direction == -3 and direction[1] != -3,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == -3 and direction[1] != -3,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == -3 and direction[1] != -3,BarsSinceExit(1)) >= 1); Scond4 = (count == 0 and countif(direction == -4 and direction[1] != -4,Didx) >= 1) or (count >= 1 and MarketPosition != 0 and countif(direction == -4 and direction[1] != -4,BarsSinceEntry) >= 1) or (count >= 1 and MarketPosition == 0 and countif(direction == -4 and direction[1] != -4,BarsSinceExit(1)) >= 1); if stime > 090000 and stime < 150000 and count < 당일진입횟수 then{ if BuyCnt < 당일최대매수횟수 then{ if direction == 1 and HH >= var1+0.5 and Bcond1 == true and Bcnt1 < 매수진입별횟수 Then buy("b1",AtLimit,HH-0.4); if direction == 2 and HH >= var2+0.5 and Bcond2 == true and Bcnt2 < 매수진입별횟수 Then buy("b2",AtLimit,HH-0.4); if direction == 3 and HH >= var3+0.5 and Bcond3 == true and Bcnt3 < 매수진입별횟수 Then buy("b3",AtLimit,HH-0.4); if direction == 4 and HH >= var4+0.5 and Bcond4 == true and Bcnt4 < 매수진입별횟수 Then buy("b4",AtLimit,HH-0.4); } if Sellcnt < 당일최대매도횟수 then{ if direction == -1 and LL <= var1-0.5 and Scond1 == true and Scnt1 < 매도진입별횟수 Then Sell("s1",AtLimit,LL+0.4); if direction == -2 and LL <= var2-0.5 and Scond2 == true and Scnt2 < 매도진입별횟수 Then Sell("s2",AtLimit,LL+0.4); if direction == -3 and LL <= var3-0.5 and Scond3 == true and Scnt3 < 매도진입별횟수 Then Sell("s3",AtLimit,LL+0.4); if direction == -4 and LL <= var4-0.5 and Scond4 == true and Scnt4 < 매도진입별횟수 Then Sell("s4",AtLimit,LL+0.4); } } }