커뮤니티

문의드립니다.

프로필 이미지
잡다백수
2018-01-05 15:22:39
217
글번호 115484
답변완료

첨부 이미지

정말 인베스트라 수록전략부터 별 전략 다 해본 것 같은데 답이 잘 안나오네요. ㅠ 그래도 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 시스템 첫봉이 볼린저밴드 상단이나 하단에 있으면 고가 저가 각각 셋업 이후 봉이 첫봉 고가를 n틱이상 상향 돌파하면 매수진입 봉이 첫봉 저가를 n틱이상 하향돌파하면 매도진입 30분까지의 변동폭이 n이상이면 볼린저밴드 상단(매수진입시) 혹은 하단(매도진입시)에서 청산 아니면 중앙선(이평선)에서 청산. 2. 기타 -'이평선 아래 있는 봉이 2개이면' -'이평선을 하향돌파한 뒤 이평선 아래있는 봉이 2개이면' -'당일시가 - 당일 고가를 n개봉이 n%이상 되돌리면' -셋업 뒤 고가를 저장한 뒤 저장봉에서 n봉이 지난봉의 종가 비고 만약 첫봉 고가보다 n개봉 지난뒤의 봉이 고가를 돌파했을 때로 하려면 어떻게 해야 할까요? 이렇게 해봤더니 딱 세번째 봉이 첫봉고가보다 클때만 진입합니다. input: n봉(1) If dayindex == 0 then var1 = H; if dayindex == 0+n봉 then var2 = C; If var2 > var1 then buy(); 코딩 부탁드립니다. 3. 시스템 진입 -스토케스틱이 period2선 상향돌파하거나 스토케스틱-Period2선 절대값이 n이상이면 하면 매수진입 -스토케스틱이 Period2선 하향돌파하거나 스토케스틱-Period2선 절대값이 n이상이면 매도진입 당일청산 비고 -첫 진입이 매수이면 매도진입은 n개봉이 지난 후에 진입, 매도는 반대로 -스토케스틱이 과열권 혹은 침체권에 있으면 청산 혹은 리버스는 침체 과열에서 벗어나는 순간으로 -당일 3회 진입 4. 시스템 변동성이 이렇게 급격하게 오른 것이랑 완만하게 점점 오른 것을 구분해보려고 하는데요. 구분할 수 있는 방법이 있을까요? 아래 지표는 밴드폭-sig인데요. 일단 제가 생각한 방법입니다. -밴드폭-sig선이 일정폭(변수) 오른 시점에 당일시가보다 현재가 높으면 매수진입 반대면 매도진입. 필터 -진입시점 5봉전부터 진입시점까지의 밴드폭 변화율이 n이상이면 셋업 false, 진입안함. -당일시가부터 진입시점전봉까지의 '당일고가-당일시가'를 n% 이상 되돌리면(매수라면) 셋업 false(급격한 반대방향 필터), 매도도 마찬가지. 청산 밴드폭 -sig값이 0이되거나 당일마지막봉되면 청산. 5. 시스템 전일종가+ n틱 위에 있거나 전일종가- n틱 아래에 있으면 고가 저가 셋업 고가보다 n틱이상 큰 봉이 2개일 때 매수진입 저가보다 n틱 이상 작은 봉이 2개일 때 매도진입 n틱이상 큰 되돌림이 발생하면 매수, 매도 청산
시스템
답변 5
프로필 이미지

예스스탁 예스스탁 답변

2018-01-08 10:51:59

