커뮤니티

수식 수정부탁드려요

프로필 이미지
가날
2020-06-14 14:16:11
1684
글번호 139825
답변완료
여기 글중에 참고 한 시스템인데요 1 매수 추세 신호는 나오는데 매도 추세신호가 안나와서요 수식이 잘못된건지 조건이 안맞는건지 만약 조건이면 조건 어느부분을 완화 하면 되는 지 알려주세요 2 이 시스템 열리는데 올래걸리는데 선을 표시하는거 때문에 올래걸리는거면 결과에 영향을 안주게 삭제 가능하면 삭제부탁드려요 3 매매시작시간 8시 40분 종료시간 새벽 5시에 할려고 시간 추가했는데 적용이 안되는거 같아서 수정부탁드려요 input : StartTime(84000),EndTime(50000); var : mav1(0),mav11(0),mav2(0),mav21(0), Tcond(false); value1 = 0; # 매수 / 매도청산 If CCI(9) > 0 Then value1 = 1; If MACD(12,26) > 0 Then value1 = value1+1; If DIPlus(14) > DIMinus(14) Then value1 = value1+1; If StochasticsK(12,5) > StochasticsD(12,5,5) Then value1 = value1+1; value2 = 0; # 매도/매수청산 If CCI(9) < 0 Then value2 = 1; If MACD(12,26) < 0 Then value2 = value2+1; If DIPlus(14) < DIMinus(14) Then value2 = value2+1; If StochasticsK(12,5) < StochasticsD(12,5,5) Then value2 = value2+1; if H[1] == highest(H,5)[1] and H[1] > max(C[1],O[1]) and V[1] >= 5000 and C[0] < C[1] Then exitlong("매수분청산"); if L[1] == Lowest(L,5)[1] and H[1] > max(C[1],O[1]) and V[1] >= 5000 and C[0] > C[1] Then ExitShort("매도분청산"); if H[2] == highest(H,5)[1] and H[2] > max(C[2],O[2]) and V[2] >= 5000 and C[0] < C[2] Then exitlong("매수분올청산"); if L[2] == Lowest(L,5)[1] and H[1] > max(C[1],O[1]) and V[1] >= 5000 and C[0] > C[1] Then ExitShort("매도분올청산"); Input : length(10),종가사용여부(0),수치표시(0),표시(0); input : 추세두께(1),추세상승색(red),추세하락색(blue); input : 고점연결두께(2),고점연결색상(LGREEN); input : 저점연결두께(2),저점연결색상(MAGENTA); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),TL11(0),TL12(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL1,추세두께); TL_SetColor(TL1,추세상승색); if 저[1,1] > 저[2,1] Then { if 표시 == 0 Then TL_Delete(TL11); TL11 = TL_New(저[2,3],저[2,4],저[2,1],저[1,3],저[1,4],저[1,1]); TL_SetExtRight(TL11,true); TL_SetColor(TL11,저점연결색상); TL_SetSize(TL11,저점연결두께); } If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)+NewLine+"+"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); Text_SetStyle(Text1, 2, 1); } if value1 >= 3 then buy("추세매수"); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)+NewLine+"+"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL1,추세두께); TL_SetColor(TL1,추세하락색); if 고[1,1] < 고[2,1] Then { if 표시 == 0 Then TL_Delete(TL12); TL12 = TL_New(고[2,3],고[2,4],고[2,1],고[1,3],고[1,4],고[1,1]); TL_SetExtRight(TL12,true); TL_SetColor(TL12,고점연결색상); TL_SetSize(TL12,고점연결두께); } If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)+NewLine+"-"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); Text_SetStyle(Text1, 2, 0); } if value3 >= 3 then sell("추세매도"); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)+NewLine+"-"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); } } 최종꼭지점 = "저점"; } --------------------------------------------- 또 다른시스템인데요 매수 신호만 나오게 되어 있는데 매수신호의 수식의 반대 일때 매도 신호 나오게 수정부탁드려요 추가적으로 이것도 8시40분에 해서 새벽 5시에 끝나개 설정했는데 안되서 이것도 수정부탁드립니다 input :신고가평균봉수(100); input : 신고가거래제한봉수(50); input : 거래량(1000); input : StartTime(83500),EndTime(50000); #청산 조건 input : 청산이평(50); input : 손절이평(100); input : 터치익절(1.5),즉시손절(0.7); var : hi1(0),hi2(0),mav1(0),mav2(0); var : mav11(0),mav21(0), Tcond(false); mav1 = ma(C,청산이평); mav2 = ma(C,손절이평); Condition1 = C > highest(H,신고가평균봉수)[1]; #지정한 StartTime 시간봉이 발생하면 Tcond는 true if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then Tcond = true; #지정한 EndTime 시간봉이 발생하면 Tcond는 false if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; #지정한 시간대이면 if Tcond == true then { if Condition1 == true Then { hi1 = index; hi2 = hi1[1]; if (hi2 == 0 or (hi2 > 0 and hi1 > hi2+신고가거래제한봉수)) and V >= 거래량 Then buy("매수진입",AtMarket); } if MarketPosition == 1 then { if c < EntryPrice and CrossDown(c,mav2) Then exitlong("손절"); if c > EntryPrice and CrossDown(c,mav1) Then exitlong("이익실현"); } } SetStopLoss(즉시손절 , PercentStop); SetStopProfittarget(터치익절 , PercentStop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-06-15 16:11:47

