커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식작성 부탁드립니다.

안녕하세요. 운영자님 1. 이번에 요청드릴 사항은 첨부된 그림파일의 봉차트에 제가 수작업으로 화살표를 표시한 것처럼 Polt4 가 막대그래프를 상향돌파하거나 기준선 0선을 상향돌파하면 매수 Polt4 가 막대그래프를 하향돌파하거나 기준선 0선을 하향돌파하면 매도 화살표가 뜨도록 부탁드립니다. 2. 국내주식에 적용 시 매수조건 및 매도조건을 따로 설정하여 종목검색이 되어주시도록 부탁드립니다. (국내주식은 예스트레이더 사용이 초보라 잘 모릅니다) input : lengthMA(34),lengthSignal(9); var : src(0),hi(0),lo(0),Ema1(0),Ema2(0),mi(0); var : md(0),sb(0),sh(0),mdc(0); /*calc_smma(src, len) => smma=na(smma[1]) ? sma(src, len) : (smma[1] * (len - 1) + src) / len smma calc_zlema(src, length) => ema1=ema(src, length) ema2=ema(ema1, length) d=ema1-ema2 ema1+d */ src = (h+l+c)/3; hi = IFF(IsNan(hi[1]) == true, ma(high,lengthMA), hi[1]*(lengthMA-1)+high)/lengthMA; lo = IFF(IsNan(lo[1]) == true, ma(low,lengthMA), lo[1]*(lengthMA-1)+low)/lengthMA; ema1 = ema(src, lengthMA); ema2 = ema(ema1, lengthMA); mi = ema1+(ema1-ema2); md = IFf((mi>hi), (mi-hi) , IFf((mi<lo) , (mi - lo) , 0)); sb = ma(md, lengthSignal); sh = md-sb; mdc = iff(src>mi,iff(src>hi,lime,green),iff(src<lo,red,orange)); plot1(0,"MidLine",Gray); plot2(md,"ImpulseMACD",mdc);#속성에서 막대 plot3(sh,"ImpulseHisto",Blue); #속성에서 막대 plot4(sb,"ImpulseMACDCDSignal",Maroon);
프로필 이미지
고박사122
2023-04-30
1442
글번호 168608
시스템
답변완료

부탁드립니다.

1. (직전봉이 음봉이고) 종가가 양봉이면서 고점 저점 봉의 길이가 20틱 이상이면 고점에 빨강색으로 수평선을 저점에 파란색으로 수평선을 다음 같은 조건의 양봉이 나올때까지 계속하여 구현해 주세요 2. (직전봉이 양봉이고) 종가가 음봉이면서 고점과 저점 봉의 길이가 20틱 이상이면 고점에 파랑색으로 수평선을 저점에 빨강색으로 수평선을 다음 같은 조건의 음봉이 나올때까지 게속하여 구현해 주세요 고맙습니다.
프로필 이미지
서태공
2023-04-30
857
글번호 168607
지표
답변완료

만기전전주