안녕하세요 예스스탁입니다. 1. Inputs: P(20),Dv(2),n1(5),n2(3); var : Bbup(0),BBdn(0),BBmd(0); BBup = BollBandUp(P,dv); BBdn = BollBandDown(P,dv); BBmd = ma(C,P); if bdate != bdate[1] Then{ var1 = 0; var2 = 0; Condition1 = false; if C > BBup Then var1 = H; if C < BBdn Then var2 = L; } if var1 > 0 and crossup(C,var1+PriceScale*n1) Then buy(); if var2 > 0 and CrossDown(C,var2-PriceScale*n1) Then sell(); if stime < 93000 and dayhigh-daylow > n2 Then Condition1 = true; if MarketPosition == 1 Then{ if Condition1 == true and CrossDown(c,bbup) Then exitlong(); if CrossDown(c,bbmd) Then exitlong(); } if MarketPosition == -1 then{ if Condition1 == true and Crossup(c,bbdn) Then ExitShort(); if CrossUp(c,bbmd) Then ExitShort(); } 2 input: n봉(1); If dayindex == 0 then var1 = H; if dayindex >= 0+n봉 then{ var2 = C; If var2 > var1 then buy(); } 3 내용판단이 되지 않습니다. 4내용판단이 되지 않습니다. 5 input : n1(5),n2(10); if bdate != bdate[1] Then { var1 = 0; var2 = 0; } if var1 == 0 and C >= DayClose(1)+PriceScale*n1 Then var1 = h; if var2 == 0 and C <= DayClose(1)-PriceScale*n1 Then var2 = l; if bdate == bdate[1] and var1 > 0 and C >= var1+PriceScale*n1 and C[1] >= var1+PriceScale*n1 Then buy(); if bdate == bdate[1] and var2 > 0 and C <= var2-PriceScale*n1 and C[1] <= var2-PriceScale*n1 Then sell(); if MarketPosition == 1 Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-n2); if MarketPosition == -1 Then ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+n2); 6 오후에 편한시간에 전화주시기 바랍니다. 02-3453-1060 즐거운 하루되세요 > 잡다백수 님이 쓴 글입니다. > 제목 : 문의드립니다. > 정말 인베스트라 수록전략부터 별 전략 다 해본 것 같은데 답이 잘 안나오네요. ㅠ 그래도 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 시스템 첫봉이 볼린저밴드 상단이나 하단에 있으면 고가 저가 각각 셋업 이후 봉이 첫봉 고가를 n틱이상 상향 돌파하면 매수진입 봉이 첫봉 저가를 n틱이상 하향돌파하면 매도진입 30분까지의 변동폭이 n이상이면 볼린저밴드 상단(매수진입시) 혹은 하단(매도진입시)에서 청산 아니면 중앙선(이평선)에서 청산. 2. 기타 -'이평선 아래 있는 봉이 2개이면' -'이평선을 하향돌파한 뒤 이평선 아래있는 봉이 2개이면' -'당일시가 - 당일 고가를 n개봉이 n%이상 되돌리면' -셋업 뒤 고가를 저장한 뒤 저장봉에서 n봉이 지난봉의 종가 비고 만약 첫봉 고가보다 n개봉 지난뒤의 봉이 고가를 돌파했을 때로 하려면 어떻게 해야 할까요? 이렇게 해봤더니 딱 세번째 봉이 첫봉고가보다 클때만 진입합니다. input: n봉(1) If dayindex == 0 then var1 = H; if dayindex == 0+n봉 then var2 = C; If var2 > var1 then buy(); 코딩 부탁드립니다. 3. 시스템 진입 -스토케스틱이 period2선 상향돌파하거나 스토케스틱-Period2선 절대값이 n이상이면 하면 매수진입 -스토케스틱이 Period2선 하향돌파하거나 스토케스틱-Period2선 절대값이 n이상이면 매도진입 당일청산 비고 -첫 진입이 매수이면 매도진입은 n개봉이 지난 후에 진입, 매도는 반대로 -스토케스틱이 과열권 혹은 침체권에 있으면 청산 혹은 리버스는 침체 과열에서 벗어나는 순간으로 -당일 3회 진입 4. 시스템 변동성이 이렇게 급격하게 오른 것이랑 완만하게 점점 오른 것을 구분해보려고 하는데요. 구분할 수 있는 방법이 있을까요? 아래 지표는 밴드폭-sig인데요. 일단 제가 생각한 방법입니다. -밴드폭-sig선이 일정폭(변수) 오른 시점에 당일시가보다 현재가 높으면 매수진입 반대면 매도진입. 필터 -진입시점 5봉전부터 진입시점까지의 밴드폭 변화율이 n이상이면 셋업 false, 진입안함. -당일시가부터 진입시점전봉까지의 '당일고가-당일시가'를 n% 이상 되돌리면(매수라면) 셋업 false(급격한 반대방향 필터), 매도도 마찬가지. 청산 밴드폭 -sig값이 0이되거나 당일마지막봉되면 청산. 5. 시스템 전일종가+ n틱 위에 있거나 전일종가- n틱 아래에 있으면 고가 저가 셋업 고가보다 n틱이상 큰 봉이 2개일 때 매수진입 저가보다 n틱 이상 작은 봉이 2개일 때 매도진입 n틱이상 큰 되돌림이 발생하면 매수, 매도 청산
프로필 이미지

잡다백수

2018-01-08 12:28:31