안녕하세요 예스스탁입니다. 1 매도쪽에 조건에 변수가 잘못지정되어 있었습니다. value3이란 변수에 저장된 값이 없습니다. value3 >= 3을 value2 >= 3으로 변경했습니다. 수식에 추세선과 텍스트 함수로 차트에 표시하는 내용들이 있어 적용에 시간이 많이 걸리게 됩니다. 추세선과 텍스트 출력되지 않게 주석처리로 막았습니다. 수식에 외부변수로 시간변수만 선언이 되어 있고 해당 값을 이용해서 제어하는 내용이 없습니다. 해당 내용을 추가했습니다. input : StartTime(84000),EndTime(50000); var : mav1(0),mav11(0),mav2(0),mav21(0), Tcond(false); #지정한 StartTime 시간봉이 발생하면 Tcond는 true if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then Tcond = true; #지정한 EndTime 시간봉이 발생하면 Tcond는 false if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; value1 = 0; # 매수 / 매도청산 If CCI(9) > 0 Then value1 = 1; If MACD(12,26) > 0 Then value1 = value1+1; If DIPlus(14) > DIMinus(14) Then value1 = value1+1; If StochasticsK(12,5) > StochasticsD(12,5,5) Then value1 = value1+1; value2 = 0; # 매도/매수청산 If CCI(9) < 0 Then value2 = 1; If MACD(12,26) < 0 Then value2 = value2+1; If DIPlus(14) < DIMinus(14) Then value2 = value2+1; If StochasticsK(12,5) < StochasticsD(12,5,5) Then value2 = value2+1; if Tcond == true then { if H[1] == highest(H,5)[1] and H[1] > max(C[1],O[1]) and V[1] >= 5000 and C[0] < C[1] Then exitlong("매수분청산"); if L[1] == Lowest(L,5)[1] and H[1] > max(C[1],O[1]) and V[1] >= 5000 and C[0] > C[1] Then ExitShort("매도분청산"); if H[2] == highest(H,5)[1] and H[2] > max(C[2],O[2]) and V[2] >= 5000 and C[0] < C[2] Then exitlong("매수분올청산"); if L[2] == Lowest(L,5)[1] and H[1] > max(C[1],O[1]) and V[1] >= 5000 and C[0] > C[1] Then ExitShort("매도분올청산"); } Input : length(10),종가사용여부(0),수치표시(0),표시(0); input : 추세두께(1),추세상승색(red),추세하락색(blue); input : 고점연결두께(2),고점연결색상(LGREEN); input : 저점연결두께(2),저점연결색상(MAGENTA); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),TL11(0),TL12(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; #TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL1,추세두께); TL_SetColor(TL1,추세상승색); if 저[1,1] > 저[2,1] Then { if 표시 == 0 Then TL_Delete(TL11); #TL11 = TL_New(저[2,3],저[2,4],저[2,1],저[1,3],저[1,4],저[1,1]); TL_SetExtRight(TL11,true); TL_SetColor(TL11,저점연결색상); TL_SetSize(TL11,저점연결두께); } If 수치표시 == 1 Then { #Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)+NewLine+"+"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); Text_SetStyle(Text1, 2, 1); } if value1 >= 3 and Tcond == true then buy("추세매수"); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)+NewLine+"+"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; #TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL1,추세두께); TL_SetColor(TL1,추세하락색); if 고[1,1] < 고[2,1] Then { if 표시 == 0 Then TL_Delete(TL12); #TL12 = TL_New(고[2,3],고[2,4],고[2,1],고[1,3],고[1,4],고[1,1]); TL_SetExtRight(TL12,true); TL_SetColor(TL12,고점연결색상); TL_SetSize(TL12,고점연결두께); } If 수치표시 == 1 Then { #Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)+NewLine+"-"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); Text_SetStyle(Text1, 2, 0); } if value2 >= 3 and Tcond == true then sell("추세매도"); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)+NewLine+"-"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); } } 최종꼭지점 = "저점"; } 2 input :신고가평균봉수(100); input :신저가평균봉수(100); input : 신고가거래제한봉수(50); input : 거래량(1000); input : StartTime(83500),EndTime(50000); #청산 조건 input : 청산이평(50); input : 손절이평(100); input : 터치익절(1.5),즉시손절(0.7); var : hi1(0),hi2(0),li1(0),li2(0),mav1(0),mav2(0); var : mav11(0),mav21(0), Tcond(false); mav1 = ma(C,청산이평); mav2 = ma(C,손절이평); Condition1 = C > highest(H,신고가평균봉수)[1]; Condition2 = C < Lowest(H,신저가평균봉수)[1]; #지정한 StartTime 시간봉이 발생하면 Tcond는 true if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then Tcond = true; #지정한 EndTime 시간봉이 발생하면 Tcond는 false if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; #지정한 시간대이면 if Tcond == true then { if Condition1 == true Then { hi1 = index; hi2 = hi1[1]; if (hi2 == 0 or (hi2 > 0 and hi1 > hi2+신고가거래제한봉수)) and V >= 거래량 Then buy("매수진입",AtMarket); } if MarketPosition == 1 then { if c < EntryPrice and CrossDown(c,mav2) Then exitlong("손절"); if c > EntryPrice and CrossDown(c,mav1) Then exitlong("이익실현"); } if Condition2 == true Then { li1 = index; li2 = li1[1]; if (li2 == 0 or (li2 > 0 and li1 >li2+신고가거래제한봉수)) and V >= 거래량 Then sell("매도진입",AtMarket); } if MarketPosition == 1 then { if c < EntryPrice and CrossDown(c,mav2) Then exitlong("매수손절"); if c > EntryPrice and CrossDown(c,mav1) Then exitlong("매수익절"); } if MarketPosition == -1 then { if c > EntryPrice and Crossup(c,mav2) Then exitlong("매도손절"); if c < EntryPrice and CrossUp(c,mav1) Then exitlong("매도익절"); } } SetStopLoss(즉시손절 , PercentStop); SetStopProfittarget(터치익절 , PercentStop); 즐거운 하루되세요 > 가날 님이 쓴 글입니다. > 제목 : 수식 수정부탁드려요 > 여기 글중에 참고 한 시스템인데요 1 매수 추세 신호는 나오는데 매도 추세신호가 안나와서요 수식이 잘못된건지 조건이 안맞는건지 만약 조건이면 조건 어느부분을 완화 하면 되는 지 알려주세요 2 이 시스템 열리는데 올래걸리는데 선을 표시하는거 때문에 올래걸리는거면 결과에 영향을 안주게 삭제 가능하면 삭제부탁드려요 3 매매시작시간 8시 40분 종료시간 새벽 5시에 할려고 시간 추가했는데 적용이 안되는거 같아서 수정부탁드려요 input : StartTime(84000),EndTime(50000); var : mav1(0),mav11(0),mav2(0),mav21(0), Tcond(false); value1 = 0; # 매수 / 매도청산 If CCI(9) > 0 Then value1 = 1; If MACD(12,26) > 0 Then value1 = value1+1; If DIPlus(14) > DIMinus(14) Then value1 = value1+1; If StochasticsK(12,5) > StochasticsD(12,5,5) Then value1 = value1+1; value2 = 0; # 매도/매수청산 If CCI(9) < 0 Then value2 = 1; If MACD(12,26) < 0 Then value2 = value2+1; If DIPlus(14) < DIMinus(14) Then value2 = value2+1; If StochasticsK(12,5) < StochasticsD(12,5,5) Then value2 = value2+1; if H[1] == highest(H,5)[1] and H[1] > max(C[1],O[1]) and V[1] >= 5000 and C[0] < C[1] Then exitlong("매수분청산"); if L[1] == Lowest(L,5)[1] and H[1] > max(C[1],O[1]) and V[1] >= 5000 and C[0] > C[1] Then ExitShort("매도분청산"); if H[2] == highest(H,5)[1] and H[2] > max(C[2],O[2]) and V[2] >= 5000 and C[0] < C[2] Then exitlong("매수분올청산"); if L[2] == Lowest(L,5)[1] and H[1] > max(C[1],O[1]) and V[1] >= 5000 and C[0] > C[1] Then ExitShort("매도분올청산"); Input : length(10),종가사용여부(0),수치표시(0),표시(0); input : 추세두께(1),추세상승색(red),추세하락색(blue); input : 고점연결두께(2),고점연결색상(LGREEN); input : 저점연결두께(2),저점연결색상(MAGENTA); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),TL11(0),TL12(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL1,추세두께); TL_SetColor(TL1,추세상승색); if 저[1,1] > 저[2,1] Then { if 표시 == 0 Then TL_Delete(TL11); TL11 = TL_New(저[2,3],저[2,4],저[2,1],저[1,3],저[1,4],저[1,1]); TL_SetExtRight(TL11,true); TL_SetColor(TL11,저점연결색상); TL_SetSize(TL11,저점연결두께); } If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)+NewLine+"+"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); Text_SetStyle(Text1, 2, 1); } if value1 >= 3 then buy("추세매수"); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)+NewLine+"+"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL1,추세두께); TL_SetColor(TL1,추세하락색); if 고[1,1] < 고[2,1] Then { if 표시 == 0 Then TL_Delete(TL12); TL12 = TL_New(고[2,3],고[2,4],고[2,1],고[1,3],고[1,4],고[1,1]); TL_SetExtRight(TL12,true); TL_SetColor(TL12,고점연결색상); TL_SetSize(TL12,고점연결두께); } If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)+NewLine+"-"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); Text_SetStyle(Text1, 2, 0); } if value3 >= 3 then sell("추세매도"); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)+NewLine+"-"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); } } 최종꼭지점 = "저점"; } --------------------------------------------- 또 다른시스템인데요 매수 신호만 나오게 되어 있는데 매수신호의 수식의 반대 일때 매도 신호 나오게 수정부탁드려요 추가적으로 이것도 8시40분에 해서 새벽 5시에 끝나개 설정했는데 안되서 이것도 수정부탁드립니다 input :신고가평균봉수(100); input : 신고가거래제한봉수(50); input : 거래량(1000); input : StartTime(83500),EndTime(50000); #청산 조건 input : 청산이평(50); input : 손절이평(100); input : 터치익절(1.5),즉시손절(0.7); var : hi1(0),hi2(0),mav1(0),mav2(0); var : mav11(0),mav21(0), Tcond(false); mav1 = ma(C,청산이평); mav2 = ma(C,손절이평); Condition1 = C > highest(H,신고가평균봉수)[1]; #지정한 StartTime 시간봉이 발생하면 Tcond는 true if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then Tcond = true; #지정한 EndTime 시간봉이 발생하면 Tcond는 false if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; #지정한 시간대이면 if Tcond == true then { if Condition1 == true Then { hi1 = index; hi2 = hi1[1]; if (hi2 == 0 or (hi2 > 0 and hi1 > hi2+신고가거래제한봉수)) and V >= 거래량 Then buy("매수진입",AtMarket); } if MarketPosition == 1 then { if c < EntryPrice and CrossDown(c,mav2) Then exitlong("손절"); if c > EntryPrice and CrossDown(c,mav1) Then exitlong("이익실현"); } } SetStopLoss(즉시손절 , PercentStop); SetStopProfittarget(터치익절 , PercentStop);