아래는 만기주, 만기전주에 대한 답변 수식입니다. 1주 당겨서 만기전전주 수식을 요청드립니다. 월물 만기 전전전주 금요일 월물 만기 전전주 월요일 월물 만기 전전주 화요일 월물 만기 전전주 수요일 월물 만기 전전주 목요일 (weekly만기일 ) ********************************************************************************************** 월물 만기 전전주 금요일 월물 만기 전주 월요일 월물 만기 전주 화요일 월물 만기 전주 수요일 월물 만기 전주 목요일 (weekly만기일 ) Var : Year(0),Month(0),ndate1(0),ndate2(0); var : cnt(0),count1(0),count2(0); var : XD1(0),XD2(0),Xdate(0),remain(0); Year = Floor(sDate / 10000)*10000; month = Floor(FracPortion(sdate/10000)*100)*100; ndate1 = year+month+1; if Month+100 <= 1200 Then ndate2 = year+(month+100)+1; Else ndate2 = (year+10000)+100+1; count1 = 0; count2 = 0; for cnt = 0 to 15 { if dayofweek(ndate1+cnt) == 4 Then { count1 = count1+1; if count1 == 2 Then { XD1 = ndate1+cnt; } } if dayofweek(ndate2+cnt) == 4 Then { count2 = count2+1; if count2 == 2 Then { XD2 = nDate2+cnt; } } } if sDate <= XD1 Then { Xdate = XD1; } Else { Xdate = XD2; } if Xdate > 0 Then { remain = DateToJulian(Xdate)-DateToJulian(sDate); } if remain >= 7 and remain <= 13 Then { 진입청산수식 } ************************************************************************** 월물 만기전주 금요일 월물 만기주 월요일 월물 만기주 화요일 월물 만기주 수요일 월물 만기주 목요일 (monthly 만기일 ) Var : ndate(0),cnt(0),count(0),JTD(0),XD(0),JXD(0); if Bdate != Bdate[1] Then { #오늘 날짜를 율리우스날짜로 변경 JTD = DateToJulian(Bdate); #이번달 두번째 목요일의 날짜 체크 ndate = Floor(bDate/100)*100; count = 0; For cnt = 1 to 15 { if DayOfWeek(ndate+cnt) == 4 Then { count = count+1; if count == 2 Then XD = ndate+cnt; } } #두번째 목요일 날짜를 율리우스날짜로 변경 JXD = DateToJulian(XD); if JXD >= JTD and JXD <= JTD+6 Then Condition1 = true; Else Condition1 = False; } if condition1 == true then { 진입청산수식 }
프로필 이미지
목마와숙녀
2023-06-14
720
글번호 168606
시스템

부양가족 님에 의해서 삭제되었습니다.

프로필 이미지
부양가족
2023-04-30
0
글번호 168605
지표
답변완료

잘 부탁드립니다

잘부탁드립니다
프로필 이미지
매치다는
2023-04-30
1082
글번호 168604
종목검색

아트정 님에 의해서 삭제되었습니다.

프로필 이미지
아트정
2023-04-30
40
글번호 168603
시스템
답변완료

시스템 수식부탁합니다

선물 분봉에 적용하려합니다 장대음봉 출현직후부터 장대음봉의 저가 위 그리고 20일 이평선 밑에서 봉들이 횡보하는데 봉의갯수가 5개이상 10개봉 이하에서 20일 이평선을 돌파하면 매수하는 수식을 부탁드립니다 참고로 장대음봉의 크기는 c[0]+10<open[0] 기준으로 해주시고 반드시 횡보하는봉들의 고점은 20일 이평선보다 낮아야 하고 횡보하는 봉들의 저점은 기준봉(장대음봉)의 저점보다 높아야 합니다 항상 감사드립니다
프로필 이미지
비마
2023-04-30
937
글번호 168602
시스템
답변완료

수식변환부탁드립니다

트레이딩뷰 수식을 예스트레이더 강조수식으로 변환부탁드립니다 항상 감사드립니다 len=input(10) o=ema(open,len) c=ema(close,len) h=ema(high,len) l=ema(low,len) haclose = (o+h+l+c)/4 haopen = na(haopen[1]) ? (o + c)/2 : (haopen[1] + haclose[1]) / 2 hahigh = max (h, max(haopen,haclose)) halow = min (l, min(haopen,haclose)) len2=input(10) o2=ema(haopen, len2) c2=ema(haclose, len2) h2=ema(hahigh, len2) l2=ema(halow, len2) col=o2>c2 ? red : lime plotcandle(o2, h2, l2, c2, title="heikin smoothed", color=col)
프로필 이미지
seayun1
2023-04-29
1079
글번호 168601
강조
답변완료

지표관련 문의드립니다

안녕하세요. 수식작성에 도움주셔서 항상 감사합니다 1) 첨부한 차트에서 나오는 숫자는 어떤 의미인지 간단하게라도 안내부탁드립니다 저점대비 가격상승/하락분을 나타내는것 같기도 하고.. 수치는 어떤 위치일때만 표시하는 건가요? 어디는 숫자가 있고 어디는 없고... (혹시 아신다면 ...의미있는 수치는 몇% 을 기준으로 보나요? 종목마다 다르겠지만 ) 2) 첨부한 아래 수식에서 0봉전기준, 이전 60봉이내 가장 높은 수치를 표기한 위치부분에서 윗꼬리는 제외하고 양봉의 종가부분(유첨 ① 캔들)과 처음 발생한 음봉의 시가(유첨 ②캔들)에 2개의 수평라인을 긋는 지표수식 부탁드립니다 (60봉이내는 숫자 조정가능) 참고로,차트에 적용한 지표수식을 첨부합니다 -----------지표수식-------------------------------------- Input : 전환(0.2),쌍바닥상(1),쌍바닥하(2),쌍봉상(1),쌍봉하(2); Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""), TL1(0),TX1(0); Array:고[10,4](0),저[10,4](0); var : box(0),BB(False); var : TX11(0),TX12(0),TX13(0); var : cond11(False),cond12(False),cond13(False); HH = H; LL = L; If Index == 0 Then { 고[1,1] = HH; 고[1,2] = 0; 고[1,3] = sDate; 고[1,4] = sTime; 저[1,1] = LL; 저[1,2] = 0; 저[1,3] = sDate; 저[1,4] = sTime; } If Index > 0 Then { hiBar = hiBar + 1; loBar = loBar + 1; } If HH[hiBar] < HH Then hiBar = 0; If LL[loBar] > LL Then loBar = 0; Condition1 = 저[1,1]+전환 <= HH and hiBar == 0; Condition2 = 고[1,1]-전환 >= LL and loBar == 0; 처리구분 = ""; 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 { If 최종꼭지점 == "저점" Then { //양전환되면 tx11점은 삭제 Text_Delete(tx11); For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL1 = TL_New_Self(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL1,2); TL_SetColor(TL1,RED); Text_Delete(tx1); TX1 = Text_New_Self(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1]-저[1,1],2)); Text_SetSize(tx1,25); Text_SetColor(Tx1,Red); Text_SetStyle(tx1,1,1); Text_SetBold(tx1,1); cond13 = False; if 고[1,1] <= 고[2,1]+PriceScale*쌍봉상 and 고[1,1] >= 고[2,1]-PriceScale*쌍봉하 and 고[2,1] > 0 Then { cond13 = true; tx13 = Text_New(고[1,3],고[1,4],고[1,1],"●"); Text_SetStyle(tx13,2,0); Text_SetColor(tx13,Magenta); Text_SetSize(tx13,20); } } Else If 고[1,1] < HH[hiBar] Then { 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); Text_SetString(TX1,NumToStr(고[1,1]-저[1,1],2)); Text_SetLocation(TX1,고[1,3],고[1,4],고[1,1]); if cond13 == False Then { if 고[1,1] <= 고[2,1]+PriceScale*쌍봉상 and 고[1,1] >= 고[2,1]-PriceScale*쌍봉하 and 고[2,1] > 0 Then { cond13 = true; tx13 = Text_New (고[1,3],고[1,4],고[1,1],"●"); Text_SetStyle(tx12,2,0); Text_SetColor(tx12,Magenta); Text_SetSize(tx12,20); } } Else { if 고[1,1] <= 고[2,1]+PriceScale*쌍봉상 and 고[1,1] >= 고[2,1]-PriceScale*쌍봉하 and 고[2,1] > 0 Then { Text_SetLocation(tx11,고[1,3],고[1,4],고[1,1]); } Else { Text_Delete(tx12); cond12 = False; } } } 최종꼭지점 = "고점"; Plot1(고[1,1]); NoPlot(2); } If 처리구분 == "저점처리" Then { If 최종꼭지점 == "고점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL1 = TL_New_Self(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL1,2); TL_SetColor(TL1,BLUE); Text_Delete(tx1); TX1 = Text_New_Self(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1]-고[1,1],2)); Text_SetSize(tx1,25); Text_SetColor(Tx1,Blue); Text_SetStyle(tx1,1,0); Text_SetBold(tx1,1); bb = False; if bb == False and 저[1,1] <= 고[1,1]-0.5 and 고[1,1] > 0 Then { bb= true; box = Box_New_Self(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); Box_SetColor(box,Lime); Box_SetFill(box,true,70); } cond11 = False; if 저[1,1] >= 저[2,1]-PriceScale*2 and 저[2,1] > 0 Then { cond11 = true; tx11 = Text_New(저[1,3],저[1,4],저[1,1],"●"); Text_SetStyle(tx11,2,0); Text_SetColor(tx11,Blue); Text_SetSize(tx11,30); } cond12 = False; if 저[1,1] < DayHigh-0.7 and 저[1,1] <= 저[2,1]+PriceScale*쌍바닥상 and 저[1,1] >= 저[2,1]-PriceScale*쌍바닥하 and 저[2,1] > 0 Then { cond12 = true; tx12 = Text_New(저[1,3],저[1,4],저[1,1],"●"); Text_SetStyle(tx12,2,0); Text_SetColor(tx12,Green); Text_SetSize(tx12,20); } } Else If 저[1,1] > LL[loBar] Then { 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); Text_SetString(TX1,NumToStr(저[1,1]-고[1,1],2)); Text_SetLocation(TX1,저[1,3],저[1,4],저[1,1]); if bb == true Then Box_SetEnd(box,저[1,3],저[1,4],저[1,1]); Else { if bb == False and 저[1,1] <= 고[1,1]-0.5 and 고[1,1] > 0 Then { bb= true; box = Box_New_Self(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); Box_SetColor(box,Lime); Box_SetFill(box,true,70); } } if cond11 == true Then { if 저[1,1] >= 저[2,1]-PriceScale*2 and 저[2,1] > 0 Then Text_SetLocation(tx11,저[1,3],저[1,4],저[1,1]); if 저[1,1] < 저[2,1]-PriceScale*2 and 저[2,1] > 0 Then { Text_Delete(tx11); cond11 = False; } } if cond12 == False Then { if 저[1,1] < DayHigh-0.7 and 저[1,1] <= 저[2,1]+PriceScale*쌍바닥상 and 저[1,1] >= 저[2,1]-PriceScale*쌍바닥하 and 저[2,1] > 0 Then { cond12 = true; tx12 = Text_New(저[1,3],저[1,4],저[1,1],"●"); Text_SetStyle(tx12,2,0); Text_SetColor(tx12,Green); Text_SetSize(tx12,20); } } Else { if 저[1,1] < DayHigh-0.7 and 저[1,1] <= 저[2,1]+PriceScale*쌍바닥상 and 저[1,1] >= 저[2,1]-PriceScale*쌍바닥하 and 저[2,1] > 0 Then { Text_SetLocation(tx11,저[1,3],저[1,4],저[1,1]); } Else { Text_Delete(tx12); cond12 = False; } } } 최종꼭지점 = "저점"; Plot2(저[1,1]); NoPlot(1); }
프로필 이미지
용팔이
2023-04-29
1037
글번호 168600
지표
답변완료

사용자함수 만들때 array 값 입력 문의

질문1. 사용자 함수 만들때 array 값을 넣을수 있나요? input : 입력(array); 위와 같이 해도 가능한가요? 안된다면 함수 입력값을 배열(array)로 입력 하는 방법 부탁드립니다. 질문2. 사용자 함수 리턴 값을 두개로 받을 수 있는 방법은 없는지요?
프로필 이미지
토모즈
2023-04-29
699
글번호 168599
사용자 함수