코딩감사합니다. 1번 수식 재질문드립니다. 본래 만들고 싶었던 것은 위로 돌파하든 아래로 돌파하든 고가 저가 저장 후 그걸 돌파하면 이런 식이어서요. 이렇게 수정을 해봤습니다. 그런데 차트에 돌려보니 그림과 같이 신호가 나와야 할 곳에서 신호가 나지 않았습니다. 뭐가 문제일까요. 변수는 아래 코딩과 같이 해서 틱수가 너무 많아 신호가 나오지 않는 것은 아닌 것 같습니다. Inputs: P(45),Dv(2),n1(5),n2(3); var : Bbup(0),BBdn(0),BBmd(0); BBup = BollBandUp(P,dv); BBdn = BollBandDown(P,dv); BBmd = ma(C,P); if bdate != bdate[1] Then{ var1 = 0; var2 = 0; Condition1 = false; if C > BBup Then var1 = H; if C < BBdn Then var2 = L; } if var1 > 0 and crossup(C,var1+PriceScale*n1) Then buy(); if var2 > 0 and crossup(C,var1+PriceScale*n1) Then buy(); if var2 > 0 and CrossDown(C,var2-PriceScale*n1) Then sell(); if var1 > 0 and CrossDown(C,var2-PriceScale*n1) Then sell(); if stime < 93000 and dayhigh-daylow > n2 Then Condition1 = true; if MarketPosition == 1 Then{ if Condition1 == true and CrossDown(c,bbup) Then exitlong(); if CrossDown(c,bbmd) Then exitlong(); } if MarketPosition == -1 then{ if Condition1 == true and Crossup(c,bbdn) Then ExitShort(); if CrossUp(c,bbmd) Then ExitShort(); } SetStopEndofday(); > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의드립니다. > 안녕하세요 예스스탁입니다. 1. Inputs: P(20),Dv(2),n1(5),n2(3); var : Bbup(0),BBdn(0),BBmd(0); BBup = BollBandUp(P,dv); BBdn = BollBandDown(P,dv); BBmd = ma(C,P); if bdate != bdate[1] Then{ var1 = 0; var2 = 0; Condition1 = false; if C > BBup Then var1 = H; if C < BBdn Then var2 = L; } if var1 > 0 and crossup(C,var1+PriceScale*n1) Then buy(); if var2 > 0 and CrossDown(C,var2-PriceScale*n1) Then sell(); if stime < 93000 and dayhigh-daylow > n2 Then Condition1 = true; if MarketPosition == 1 Then{ if Condition1 == true and CrossDown(c,bbup) Then exitlong(); if CrossDown(c,bbmd) Then exitlong(); } if MarketPosition == -1 then{ if Condition1 == true and Crossup(c,bbdn) Then ExitShort(); if CrossUp(c,bbmd) Then ExitShort(); } 2 input: n봉(1); If dayindex == 0 then var1 = H; if dayindex >= 0+n봉 then{ var2 = C; If var2 > var1 then buy(); } 3 내용판단이 되지 않습니다. 4내용판단이 되지 않습니다. 5 input : n1(5),n2(10); if bdate != bdate[1] Then { var1 = 0; var2 = 0; } if var1 == 0 and C >= DayClose(1)+PriceScale*n1 Then var1 = h; if var2 == 0 and C <= DayClose(1)-PriceScale*n1 Then var2 = l; if bdate == bdate[1] and var1 > 0 and C >= var1+PriceScale*n1 and C[1] >= var1+PriceScale*n1 Then buy(); if bdate == bdate[1] and var2 > 0 and C <= var2-PriceScale*n1 and C[1] <= var2-PriceScale*n1 Then sell(); if MarketPosition == 1 Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-n2); if MarketPosition == -1 Then ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+n2); 6 오후에 편한시간에 전화주시기 바랍니다. 02-3453-1060 즐거운 하루되세요 > 잡다백수 님이 쓴 글입니다. > 제목 : 문의드립니다. > 정말 인베스트라 수록전략부터 별 전략 다 해본 것 같은데 답이 잘 안나오네요. ㅠ 그래도 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 시스템 첫봉이 볼린저밴드 상단이나 하단에 있으면 고가 저가 각각 셋업 이후 봉이 첫봉 고가를 n틱이상 상향 돌파하면 매수진입 봉이 첫봉 저가를 n틱이상 하향돌파하면 매도진입 30분까지의 변동폭이 n이상이면 볼린저밴드 상단(매수진입시) 혹은 하단(매도진입시)에서 청산 아니면 중앙선(이평선)에서 청산. 2. 기타 -'이평선 아래 있는 봉이 2개이면' -'이평선을 하향돌파한 뒤 이평선 아래있는 봉이 2개이면' -'당일시가 - 당일 고가를 n개봉이 n%이상 되돌리면' -셋업 뒤 고가를 저장한 뒤 저장봉에서 n봉이 지난봉의 종가 비고 만약 첫봉 고가보다 n개봉 지난뒤의 봉이 고가를 돌파했을 때로 하려면 어떻게 해야 할까요? 이렇게 해봤더니 딱 세번째 봉이 첫봉고가보다 클때만 진입합니다. input: n봉(1) If dayindex == 0 then var1 = H; if dayindex == 0+n봉 then var2 = C; If var2 > var1 then buy(); 코딩 부탁드립니다. 3. 시스템 진입 -스토케스틱이 period2선 상향돌파하거나 스토케스틱-Period2선 절대값이 n이상이면 하면 매수진입 -스토케스틱이 Period2선 하향돌파하거나 스토케스틱-Period2선 절대값이 n이상이면 매도진입 당일청산 비고 -첫 진입이 매수이면 매도진입은 n개봉이 지난 후에 진입, 매도는 반대로 -스토케스틱이 과열권 혹은 침체권에 있으면 청산 혹은 리버스는 침체 과열에서 벗어나는 순간으로 -당일 3회 진입 4. 시스템 변동성이 이렇게 급격하게 오른 것이랑 완만하게 점점 오른 것을 구분해보려고 하는데요. 구분할 수 있는 방법이 있을까요? 아래 지표는 밴드폭-sig인데요. 일단 제가 생각한 방법입니다. -밴드폭-sig선이 일정폭(변수) 오른 시점에 당일시가보다 현재가 높으면 매수진입 반대면 매도진입. 필터 -진입시점 5봉전부터 진입시점까지의 밴드폭 변화율이 n이상이면 셋업 false, 진입안함. -당일시가부터 진입시점전봉까지의 '당일고가-당일시가'를 n% 이상 되돌리면(매수라면) 셋업 false(급격한 반대방향 필터), 매도도 마찬가지. 청산 밴드폭 -sig값이 0이되거나 당일마지막봉되면 청산. 5. 시스템 전일종가+ n틱 위에 있거나 전일종가- n틱 아래에 있으면 고가 저가 셋업 고가보다 n틱이상 큰 봉이 2개일 때 매수진입 저가보다 n틱 이상 작은 봉이 2개일 때 매도진입 n틱이상 큰 되돌림이 발생하면 매수, 매도 청산
프로필 이미지

