커뮤니티

수정부탁드립니다.

프로필 이미지
라몬
2024-07-25 21:47:32
834
글번호 181889
답변완료
안녕하세요 더운 날씨에 저희의 수고를 덜어주셔서 감사드립니다. 아래 시스템과 지표의 수식을 다시한번 수정 부탁드립니다. 고맙습니다. 진입은 틱챠트에서 합니다 1.매수조건 (3개의 조건이 한개라도 안맞을시 신호 불가) - 1시간봉 시가선을 지수5 이평이 상향크로스 - 15 분봉 시가선을 지수5 이평이 상향크로스 - 3 분봉에서는 오직 20삼각가중선을 지수 5 이평이 상향 크로스할때 매수 (분봉 시가선, 삼각가중, 지수이평은 변수) 2.매도조건 (3개의 조건이 한개라도 안맞을시 신호 불가) - 1시간봉 시가선을 지수5 이평이 하향크로스 - 15 분봉 시가선을 지수5 이평이 하향크로스 - 3 분봉에서는 오직 20삼각가중선을 지수 5 이평이 하향 크로스할때 매도 (분봉 시가선, 삼각가중, 지수이평은 변수) 1 input : 타주기분1(3),타주기분2(60),타주기분3(240),전환선기간(9); var : S1(0),D1(0),TM(0),cnt(0),hh(0),ll(0),전환선(0); var : TF1(0),TF2(0),TF3(0),O2(0),O3(0),H2(0),L2(0); Array : H1[100](0),L1[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%타주기분1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분1 > 1 and TF1 < TF1[1]) or (Bdate == Bdate[1] and 타주기분1 > 1 and TM >= TM[1]+타주기분1) or (Bdate == Bdate[1] and 타주기분1 == 1 and TM > TM[1]) Then { For cnt = 99 DownTo 1 { H1[cnt] = H1[cnt-1]; L1[cnt] = L1[cnt-1]; } H1[0] = H; L1[0] = L; } if H1[0] > 0 and H > H1[0] Then H1[0] = H; if L1[0] > 0 and L < L1[0] Then L1[0] = L; TF2 = TM%타주기분2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분2 > 1 and TF2 < TF2[1]) or (Bdate == Bdate[1] and 타주기분2 > 1 and TM >= TM[1]+타주기분1) or (Bdate == Bdate[1] and 타주기분2 == 1 and TM > TM[1]) Then { O2 = O; H2 = H; L2 = L; } if H2 > 0 and H > H2 Then H2 = H; if L2 > 0 and L < L2 Then L2 = L; TF3 = TM%타주기분3; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분3 > 1 and TF3 < TF3[1]) or (Bdate == Bdate[1] and 타주기분3 > 1 and TM >= TM[1]+타주기분3) or (Bdate == Bdate[1] and 타주기분3 == 1 and TM > TM[1]) Then { O3 = O; } if O2 > 0 and O3 > 0 and H1[전환선기간-1] > 0 and L1[전환선기간-1] > 0 Then { hh = 0; ll = 0; For cnt = 0 to 전환선기간-1 { if hh == 0 or (hh > 0 and H1[cnt] > hh) Then hh = H1[cnt]; if ll == 0 or (ll > 0 and L1[cnt] < ll) Then ll = L1[cnt]; } 전환선 = (hh+ll)/2; if C > O3 and C > O2 and C >= L2+(H2-L2)*0.25 and C > 전환선 then Buy(); if C < O3 and C < O2 and C <= H2-(H2-L2)*0.25 and C < 전환선 then Sell(); } } 2 input : 타주기분1(3),타주기분2(60),타주기분3(240),전환선기간(9); var : S1(0),D1(0),TM(0),cnt(0),hh(0),ll(0),전환선(0); var : TF1(0),TF2(0),TF3(0),O2(0),O3(0),H2(0),L2(0),tx(0); Array : H1[100](0),L1[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%타주기분1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분1 > 1 and TF1 < TF1[1]) or (Bdate == Bdate[1] and 타주기분1 > 1 and TM >= TM[1]+타주기분1) or (Bdate == Bdate[1] and 타주기분1 == 1 and TM > TM[1]) Then { For cnt = 99 DownTo 1 { H1[cnt] = H1[cnt-1]; L1[cnt] = L1[cnt-1]; } H1[0] = H; L1[0] = L; } if H1[0] > 0 and H > H1[0] Then H1[0] = H; if L1[0] > 0 and L < L1[0] Then L1[0] = L; TF2 = TM%타주기분2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분2 > 1 and TF2 < TF2[1]) or (Bdate == Bdate[1] and 타주기분2 > 1 and TM >= TM[1]+타주기분1) or (Bdate == Bdate[1] and 타주기분2 == 1 and TM > TM[1]) Then { O2 = O; H2 = H; L2 = L; } if H2 > 0 and H > H2 Then H2 = H; if L2 > 0 and L < L2 Then L2 = L; TF3 = TM%타주기분3; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분3 > 1 and TF3 < TF3[1]) or (Bdate == Bdate[1] and 타주기분3 > 1 and TM >= TM[1]+타주기분3) or (Bdate == Bdate[1] and 타주기분3 == 1 and TM > TM[1]) Then { O3 = O; } if O2 > 0 and O3 > 0 and H1[전환선기간-1] > 0 and L1[전환선기간-1] > 0 Then { hh = 0; ll = 0; For cnt = 0 to 전환선기간-1 { if hh == 0 or (hh > 0 and H1[cnt] > hh) Then hh = H1[cnt]; if ll == 0 or (ll > 0 and L1[cnt] < ll) Then ll = L1[cnt]; } 전환선 = (hh+ll)/2; if C > O3 and C > O2 and C >= L2+(H2-L2)*0.25 and C > 전환선 then { tx = Text_New(sDate,sTime,H,"●"); Text_SetColor(tx,Red); Text_SetStyle(tx,2,1); Text_SetSize(tx,12); } if C < O3 and C < O2 and C <= H2-(H2-L2)*0.25 and C < 전환선 then { tx = Text_New(sDate,sTime,H,"●"); Text_SetColor(tx,Blue); Text_SetStyle(tx,2,1); Text_SetSize(tx,12); } plot1(O2); plot2(O3); plot3(전환선); plot4(L2+(H2-L2)*0.25); plot5(H2-(H2-L2)*0.25); } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-07-26 11:51:10

