답변완료
수정좀 부탁드립니다
input : N(3); var : Per(0.1); var : HD(0),HT(0),HH(0),HHD(0),HHT(0); var : HD1(0),HT1(0),HH1(0); var : LD(0),LT(0),LL(0),LLD(0),LLT(0); var : LD1(0),LT1(0),LL1(0); var : HTL(0),LTL(0),TL(0); var : tx1(0),tx2(0),HTx(0),Ltx(0); var : T(0); var : HB(0),LB(0),cnt(0); Array : HHTL[20](0),LLTL[20](0); var1 = ma(c, 60); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; Plot1(var1,"이동평균선"); if T == 1 Then { if T != T[1] Then { HD = sDate; HT = sTime; HH = h; HHD = sDate; HHT = sTime; HD1 = HHD[1]; HT1 = HHT[1]; HH1 = HH[1]; HTL = tl_new(HD,HT,HH,NextBarSdate,NextBarStime,HH); TL_SetColor(HTL, Red); HTx = Text_New(NextBarSdate,NextBarStime,HH,NumToStr(HH,2)); Text_SetColor(HTx, Red); Text_SetStyle(HTx, 1, 1); HB = 0; For cnt = 19 DownTo 1 { HHTL[cnt] = HHTL[cnt-1]; } if HH1 > 0 Then { HHTL[0] = TL_New(HD1,HT1,HH1,HHD,HHT,HH); TL_SetColor(HHTL[0], Red); TL_SetDrawMode(HHTL[0],0); TL_SetExtRight(HHTL[0],true); TL_Delete(HHTL[N]); } } Else { if h > HH Then { HH = h; HHD = sDate; HHT = sTime; if HH1 > 0 Then TL_SetEnd(HHTL[0],HHD,HHT,HH); } HB = HB+1; } TL_SetBegin(HTL,HD,HT,HH); TL_SetEnd(HTL,NextBarSdate,NextBarStime,HH); Text_SetLocation(HTx,NextBarSdate,NextBarStime,HH); } if T == -1 Then { if T != T[1] Then { LD = sDate; LT = sTime; LL = l; LLD = sDate; LLT = sTime; LD1 = LLD[1]; LT1 = LLT[1]; LL1 = LL[1]; LTL = tl_new(LD,LT,LL,NextBarSdate,NextBarStime,LL); TL_SetColor(LTL, Blue); Ltx = Text_New(NextBarSdate,NextBarStime,LL,NumToStr(LL,2)); Text_SetColor(Ltx, Blue); Text_SetStyle(Ltx, 1, 0); LB = 0; For cnt = 19 DownTo 1 { LLTL[cnt] = LLTL[cnt-1]; } if LL1 > 0 Then { LLTL[0] = TL_New(LD1,LT1,LL1,LLD,LLT,LL); TL_SetColor(LLTL[0], Blue); TL_SetDrawMode(LLTL[0],0); TL_SetExtRight(LLTL[0],true); TL_Delete(LLTL[N]); } } Else { if l < LL Then { LL = l; LLD = sDate; LLT = sTime; if LL1 > 0 Then TL_SetEnd(LLTL[0],LLD,LLT,LL); } LB = LB+1; } TL_SetBegin(LTL,LD,LT,LL); TL_SetEnd(LTL,NextBarSdate,NextBarStime,LL); Text_SetLocation(Ltx,NextBarSdate,NextBarStime,LL); } 추세선을 몇개를 노출할것인지는 잘추가해주셨구요 추세선 역시 직전 n번째 부터 연결할수 있도록 수정 부탁드립니다
답변완료
슈퍼트렌드 조건검색
안녕하세요!기본적인 질문 드려서 죄송합니다 ㅠ슈퍼트렌드 종목검색을 만들어서 쓰고 싶은데슈퍼트렌드 (12,3) / (11,2) / (10,1) 이렇게 3개선 위에 있는 종목을 검색하고 싶습니다그래서 찾아보니 밑에 함수를 찾았고 이걸 숫자만 위에 3개로 바꿔서조건검색 A and B and C 로 했더니너무 많은 종목이 검색됩니다돌파한 종목말고 그냥 3개선 모두 위에 현재가가 있는 종목을 검색하고 싶습니다감사합니다좋은 하루 되세요!input : AtrPeriod(11),factor(2);var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0); var : prevSuperTrend(0), superTrend(C), direction(0),alpha(0),source(0); if CurrentBar > 1 Then { src = (H+L)/2; alpha = 1 / AtrPeriod ; source = max(high - low, abs(high - close[1]), abs(low - close[1])); ATrV = alpha * source + (1 - alpha) * ATrV[1]; //지수가중이평방식 //ATrV = ma(source,AtrPeriod); //단순이평방식 upperBand = src + factor * AtrV; lowerBand = src - factor * AtrV; prevLowerBand = lowerBand[1]; prevUpperBand = upperBand[1]; if lowerBand > prevLowerBand or close[1] < prevLowerBand Then lowerBand = lowerBand; Else lowerBand = prevLowerBand; if upperBand < prevUpperBand or close[1] > prevUpperBand Then upperBand = upperBand; Else upperBand = prevUpperBand; if C > UpperBand Then direction = 1; if C < LowerBand Then direction = -1; if direction == 1 Then supertrend = lowerband; Else supertrend = upperband; if c > supertrend Then Find(1);}
답변완료
시스템매매 관련 문의합니다..^^*
아래수식에 보시면 시작일이 25년7월2일 설정이 되어있는데,추가적인 사항으로 한시간단위로는 설정이 가능한지요^^*한시간단위도 설정가능하면 변수로 지정해 주시면 고맙겠습니다..항상 감사드립니다...input : 시작일(20250702),갭상승(2),P(20),하락per(1),분할(20);input : starttime(91500),EndTime(151500);Var : value(0),mav(0);var : Tcond(False);if Bdate != Bdate[1] Then tcond = False;if (sdate != sDate[1] and sTime >= starttime) or (sdate == sDate[1] and sTime >= starttime and sTime[1] < starttime) Then Tcond = true;if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False;Var1=rsi(14);mav = ma(c,p);value = 0;if sDate >= 시작일 and DayOpen <= DayClose(1)*(1+갭상승/100) and Tcond == true Then{ # 매수 / 매도청산 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 and mav > mav[1] Then { Buy("b1"); } value = 0; if MarketPosition == 1 and MaxEntries < 분할 OR MarketPosition <= 0 and value >= 3 and mav > mav[1] Then { Buy("b2",AtStop,EntryPrice(0)*(1-(하락per*MaxEntries)/100)); } if rsi(14)<32 Then buy("b3");}# 매도/매수청산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{ SetStopProfittarget(7, PercentStop);}