잡다백수

2018-01-08 14:05:56

답변감사합니다. 다음부턴 질문도 좀 꼼꼼히 하겠습니다. 시스템트레이딩 카페에 계신 분들 상당수가 왜 IT계열인 지 알듯합니다. 노력부족인 지 모르겠으나 진입장벽이 저에겐 생각보다 높네요. 3번 재질문입니다. '스토케스틱 모멘텀 인덱스'라는 지표 관찰하고 올린 글이었는데 그걸 빼먹었나 봅니다. input : Period1(13),Period2(25),Period3(2),Length1(26),Length2(50),Length3(2); var : StMomentum1(0),StMomentum2(0); StMomentum1 = SMI(Period1,Period2,Period3); StMomentum2 = SMI(Length1,Length2,Length3); plot1(StMomentum1); plot2(StMomentum2); PlotBaseLine1(40,"과열"); PlotBaseLine2(-40,"침체"); 여기 보면 StMomentum2선이라는 게 있는데요. 1선이 이걸 상향 하향돌파할 때입니다. '스토케스틱-Period2선' 이라고 표현한 건 상향돌파후 1선이 빨라서 두 값의 폭의 차를 이야기한 것이었습니다. 4번 재질문 전화드린대로 밴드폭과 밴드폭을 평활한 값을 비교해서 기본 진입입니다. 필터는 진입하기 전 5개봉전부터 진입시점까지 밴드폭 변화율이 n이상일 정도로 너무 크게 오른 경우(밴드가 몇봉만으로 너무 커진 경우) 진입을 방지하려는 셋업입니다. -두번째는 밴드를 위로 돌파했지만 빠르게 반대 방향으로(매수면 매도방향) 가버리는 경우 셋업으로 진입을 막으려는 것이었습니다. 첫봉부터 돌파한 뒤 반대방향으로만 시장이 움직일 때를 대비한 것이었습니다. -진입시점 5봉전부터 진입시점까지의 밴드폭 변화율이 n이상이면 셋업 false, 진입안함. -당일시가부터 진입시점전봉까지의 '당일고가-당일시가'를 n% 이상 되돌리면(매수라면) 셋업 false(급격한 반대방향 필터), 매도도 마찬가지. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의드립니다. > 안녕하세요 예스스탁입니다. 1. Inputs: P(20),Dv(2),n1(5),n2(3); var : Bbup(0),BBdn(0),BBmd(0); BBup = BollBandUp(P,dv); BBdn = BollBandDown(P,dv); BBmd = ma(C,P); if bdate != bdate[1] Then{ var1 = 0; var2 = 0; Condition1 = false; if C > BBup Then var1 = H; if C < BBdn Then var2 = L; } if var1 > 0 and crossup(C,var1+PriceScale*n1) Then buy(); if var2 > 0 and CrossDown(C,var2-PriceScale*n1) Then sell(); if stime < 93000 and dayhigh-daylow > n2 Then Condition1 = true; if MarketPosition == 1 Then{ if Condition1 == true and CrossDown(c,bbup) Then exitlong(); if CrossDown(c,bbmd) Then exitlong(); } if MarketPosition == -1 then{ if Condition1 == true and Crossup(c,bbdn) Then ExitShort(); if CrossUp(c,bbmd) Then ExitShort(); } 2 input: n봉(1); If dayindex == 0 then var1 = H; if dayindex >= 0+n봉 then{ var2 = C; If var2 > var1 then buy(); } 3 내용판단이 되지 않습니다. 4내용판단이 되지 않습니다. 5 input : n1(5),n2(10); if bdate != bdate[1] Then { var1 = 0; var2 = 0; } if var1 == 0 and C >= DayClose(1)+PriceScale*n1 Then var1 = h; if var2 == 0 and C <= DayClose(1)-PriceScale*n1 Then var2 = l; if bdate == bdate[1] and var1 > 0 and C >= var1+PriceScale*n1 and C[1] >= var1+PriceScale*n1 Then buy(); if bdate == bdate[1] and var2 > 0 and C <= var2-PriceScale*n1 and C[1] <= var2-PriceScale*n1 Then sell(); if MarketPosition == 1 Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-n2); if MarketPosition == -1 Then ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+n2); 6 오후에 편한시간에 전화주시기 바랍니다. 02-3453-1060 즐거운 하루되세요 > 잡다백수 님이 쓴 글입니다. > 제목 : 문의드립니다. > 정말 인베스트라 수록전략부터 별 전략 다 해본 것 같은데 답이 잘 안나오네요. ㅠ 그래도 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 시스템 첫봉이 볼린저밴드 상단이나 하단에 있으면 고가 저가 각각 셋업 이후 봉이 첫봉 고가를 n틱이상 상향 돌파하면 매수진입 봉이 첫봉 저가를 n틱이상 하향돌파하면 매도진입 30분까지의 변동폭이 n이상이면 볼린저밴드 상단(매수진입시) 혹은 하단(매도진입시)에서 청산 아니면 중앙선(이평선)에서 청산. 2. 기타 -'이평선 아래 있는 봉이 2개이면' -'이평선을 하향돌파한 뒤 이평선 아래있는 봉이 2개이면' -'당일시가 - 당일 고가를 n개봉이 n%이상 되돌리면' -셋업 뒤 고가를 저장한 뒤 저장봉에서 n봉이 지난봉의 종가 비고 만약 첫봉 고가보다 n개봉 지난뒤의 봉이 고가를 돌파했을 때로 하려면 어떻게 해야 할까요? 이렇게 해봤더니 딱 세번째 봉이 첫봉고가보다 클때만 진입합니다. input: n봉(1) If dayindex == 0 then var1 = H; if dayindex == 0+n봉 then var2 = C; If var2 > var1 then buy(); 코딩 부탁드립니다. 3. 시스템 진입 -스토케스틱이 period2선 상향돌파하거나 스토케스틱-Period2선 절대값이 n이상이면 하면 매수진입 -스토케스틱이 Period2선 하향돌파하거나 스토케스틱-Period2선 절대값이 n이상이면 매도진입 당일청산 비고 -첫 진입이 매수이면 매도진입은 n개봉이 지난 후에 진입, 매도는 반대로 -스토케스틱이 과열권 혹은 침체권에 있으면 청산 혹은 리버스는 침체 과열에서 벗어나는 순간으로 -당일 3회 진입 4. 시스템 변동성이 이렇게 급격하게 오른 것이랑 완만하게 점점 오른 것을 구분해보려고 하는데요. 구분할 수 있는 방법이 있을까요? 아래 지표는 밴드폭-sig인데요. 일단 제가 생각한 방법입니다. -밴드폭-sig선이 일정폭(변수) 오른 시점에 당일시가보다 현재가 높으면 매수진입 반대면 매도진입. 필터 -진입시점 5봉전부터 진입시점까지의 밴드폭 변화율이 n이상이면 셋업 false, 진입안함. -당일시가부터 진입시점전봉까지의 '당일고가-당일시가'를 n% 이상 되돌리면(매수라면) 셋업 false(급격한 반대방향 필터), 매도도 마찬가지. 청산 밴드폭 -sig값이 0이되거나 당일마지막봉되면 청산. 5. 시스템 전일종가+ n틱 위에 있거나 전일종가- n틱 아래에 있으면 고가 저가 셋업 고가보다 n틱이상 큰 봉이 2개일 때 매수진입 저가보다 n틱 이상 작은 봉이 2개일 때 매도진입 n틱이상 큰 되돌림이 발생하면 매수, 매도 청산
프로필 이미지

