커뮤니티

안녕하세요?

프로필 이미지
시그너스
2020-05-31 14:46:45
1931
글번호 139386
답변완료
Var : value(0); value = 0; # 매수 / 매도청산 If CCI(9) > 0 Then value = 1; If MACD(12,26) > 0 Then value = value+1; If DIPlus(14) > DIMinus(14) Then value = value+1; If StochasticsK(12,5) > StochasticsD(12,5,5) Then value = value+1; # 매수/매도청산 If value >= 3 Then { Buy("매수"); } value = 0; # 매도/매수청산 If CCI(9) < 0 Then value = 1; If MACD(12,26) < 0 Then value = value+1; If DIPlus(14) < DIMinus(14) Then value = value+1; If StochasticsK(12,5) < StochasticsD(12,5,5) Then value = value+1; If value >= 3 Then { Sell("매도"); } 위 기준에 아래 것 을 합성 해 주시길 부탁 드립니다. 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("매도분올청산"); if L[1]==LOWEST(L,5) and C[1]<O[1] and C[1]>L[1] and O[0]>L[0] and C[1]==O[0] and L[1]==L[0] and C[0]>O[0] and v>3000 Then buy("집게발매수"); if H[1]==highest(H,5) and C[1]>O[1] and C[1]<H[1] and O[0]<H[0] and C[1]==O[0] and H[1]==H[0] and C[0]<O[0] and v > 3000 Then sell("집게발매도"); 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); } 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); } 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)+"틱"); } } 최종꼭지점 = "저점"; }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-06-01 11:10:50

안녕하세요 예스스탁입니다. 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("매도분올청산"); if L[1]==LOWEST(L,5) and C[1]<O[1] and C[1]>L[1] and O[0]>L[0] and C[1]==O[0] and L[1]==L[0] and C[0]>O[0] and v>3000 and value1 >= 3 Then buy("집게발매수"); if H[1]==highest(H,5) and C[1]>O[1] and C[1]<H[1] and O[0]<H[0] and C[1]==O[0] and H[1]==H[0] and C[0]<O[0] and v > 3000 and value1 >= 3 Then sell("집게발매도"); 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)+"틱"); } } 최종꼭지점 = "저점"; } 즐거운 하루되세요 > 시그너스 님이 쓴 글입니다. > 제목 : 안녕하세요? > Var : value(0); value = 0; # 매수 / 매도청산 If CCI(9) > 0 Then value = 1; If MACD(12,26) > 0 Then value = value+1; If DIPlus(14) > DIMinus(14) Then value = value+1; If StochasticsK(12,5) > StochasticsD(12,5,5) Then value = value+1; # 매수/매도청산 If value >= 3 Then { Buy("매수"); } value = 0; # 매도/매수청산 If CCI(9) < 0 Then value = 1; If MACD(12,26) < 0 Then value = value+1; If DIPlus(14) < DIMinus(14) Then value = value+1; If StochasticsK(12,5) < StochasticsD(12,5,5) Then value = value+1; If value >= 3 Then { Sell("매도"); } 위 기준에 아래 것 을 합성 해 주시길 부탁 드립니다. 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("매도분올청산"); if L[1]==LOWEST(L,5) and C[1]<O[1] and C[1]>L[1] and O[0]>L[0] and C[1]==O[0] and L[1]==L[0] and C[0]>O[0] and v>3000 Then buy("집게발매수"); if H[1]==highest(H,5) and C[1]>O[1] and C[1]<H[1] and O[0]<H[0] and C[1]==O[0] and H[1]==H[0] and C[0]<O[0] and v > 3000 Then sell("집게발매도"); 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); } 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); } 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)+"틱"); } } 최종꼭지점 = "저점"; }