안녕하세요 예스스탁입니다. 틱봉자체에서 분봉값은 정확한 계산은 불가합니다. 모든값은 근사값이라고 보셔야 합니다. input : 타주기분1(3),타주기분2(15),타주기분3(60),EMAP(5),TMAP(20); var : S1(0),D1(0),TM(0),TF1(0),TF2(0),TF3(0),cnt(0); var : O2(0),O3(0),O21(0),O31(0); var : EP(0),i1(0),i2(0),i3(0),Pre1(0),Pre2(0),Pre3(0),E1(0),E2(0),E3(0); Var : Sum1(0),sum2(0),Tma(0),TLen(0),TMA1(0); Array : C1[100](0),M1[100](0); EP = 2/(EMAP+1); TLen = Ceiling((TMAP + 1) * .5); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%타주기분1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분1 > 1 and TF1 < TF1[1]) or (Bdate == Bdate[1] and 타주기분1 > 1 and TM >= TM[1]+타주기분1) or (Bdate == Bdate[1] and 타주기분1 == 1 and TM > TM[1]) Then { i1 = i1+1; Pre1 = E1[1]; for cnt = 99 downto 1 { C1[cnt] = C1[cnt-1]; m1[cnt] = m1[cnt-1]; } TMA1 = TMA[1]; } C1[0] = c; if C1[TLen-1] > 0 Then { Sum1 = 0; For cnt = 0 To TLen - 1 { Sum1 = Sum1 + C1[cnt]; } m1[0] = sum1/TLen; } if m1[TLen-1] > 0 Then { Sum2 = 0; For cnt = 0 To TLen - 1 { Sum2 = Sum2 + m1[cnt]; } Tma = sum2/TLen; } if i1 <= 1 then E1 = C; else E1 = C * EP + Pre1 * (1-EP); TF2 = TM%타주기분2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분2 > 1 and TF2 < TF2[1]) or (Bdate == Bdate[1] and 타주기분2 > 1 and TM >= TM[1]+타주기분1) or (Bdate == Bdate[1] and 타주기분2 == 1 and TM > TM[1]) Then { i2 = i2+1; O2 = O; O21 = O2[1]; Pre2 = E2[1]; } if i2 <= 1 then E2 = C; else E2 = C * EP + Pre2 * (1-EP); TF3 = TM%타주기분3; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분3 > 1 and TF3 < TF3[1]) or (Bdate == Bdate[1] and 타주기분3 > 1 and TM >= TM[1]+타주기분3) or (Bdate == Bdate[1] and 타주기분3 == 1 and TM > TM[1]) Then { i3 = i3+1; O3 = O; O31 = O2[1]; Pre3 = E3[1]; } if i3 <= 1 then E3 = C; else E3 = C * EP + Pre3 * (1-EP); if TMA1 > 0 and E3 > O3 and pre3 < O31 and E2 > O2 and pre2 < O21 and TMA > E1 and TMA1 < pre1 Then Buy(); if TMA1 > 0 and E3 < O3 and pre3 > O31 and E2 < O2 and pre2 > O21 and TMA < E1 and TMA1 > pre1 Then Sell(); } 즐거운 하루되세요 > 라몬 님이 쓴 글입니다. > 제목 : 수정부탁드립니다. > 안녕하세요 더운 날씨에 저희의 수고를 덜어주셔서 감사드립니다. 아래 시스템과 지표의 수식을 다시한번 수정 부탁드립니다. 고맙습니다. 진입은 틱챠트에서 합니다 1.매수조건 (3개의 조건이 한개라도 안맞을시 신호 불가) - 1시간봉 시가선을 지수5 이평이 상향크로스 - 15 분봉 시가선을 지수5 이평이 상향크로스 - 3 분봉에서는 오직 20삼각가중선을 지수 5 이평이 상향 크로스할때 매수 (분봉 시가선, 삼각가중, 지수이평은 변수) 2.매도조건 (3개의 조건이 한개라도 안맞을시 신호 불가) - 1시간봉 시가선을 지수5 이평이 하향크로스 - 15 분봉 시가선을 지수5 이평이 하향크로스 - 3 분봉에서는 오직 20삼각가중선을 지수 5 이평이 하향 크로스할때 매도 (분봉 시가선, 삼각가중, 지수이평은 변수) 1 input : 타주기분1(3),타주기분2(60),타주기분3(240),전환선기간(9); var : S1(0),D1(0),TM(0),cnt(0),hh(0),ll(0),전환선(0); var : TF1(0),TF2(0),TF3(0),O2(0),O3(0),H2(0),L2(0); Array : H1[100](0),L1[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%타주기분1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분1 > 1 and TF1 < TF1[1]) or (Bdate == Bdate[1] and 타주기분1 > 1 and TM >= TM[1]+타주기분1) or (Bdate == Bdate[1] and 타주기분1 == 1 and TM > TM[1]) Then { For cnt = 99 DownTo 1 { H1[cnt] = H1[cnt-1]; L1[cnt] = L1[cnt-1]; } H1[0] = H; L1[0] = L; } if H1[0] > 0 and H > H1[0] Then H1[0] = H; if L1[0] > 0 and L < L1[0] Then L1[0] = L; TF2 = TM%타주기분2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분2 > 1 and TF2 < TF2[1]) or (Bdate == Bdate[1] and 타주기분2 > 1 and TM >= TM[1]+타주기분1) or (Bdate == Bdate[1] and 타주기분2 == 1 and TM > TM[1]) Then { O2 = O; H2 = H; L2 = L; } if H2 > 0 and H > H2 Then H2 = H; if L2 > 0 and L < L2 Then L2 = L; TF3 = TM%타주기분3; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분3 > 1 and TF3 < TF3[1]) or (Bdate == Bdate[1] and 타주기분3 > 1 and TM >= TM[1]+타주기분3) or (Bdate == Bdate[1] and 타주기분3 == 1 and TM > TM[1]) Then { O3 = O; } if O2 > 0 and O3 > 0 and H1[전환선기간-1] > 0 and L1[전환선기간-1] > 0 Then { hh = 0; ll = 0; For cnt = 0 to 전환선기간-1 { if hh == 0 or (hh > 0 and H1[cnt] > hh) Then hh = H1[cnt]; if ll == 0 or (ll > 0 and L1[cnt] < ll) Then ll = L1[cnt]; } 전환선 = (hh+ll)/2; if C > O3 and C > O2 and C >= L2+(H2-L2)*0.25 and C > 전환선 then Buy(); if C < O3 and C < O2 and C <= H2-(H2-L2)*0.25 and C < 전환선 then Sell(); } } 2 input : 타주기분1(3),타주기분2(60),타주기분3(240),전환선기간(9); var : S1(0),D1(0),TM(0),cnt(0),hh(0),ll(0),전환선(0); var : TF1(0),TF2(0),TF3(0),O2(0),O3(0),H2(0),L2(0),tx(0); Array : H1[100](0),L1[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%타주기분1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분1 > 1 and TF1 < TF1[1]) or (Bdate == Bdate[1] and 타주기분1 > 1 and TM >= TM[1]+타주기분1) or (Bdate == Bdate[1] and 타주기분1 == 1 and TM > TM[1]) Then { For cnt = 99 DownTo 1 { H1[cnt] = H1[cnt-1]; L1[cnt] = L1[cnt-1]; } H1[0] = H; L1[0] = L; } if H1[0] > 0 and H > H1[0] Then H1[0] = H; if L1[0] > 0 and L < L1[0] Then L1[0] = L; TF2 = TM%타주기분2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분2 > 1 and TF2 < TF2[1]) or (Bdate == Bdate[1] and 타주기분2 > 1 and TM >= TM[1]+타주기분1) or (Bdate == Bdate[1] and 타주기분2 == 1 and TM > TM[1]) Then { O2 = O; H2 = H; L2 = L; } if H2 > 0 and H > H2 Then H2 = H; if L2 > 0 and L < L2 Then L2 = L; TF3 = TM%타주기분3; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분3 > 1 and TF3 < TF3[1]) or (Bdate == Bdate[1] and 타주기분3 > 1 and TM >= TM[1]+타주기분3) or (Bdate == Bdate[1] and 타주기분3 == 1 and TM > TM[1]) Then { O3 = O; } if O2 > 0 and O3 > 0 and H1[전환선기간-1] > 0 and L1[전환선기간-1] > 0 Then { hh = 0; ll = 0; For cnt = 0 to 전환선기간-1 { if hh == 0 or (hh > 0 and H1[cnt] > hh) Then hh = H1[cnt]; if ll == 0 or (ll > 0 and L1[cnt] < ll) Then ll = L1[cnt]; } 전환선 = (hh+ll)/2; if C > O3 and C > O2 and C >= L2+(H2-L2)*0.25 and C > 전환선 then { tx = Text_New(sDate,sTime,H,"●"); Text_SetColor(tx,Red); Text_SetStyle(tx,2,1); Text_SetSize(tx,12); } if C < O3 and C < O2 and C <= H2-(H2-L2)*0.25 and C < 전환선 then { tx = Text_New(sDate,sTime,H,"●"); Text_SetColor(tx,Blue); Text_SetStyle(tx,2,1); Text_SetSize(tx,12); } plot1(O2); plot2(O3); plot3(전환선); plot4(L2+(H2-L2)*0.25); plot5(H2-(H2-L2)*0.25); } }