예스스탁 예스스탁 답변

2018-01-08 13:57:02

안녕하세요 예스스탁입니다. 1번수식은 첫봉에서 상단 위이면 고가를 저장하고 매수만 대응 하단 아래이면 저가 저장후 매도만 대응합니다. 상위 위이거나 아래이면 양방향 모두 대응하게 하고자 하시면 아래와 같이 수정하시면 됩니다, Inputs: P(45),Dv(2),n1(5),n2(3); var : Bbup(0),BBdn(0),BBmd(0); BBup = BollBandUp(P,dv); BBdn = BollBandDown(P,dv); BBmd = ma(C,P); if bdate != bdate[1] Then{ var1 = 0; var2 = 0; Condition1 = false; if C > BBup Then{ var1 = H; var2 = L; } if C < BBdn Then{ var1 = H; var2 = L; } } if var1 > 0 and var2 > 0 Then{ if crossup(C,var1+PriceScale*n1) Then buy(); if CrossDown(c,var2-PriceScale*n1) Then sell(); } if stime < 93000 and dayhigh-daylow > n2 Then Condition1 = true; if MarketPosition == 1 Then{ if Condition1 == true and CrossDown(c,bbup) Then exitlong(); if CrossDown(c,bbmd) Then exitlong(); } if MarketPosition == -1 then{ if Condition1 == true and Crossup(c,bbdn) Then ExitShort(); if CrossUp(c,bbmd) Then ExitShort(); } SetStopEndofday(); 새해 복 많이 받으세요 > 잡다백수 님이 쓴 글입니다. > 제목 : Re : Re : 문의드립니다. > 코딩감사합니다. 1번 수식 재질문드립니다. 본래 만들고 싶었던 것은 위로 돌파하든 아래로 돌파하든 고가 저가 저장 후 그걸 돌파하면 이런 식이어서요. 이렇게 수정을 해봤습니다. 그런데 차트에 돌려보니 그림과 같이 신호가 나와야 할 곳에서 신호가 나지 않았습니다. 뭐가 문제일까요. 변수는 아래 코딩과 같이 해서 틱수가 너무 많아 신호가 나오지 않는 것은 아닌 것 같습니다. Inputs: P(45),Dv(2),n1(5),n2(3); var : Bbup(0),BBdn(0),BBmd(0); BBup = BollBandUp(P,dv); BBdn = BollBandDown(P,dv); BBmd = ma(C,P); if bdate != bdate[1] Then{ var1 = 0; var2 = 0; Condition1 = false; if C > BBup Then var1 = H; if C < BBdn Then var2 = L; } if var1 > 0 and crossup(C,var1+PriceScale*n1) Then buy(); if var2 > 0 and crossup(C,var1+PriceScale*n1) Then buy(); if var2 > 0 and CrossDown(C,var2-PriceScale*n1) Then sell(); if var1 > 0 and CrossDown(C,var2-PriceScale*n1) Then sell(); if stime < 93000 and dayhigh-daylow > n2 Then Condition1 = true; if MarketPosition == 1 Then{ if Condition1 == true and CrossDown(c,bbup) Then exitlong(); if CrossDown(c,bbmd) Then exitlong(); } if MarketPosition == -1 then{ if Condition1 == true and Crossup(c,bbdn) Then ExitShort(); if CrossUp(c,bbmd) Then ExitShort(); } SetStopEndofday(); > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의드립니다. > 안녕하세요 예스스탁입니다. 1. Inputs: P(20),Dv(2),n1(5),n2(3); var : Bbup(0),BBdn(0),BBmd(0); BBup = BollBandUp(P,dv); BBdn = BollBandDown(P,dv); BBmd = ma(C,P); if bdate != bdate[1] Then{ var1 = 0; var2 = 0; Condition1 = false; if C > BBup Then var1 = H; if C < BBdn Then var2 = L; } if var1 > 0 and crossup(C,var1+PriceScale*n1) Then buy(); if var2 > 0 and CrossDown(C,var2-PriceScale*n1) Then sell(); if stime < 93000 and dayhigh-daylow > n2 Then Condition1 = true; if MarketPosition == 1 Then{ if Condition1 == true and CrossDown(c,bbup) Then exitlong(); if CrossDown(c,bbmd) Then exitlong(); } if MarketPosition == -1 then{ if Condition1 == true and Crossup(c,bbdn) Then ExitShort(); if CrossUp(c,bbmd) Then ExitShort(); } 2 input: n봉(1); If dayindex == 0 then var1 = H; if dayindex >= 0+n봉 then{ var2 = C; If var2 > var1 then buy(); } 3 내용판단이 되지 않습니다. 4내용판단이 되지 않습니다. 5 input : n1(5),n2(10); if bdate != bdate[1] Then { var1 = 0; var2 = 0; } if var1 == 0 and C >= DayClose(1)+PriceScale*n1 Then var1 = h; if var2 == 0 and C <= DayClose(1)-PriceScale*n1 Then var2 = l; if bdate == bdate[1] and var1 > 0 and C >= var1+PriceScale*n1 and C[1] >= var1+PriceScale*n1 Then buy(); if bdate == bdate[1] and var2 > 0 and C <= var2-PriceScale*n1 and C[1] <= var2-PriceScale*n1 Then sell(); if MarketPosition == 1 Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-n2); if MarketPosition == -1 Then ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+n2); 6 오후에 편한시간에 전화주시기 바랍니다. 02-3453-1060 즐거운 하루되세요 > 잡다백수 님이 쓴 글입니다. > 제목 : 문의드립니다. > 정말 인베스트라 수록전략부터 별 전략 다 해본 것 같은데 답이 잘 안나오네요. ㅠ 그래도 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 시스템 첫봉이 볼린저밴드 상단이나 하단에 있으면 고가 저가 각각 셋업 이후 봉이 첫봉 고가를 n틱이상 상향 돌파하면 매수진입 봉이 첫봉 저가를 n틱이상 하향돌파하면 매도진입 30분까지의 변동폭이 n이상이면 볼린저밴드 상단(매수진입시) 혹은 하단(매도진입시)에서 청산 아니면 중앙선(이평선)에서 청산. 2. 기타 -'이평선 아래 있는 봉이 2개이면' -'이평선을 하향돌파한 뒤 이평선 아래있는 봉이 2개이면' -'당일시가 - 당일 고가를 n개봉이 n%이상 되돌리면' -셋업 뒤 고가를 저장한 뒤 저장봉에서 n봉이 지난봉의 종가 비고 만약 첫봉 고가보다 n개봉 지난뒤의 봉이 고가를 돌파했을 때로 하려면 어떻게 해야 할까요? 이렇게 해봤더니 딱 세번째 봉이 첫봉고가보다 클때만 진입합니다. input: n봉(1) If dayindex == 0 then var1 = H; if dayindex == 0+n봉 then var2 = C; If var2 > var1 then buy(); 코딩 부탁드립니다. 3. 시스템 진입 -스토케스틱이 period2선 상향돌파하거나 스토케스틱-Period2선 절대값이 n이상이면 하면 매수진입 -스토케스틱이 Period2선 하향돌파하거나 스토케스틱-Period2선 절대값이 n이상이면 매도진입 당일청산 비고 -첫 진입이 매수이면 매도진입은 n개봉이 지난 후에 진입, 매도는 반대로 -스토케스틱이 과열권 혹은 침체권에 있으면 청산 혹은 리버스는 침체 과열에서 벗어나는 순간으로 -당일 3회 진입 4. 시스템 변동성이 이렇게 급격하게 오른 것이랑 완만하게 점점 오른 것을 구분해보려고 하는데요. 구분할 수 있는 방법이 있을까요? 아래 지표는 밴드폭-sig인데요. 일단 제가 생각한 방법입니다. -밴드폭-sig선이 일정폭(변수) 오른 시점에 당일시가보다 현재가 높으면 매수진입 반대면 매도진입. 필터 -진입시점 5봉전부터 진입시점까지의 밴드폭 변화율이 n이상이면 셋업 false, 진입안함. -당일시가부터 진입시점전봉까지의 '당일고가-당일시가'를 n% 이상 되돌리면(매수라면) 셋업 false(급격한 반대방향 필터), 매도도 마찬가지. 청산 밴드폭 -sig값이 0이되거나 당일마지막봉되면 청산. 5. 시스템 전일종가+ n틱 위에 있거나 전일종가- n틱 아래에 있으면 고가 저가 셋업 고가보다 n틱이상 큰 봉이 2개일 때 매수진입 저가보다 n틱 이상 작은 봉이 2개일 때 매도진입 n틱이상 큰 되돌림이 발생하면 매수, 매도 청산
프로필 이미지

예스스탁 예스스탁 답변

2018-01-08 14:13:34

안녕하세요 예스스탁입니다. 3 Stochastics Momentum Index 지표는 Period1(13),Period2(25),Period3(2)가 하나의 스토케스틱모멘텀인덱스를 그릴때 사용되는 기간값입니다. Period1선, Period2선은 따로 존재하지 않습니다. Period1(13),Period2(25),Period3(2) Length1(26),Length2(50),Length3(2) 위와 같이 지정해 2개의 장단기 스토케스틱 모멘컴 인덱스를 계산합니다. 올려주신 내용은 단기-장기 크로스로 수식올려드립니다. input : Period1(13),Period2(25),Period3(2); input : Length1(26),Length2(50),Length3(2); input : n(5); var : StMomentum1(0),StMomentum2(0); StMomentum1 = SMI(Period1,Period2,Period3); StMomentum2 = SMI(Length1,Length2,Length3); if crossup(StMomentum1,StMomentum2) Then{ if MarketPosition == 0 or (MarketPosition == -1 and BarsSinceEntry >= n) Then buy(); } if CrossDown(StMomentum1,StMomentum2) Then{ if MarketPosition == 0 or (MarketPosition == 1 and BarsSinceEntry >= n) Then sell(); } SetStopEndofday(152000); 4 4번 내용은 정확한 내용이 판단되지 않습니다. 죄송하집만 해당 내용은 좀더 정확한 내용으로 새글로 다시 올려주시기 바랍니다. 새해 복 많이 받으세요 > 잡다백수 님이 쓴 글입니다. > 제목 : Re : Re : 문의드립니다. 2번 3번 재질문 > 답변감사합니다. 다음부턴 질문도 좀 꼼꼼히 하겠습니다. 시스템트레이딩 카페에 계신 분들 상당수가 왜 IT계열인 지 알듯합니다. 노력부족인 지 모르겠으나 진입장벽이 저에겐 생각보다 높네요. 3번 재질문입니다. '스토케스틱 모멘텀 인덱스'라는 지표 관찰하고 올린 글이었는데 그걸 빼먹었나 봅니다. input : Period1(13),Period2(25),Period3(2),Length1(26),Length2(50),Length3(2); var : StMomentum1(0),StMomentum2(0); StMomentum1 = SMI(Period1,Period2,Period3); StMomentum2 = SMI(Length1,Length2,Length3); plot1(StMomentum1); plot2(StMomentum2); PlotBaseLine1(40,"과열"); PlotBaseLine2(-40,"침체"); 여기 보면 StMomentum2선이라는 게 있는데요. 1선이 이걸 상향 하향돌파할 때입니다. '스토케스틱-Period2선' 이라고 표현한 건 상향돌파후 1선이 빨라서 두 값의 폭의 차를 이야기한 것이었습니다. 4번 재질문 전화드린대로 밴드폭과 밴드폭을 평활한 값을 비교해서 기본 진입입니다. 필터는 진입하기 전 5개봉전부터 진입시점까지 밴드폭 변화율이 n이상일 정도로 너무 크게 오른 경우(밴드가 몇봉만으로 너무 커진 경우) 진입을 방지하려는 셋업입니다. -두번째는 밴드를 위로 돌파했지만 빠르게 반대 방향으로(매수면 매도방향) 가버리는 경우 셋업으로 진입을 막으려는 것이었습니다. 첫봉부터 돌파한 뒤 반대방향으로만 시장이 움직일 때를 대비한 것이었습니다. -진입시점 5봉전부터 진입시점까지의 밴드폭 변화율이 n이상이면 셋업 false, 진입안함. -당일시가부터 진입시점전봉까지의 '당일고가-당일시가'를 n% 이상 되돌리면(매수라면) 셋업 false(급격한 반대방향 필터), 매도도 마찬가지. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의드립니다. > 안녕하세요 예스스탁입니다. 1. Inputs: P(20),Dv(2),n1(5),n2(3); var : Bbup(0),BBdn(0),BBmd(0); BBup = BollBandUp(P,dv); BBdn = BollBandDown(P,dv); BBmd = ma(C,P); if bdate != bdate[1] Then{ var1 = 0; var2 = 0; Condition1 = false; if C > BBup Then var1 = H; if C < BBdn Then var2 = L; } if var1 > 0 and crossup(C,var1+PriceScale*n1) Then buy(); if var2 > 0 and CrossDown(C,var2-PriceScale*n1) Then sell(); if stime < 93000 and dayhigh-daylow > n2 Then Condition1 = true; if MarketPosition == 1 Then{ if Condition1 == true and CrossDown(c,bbup) Then exitlong(); if CrossDown(c,bbmd) Then exitlong(); } if MarketPosition == -1 then{ if Condition1 == true and Crossup(c,bbdn) Then ExitShort(); if CrossUp(c,bbmd) Then ExitShort(); } 2 input: n봉(1); If dayindex == 0 then var1 = H; if dayindex >= 0+n봉 then{ var2 = C; If var2 > var1 then buy(); } 3 내용판단이 되지 않습니다. 4내용판단이 되지 않습니다. 5 input : n1(5),n2(10); if bdate != bdate[1] Then { var1 = 0; var2 = 0; } if var1 == 0 and C >= DayClose(1)+PriceScale*n1 Then var1 = h; if var2 == 0 and C <= DayClose(1)-PriceScale*n1 Then var2 = l; if bdate == bdate[1] and var1 > 0 and C >= var1+PriceScale*n1 and C[1] >= var1+PriceScale*n1 Then buy(); if bdate == bdate[1] and var2 > 0 and C <= var2-PriceScale*n1 and C[1] <= var2-PriceScale*n1 Then sell(); if MarketPosition == 1 Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-n2); if MarketPosition == -1 Then ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+n2); 6 오후에 편한시간에 전화주시기 바랍니다. 02-3453-1060 즐거운 하루되세요 > 잡다백수 님이 쓴 글입니다. > 제목 : 문의드립니다. > 정말 인베스트라 수록전략부터 별 전략 다 해본 것 같은데 답이 잘 안나오네요. ㅠ 그래도 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 시스템 첫봉이 볼린저밴드 상단이나 하단에 있으면 고가 저가 각각 셋업 이후 봉이 첫봉 고가를 n틱이상 상향 돌파하면 매수진입 봉이 첫봉 저가를 n틱이상 하향돌파하면 매도진입 30분까지의 변동폭이 n이상이면 볼린저밴드 상단(매수진입시) 혹은 하단(매도진입시)에서 청산 아니면 중앙선(이평선)에서 청산. 2. 기타 -'이평선 아래 있는 봉이 2개이면' -'이평선을 하향돌파한 뒤 이평선 아래있는 봉이 2개이면' -'당일시가 - 당일 고가를 n개봉이 n%이상 되돌리면' -셋업 뒤 고가를 저장한 뒤 저장봉에서 n봉이 지난봉의 종가 비고 만약 첫봉 고가보다 n개봉 지난뒤의 봉이 고가를 돌파했을 때로 하려면 어떻게 해야 할까요? 이렇게 해봤더니 딱 세번째 봉이 첫봉고가보다 클때만 진입합니다. input: n봉(1) If dayindex == 0 then var1 = H; if dayindex == 0+n봉 then var2 = C; If var2 > var1 then buy(); 코딩 부탁드립니다. 3. 시스템 진입 -스토케스틱이 period2선 상향돌파하거나 스토케스틱-Period2선 절대값이 n이상이면 하면 매수진입 -스토케스틱이 Period2선 하향돌파하거나 스토케스틱-Period2선 절대값이 n이상이면 매도진입 당일청산 비고 -첫 진입이 매수이면 매도진입은 n개봉이 지난 후에 진입, 매도는 반대로 -스토케스틱이 과열권 혹은 침체권에 있으면 청산 혹은 리버스는 침체 과열에서 벗어나는 순간으로 -당일 3회 진입 4. 시스템 변동성이 이렇게 급격하게 오른 것이랑 완만하게 점점 오른 것을 구분해보려고 하는데요. 구분할 수 있는 방법이 있을까요? 아래 지표는 밴드폭-sig인데요. 일단 제가 생각한 방법입니다. -밴드폭-sig선이 일정폭(변수) 오른 시점에 당일시가보다 현재가 높으면 매수진입 반대면 매도진입. 필터 -진입시점 5봉전부터 진입시점까지의 밴드폭 변화율이 n이상이면 셋업 false, 진입안함. -당일시가부터 진입시점전봉까지의 '당일고가-당일시가'를 n% 이상 되돌리면(매수라면) 셋업 false(급격한 반대방향 필터), 매도도 마찬가지. 청산 밴드폭 -sig값이 0이되거나 당일마지막봉되면 청산. 5. 시스템 전일종가+ n틱 위에 있거나 전일종가- n틱 아래에 있으면 고가 저가 셋업 고가보다 n틱이상 큰 봉이 2개일 때 매수진입 저가보다 n틱 이상 작은 봉이 2개일 때 매도진입 n틱이상 큰 되돌림이 발생하면 매수, 매도 청산