커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

지표

1. 공매도 총금액을 막대차트를 이용하여 나타낼수 있는 방법이 있을까요? 2. "KP 상승종목수 - KP 하락종목수"를 막대차트로 나타내고 싶습니다. 수고하세요
프로필 이미지
마추피추
2019-11-16
164
글번호 133683
지표
답변완료

수식의뢰드려요

안녕하세요! 아래의 키움 수식을 예스로 변환해 주시길 부탁드립니다! 지표 설정 조건의 장기, 중기, 단기의 수치는 임으로 조정할 수 있도록 변경 부탁드립니다. 감사합니다! 수식1 > 수식이름 : 보조선 x=ma(c,단기); y=ma(c,중기); z=ma(c,장기); valuewhen(1,crossup(x,y)or crossdown(x,y),y) 수식2 > 수식이름 : 전환선 x=ma(c,단기); y=ma(c,중기); z=ma(c,장기); valuewhen(1,crossup(x,z)or crossdown(x,z),y) 지표설정조건 > 단기 5 중기 10 장기 20 라인설정 > 보조선 두께 1P 전환선 두께 1P
프로필 이미지
qha71
2019-11-18
244
글번호 133682
지표
답변완료

64919 관련하여 재문의 드립니다.

안녕하세요. 지표를 수정해 주셔서 이제 에러가 나지 않습니다. 감사합니다. 혹시, 그림파일 처럼 수정이 가능할지 다시한번 여쭤봅니다. 저점, 고점이 완성되면 피보나치 수평선이 그려지는데 맞지만, 별표 부분에서부터 길게 표시가 되니 보니 좀 시각적으로 복잡한감이 있습니다. 그래서, 피보나치 수평선은 빨간색 네모박스로 표시한 만큼만 우측라인만 선 표시가 될까요? 또 한가지, 맨 우측 라인선에 38.2%와 61.8%선 숫자표시좀 되게끔 수정부탁드립니다. (해당되는 라인선 밑에 38.2%, 61.8% 표시좀 나오게 해주세요) 미리 감사하다는 말씀드립니다. -------------------------------------------------------------------------------- 안녕하세요 예스스탁입니다. Input:chngRate(0.3),굵기(1); input : Per1(0),Per2(23.6),Per3(38.2),Per4(50.0),Per5(61.8),Per6(76.4),Per7(100),Per8(123.6),Per9(161.8); Var : j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0); var : TL11(0),TL12(0),TL13(0),TL14(0),TL15(0),TL16(0),TL17(0),TL18(0),TL19(0); var : Tx11(0),Tx12(0),Tx13(0),Tx14(0),Tx15(0),Tx16(0),Tx17(0),Tx18(0),Tx19(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); For j = 0 To 9 { barArr[j] = barArr[j] + 1; } Condition1 = Min(valArr[1],valArr[2]) * (1 + (chngRate/100)) < H and lastHiVal < H; Condition2 = Max(valArr[1],valArr[2]) * (1 - (chngRate/100)) > L and (lastLoVal > L || lastLoVal == 0); If Condition1 Then { lastHiVal = H; lastLoVal = 0; } If Condition2 Then { lastLoVal = L; lastHiVal = 0; } turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; If turnPntBit <> "" Then { If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H,L); barArr[1] = 0; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H) or (turnPntBit == "Lo" and valArr[1] > L))) Then { valArr[1] = IFF(turnPntBit == "Hi",H,L); barArr[1] = 0; turnPntArr[1] = turnPntBit; If turnPntArr[1][1] <> turnPntArr[1][0] Then { TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]); value1 = valArr[1]-valArr[2]; TL_Delete(TL11); TL_Delete(TL12); TL_Delete(TL13); TL_Delete(TL14); TL_Delete(TL15); TL_Delete(TL16); TL_Delete(TL17); TL_Delete(TL18); TL_Delete(TL19); TL_SetExtRight(TL11,False); TL_SetExtRight(TL12,False); TL_SetExtRight(TL13,False); TL_SetExtRight(TL14,False); TL_SetExtRight(TL15,False); TL_SetExtRight(TL16,False); TL_SetExtRight(TL17,False); TL_SetExtRight(TL18,False); TL_SetExtRight(TL19,False); TL11 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per1/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per1/100)); TL12 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per2/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per2/100)); TL13 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per3/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per3/100)); TL14 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per4/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per4/100)); TL15 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per5/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per5/100)); TL16 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per6/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per6/100)); TL17 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per7/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per7/100)); TL18 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per8/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per8/100)); TL19 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per9/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per9/100)); TL_SetExtRight(TL11,true); TL_SetExtRight(TL12,true); TL_SetExtRight(TL13,true); TL_SetExtRight(TL14,true); TL_SetExtRight(TL15,true); TL_SetExtRight(TL16,true); TL_SetExtRight(TL17,true); TL_SetExtRight(TL18,true); TL_SetExtRight(TL19,true); TL_SetColor(TL11,RED); TL_SetColor(TL12,BLUE); TL_SetColor(TL13,MAGENTA); TL_SetColor(TL14,YELLOW); TL_SetColor(TL15,GRAY); TL_SetColor(TL16,GREEN); TL_SetColor(TL17,BLUE); TL_SetColor(TL18,PINK); TL_SetColor(TL19,Lblue); TL_SetSize(TL11,굵기); TL_SetSize(TL12,굵기); TL_SetSize(TL13,굵기); TL_SetSize(TL14,굵기); TL_SetSize(TL15,굵기); TL_SetSize(TL16,굵기); TL_SetSize(TL17,굵기); TL_SetSize(TL18,굵기); TL_SetSize(TL19,굵기); tx11 = Text_New(sdate,stime,TL_GetValue(TL11,sdate,stime),NumToStr(Per1,2)+"%("+NumToStr(TL_GetValue(TL11,sdate,stime),2)+")"); tx12 = Text_New(sdate,stime,TL_GetValue(TL12,sdate,stime),NumToStr(Per2,2)+"%("+NumToStr(TL_GetValue(TL12,sdate,stime),2)+")"); tx13 = Text_New(sdate,stime,TL_GetValue(TL13,sdate,stime),NumToStr(Per3,2)+"%("+NumToStr(TL_GetValue(TL13,sdate,stime),2)+")"); tx14 = Text_New(sdate,stime,TL_GetValue(TL14,sdate,stime),NumToStr(Per4,2)+"%("+NumToStr(TL_GetValue(TL14,sdate,stime),2)+")"); tx15 = Text_New(sdate,stime,TL_GetValue(TL15,sdate,stime),NumToStr(Per5,2)+"%("+NumToStr(TL_GetValue(TL15,sdate,stime),2)+")"); tx16 = Text_New(sdate,stime,TL_GetValue(TL16,sdate,stime),NumToStr(Per6,2)+"%("+NumToStr(TL_GetValue(TL16,sdate,stime),2)+")"); tx17 = Text_New(sdate,stime,TL_GetValue(TL17,sdate,stime),NumToStr(Per7,2)+"%("+NumToStr(TL_GetValue(TL17,sdate,stime),2)+")"); tx18 = Text_New(sdate,stime,TL_GetValue(TL18,sdate,stime),NumToStr(Per8,2)+"%("+NumToStr(TL_GetValue(TL18,sdate,stime),2)+")"); tx19 = Text_New(sdate,stime,TL_GetValue(TL19,sdate,stime),NumToStr(Per9,2)+"%("+NumToStr(TL_GetValue(TL19,sdate,stime),2)+")"); Text_Delete(Tx11); Text_Delete(Tx12); Text_Delete(Tx13); Text_Delete(Tx14); Text_Delete(Tx15); Text_Delete(Tx16); Text_Delete(Tx17); Text_Delete(Tx18); Text_Delete(Tx19); Text_SetStyle(tx11,2,1); Text_SetStyle(tx12,2,1); Text_SetStyle(tx13,2,1); Text_SetStyle(tx14,2,1); Text_SetStyle(tx15,2,1); Text_SetStyle(tx16,2,1); Text_SetStyle(tx17,2,1); Text_SetStyle(tx18,2,1); Text_SetStyle(tx19,2,1); } Else { value1 = valArr[1]-valArr[2]; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); TL_SetBegin(TL11,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per1/100)); TL_SetEnd(TL11,sDate,sTime,valArr[1]-value1*(per1/100)); TL_SetBegin(TL12,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per2/100)); TL_SetEnd(TL12,sDate,sTime,valArr[1]-value1*(per2/100)); TL_SetBegin(TL13,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per3/100)); TL_SetEnd(TL13,sDate,sTime,valArr[1]-value1*(per3/100)); TL_SetBegin(TL14,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per4/100)); TL_SetEnd(TL14,sDate,sTime,valArr[1]-value1*(per4/100)); TL_SetBegin(TL15,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per5/100)); TL_SetEnd(TL15,sDate,sTime,valArr[1]-value1*(per5/100)); TL_SetBegin(TL16,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per6/100)); TL_SetEnd(TL16,sDate,sTime,valArr[1]-value1*(per6/100)); TL_SetBegin(TL17,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per7/100)); TL_SetEnd(TL17,sDate,sTime,valArr[1]-value1*(per7/100)); TL_SetBegin(TL18,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per8/100)); TL_SetEnd(TL18,sDate,sTime,valArr[1]-value1*(per8/100)); TL_SetBegin(TL19,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per9/100)); TL_SetEnd(TL19,sDate,sTime,valArr[1]-value1*(per9/100)); Text_SetLocation(Tx11,sdate,stime,TL_GetValue(TL11,sdate,stime)); Text_SetLocation(Tx12,sdate,stime,TL_GetValue(TL12,sdate,stime)); Text_SetLocation(Tx13,sdate,stime,TL_GetValue(TL13,sdate,stime)); Text_SetLocation(Tx14,sdate,stime,TL_GetValue(TL14,sdate,stime)); Text_SetLocation(Tx15,sdate,stime,TL_GetValue(TL15,sdate,stime)); Text_SetLocation(Tx16,sdate,stime,TL_GetValue(TL16,sdate,stime)); Text_SetLocation(Tx17,sdate,stime,TL_GetValue(TL17,sdate,stime)); Text_SetLocation(Tx18,sdate,stime,TL_GetValue(TL18,sdate,stime)); Text_SetLocation(Tx19,sdate,stime,TL_GetValue(TL19,sdate,stime)); Text_SetString(Tx11,NumToStr(Per1,2)+"%("+NumToStr(TL_GetValue(TL11,sdate,stime),2)+")"); Text_SetString(Tx12,NumToStr(Per2,2)+"%("+NumToStr(TL_GetValue(TL12,sdate,stime),2)+")"); Text_SetString(Tx13,NumToStr(Per3,2)+"%("+NumToStr(TL_GetValue(TL13,sdate,stime),2)+")"); Text_SetString(Tx14,NumToStr(Per4,2)+"%("+NumToStr(TL_GetValue(TL14,sdate,stime),2)+")"); Text_SetString(Tx15,NumToStr(Per5,2)+"%("+NumToStr(TL_GetValue(TL15,sdate,stime),2)+")"); Text_SetString(Tx16,NumToStr(Per6,2)+"%("+NumToStr(TL_GetValue(TL16,sdate,stime),2)+")"); Text_SetString(Tx17,NumToStr(Per7,2)+"%("+NumToStr(TL_GetValue(TL17,sdate,stime),2)+")"); Text_SetString(Tx18,NumToStr(Per8,2)+"%("+NumToStr(TL_GetValue(TL18,sdate,stime),2)+")"); Text_SetString(Tx19,NumToStr(Per9,2)+"%("+NumToStr(TL_GetValue(TL19,sdate,stime),2)+")"); } } } TL_SetSize(TL1,굵기); TL_SetColor(TL1,black); plot1(valArr[1]); plot2(valArr[2]); 즐거운 하루되세요 > 조르바 님이 쓴 글입니다. > 제목 : 수정좀 부탁드리겠습니다. > 안녕하세요. 아래수식이 정상적으로 나올때도 있지만, 그림파일처럼 수평선으로 표시가 안되고 에러가 나는 경우가 빈번합니다. (그림파일) 에러가 나지않게끔 확인좀 부탁드리겠습니다. 항상 감사드립니다.
프로필 이미지
조르바
2019-11-16
294
글번호 133681
지표
답변완료

번호 1649 답변, 수정 부탁합니다

안녕하세요. 과거 답변(No. 1649) 중에 눌림목 관련 Yestrader로 수식을 검증하면 오류 메시지 나옵니다. 파악 부탁드립니다. 1.메시지: 숫자값이나 숫자표현식이 와야 합니다 2.답변 작성일: 2004년5월3일 3.관련 수식 Input : af(0.02), maxAF(0.2); If ma(C,5)>ma(C,5)[1] AND ma(C,5)[1]<=ma(C,5)[2] AND ma(C,5)>ma(C,20) AND ma(C,5)[1]>=ma(C,20)[1] AND C>ma(C,5)AND C[1] <= ma(C,5)[1] AND accumN(ma(C,5)>ma(C,20) AND ma(C,5)[1]<=ma(C,20)[1],20)>=1 then buy();
프로필 이미지
산사랑1
2019-11-15
190
글번호 133680
시스템
답변완료

피봇수식 수정 부탁드립니다.

아래의 수식을 적용해 보았는데 시그널이 발생하지 않는 구간이 일부 있어서 문의드립니다. 항셍지수선물 챠트에 적용하였구요. 예상하였던 시그널 발생구간에서 발생하지 않은 사례를 파일로 첨부해 드립니다. 점검 좀 부탁드리겠습니다. ~~^^ - 아 래 - input : n(20); input : starttime(101500),endtime(183000); var : Tcond(false); Var : Pivot(0),R1(0),R2(0),S1(0),S2(0),T(0); 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; if MarketPosition == 1 Then ExitLong("매수청산"); if MarketPosition == -1 Then ExitShort("매도청산"); } Pivot = (DayHigh(1)+DayLow(1)+DayClose(1))/3; R1 = 2*Pivot-DayLow(1); R2 = Pivot+DayHigh(1)-DayLow(1); S1 = 2*Pivot-DayHigh(1); S2 = Pivot-DayHigh(1)+DayLow(1); if crossup(C,R2+PriceScale*n) Then T = 5; if crossup(C,R1+PriceScale*n) Then T = 4; if crossup(C,Pivot+PriceScale*n) Then T = 3; if crossup(C,S1+PriceScale*n) Then T = 2; if crossup(C,S2+PriceScale*n) Then T = 1; if CrossDown(C,R2-PriceScale*n) Then T = -5; if CrossDown(C,R1-PriceScale*n) Then T = -4; if CrossDown(C,Pivot-PriceScale*n) Then T = -3; if CrossDown(C,S1-PriceScale*n) Then T = -2; if CrossDown(C,S2-PriceScale*n) Then T = -1; if Tcond == true then { if T != T[1] and T > 0 and T[1] < 0 Then Buy("매수"); if T != T[1] and T < 0 and T[1] > 0 Then Sell("매도"); } if MarketPosition == 1 then { if crossup(c,R2+PriceScale*10) Then exitlong("매수청산H"); if CrossDown(c,S2-PriceScale*10) Then exitlong("매수청산L"); } if MarketPosition == -1 then { if crossup(c,R2+PriceScale*10) Then ExitShort("매도청산H"); if CrossDown(c,S2-PriceScale*10) Then ExitShort("매도청산L"); }
프로필 이미지
승부사1
2019-11-18
289
글번호 133679
시스템

순두부남 님에 의해서 삭제되었습니다.

프로필 이미지
순두부남
2019-11-15
4
글번호 133678
종목검색
답변완료

문의드립니다.

안녕하십니까. 최근에 보조지표의 지표를 이것저것 구현해보고 싶은데, 혼자서는 좀 어려운 것 같습니다. 1. OBV 지표값의 (1) 이동평균선(5일, 20일, 60일선 3개)(상승은 주황색, 하락은 초록색, 또는 사용자 색 깔 지정) (2) 볼린저밴드 구현 (3) MACD (MACD값이 상승은 레드, 하락은 블루, 또는 사용자 색깔 지정) 2. 거래량을 기준값으로 하여 (1) ATR 지표(ATR 지표가 상승시 레드, 하락시 블루) (2) 상기 ATR 값의 이동평균선(5일선, 사용자지정)(상승은 주황색, 하락은 초록색, 또는 사용자 색깔 지정) (3) 상기 ATR 값으로 볼린저밴드 구현 3. 가격을 기준값인 ADX 지표값으로 (1) ADX 지표(예스스탁 기제공 해주고 있는데, ADX가 상승시 레드, 하락시 블루로 수정) (2) 상기 ATR 값의 이동평균선(5일선, 사용자지정)(상승은 주황색, 하락은 초록색, 또는 사용자 색깔 지정) (3) 상기 ATR 값으로 볼린저밴드 구현 (4) MACD 4. 마지막인데, 이건 조금 깁니다. 두개의 보조지표를 가지고 합성지표를 구현해보려고 합니다. (1) 2개의 지표 : MACD(가격기준, ShortPeriod 12, LongPeriod 26), VR(Volume Ratio)(거래량 기준)의 n일 ema 값 (2) MACD 현재의 값이 직전 MACD 값보다 크면 1, 같으면 0, 낮으면 -1 (3) VR ema 현재의 값이 직전 VR ema 값보다 크면 1, 같으면 0, 낮으면 -1 (4) (2)와 (3)의 값을 더해서, 누적값으로 차트를 표시(차트가 상승은 주황색, 하락은 초록색, 또는 사용자 색깔 지정) ex. 예를 들면, MACD 값도 직전값대비 계속 상승, VR ema 값도 직전값대비 계속 상승이면, 처음에 각 1, 더해서 2, 누적으로는 첫 지표값은 2, 그 다음에는 4,6,8 이런식으로 표시됩니다) (5) 마지막으로, (4)의 값의 이동평균선(5, 20, 60일 정도, 3개 정도) 이상입니다. 내용이 좀 많네요. 감사합니다.
프로필 이미지
애널박
2019-11-15
259
글번호 133677
지표
답변완료

종목검색 부탁드려요~

안녕하세요~^^ 혼자서 수식만들어보려니 잘안되네요..ㅡㅡ 예스에서 종목검색할수있게 해주세요.. Valuewhen(1,CrossUP(C,BbandsUP(30,1.8)),C)
프로필 이미지
나호이다
2019-11-15
261
글번호 133676
종목검색
답변완료

전략과 지표 부탁드립니다

1 지표 plot1(data2(c)-data3(c)); 위지표 에 일정 금액 이상일시 (일정수량 이상 일시)형광 주황색 지표,데이터가 일정 금액 이하일시 (일정수량 이하 일시)형광 하늘색 지정하는 식 좀 부탁드립니다. 2 전략 데이터2 - 3 = +일정금액 (일정수량 )이상이고, 데이터4 - 5 = +일정금액 (일정수량 )이상일시 매수 데이터2 - 3 = -일정금액 (일정수량 )이하이고, 데이터4 - 5 = 일정금액 (일정수량 )이하일시 매도 익절 .손절 틱수 설정 기능 포함된 전략 부탁드립니다 . 감사합니다
프로필 이미지
정마니
2019-11-15
160
글번호 133666
시스템
답변완료

수정좀 부탁드립니다.

Condition40 = Condition89 == true and abs(L-q12)<=PriceScale*2 and abs(L+q12)>=PriceScale*2 ; if Condition40 == true Then buy("매수",OnClose); 위 수식에서 q12번 대신 q12, q13, q14, q15, q16, q17, q18, q19,q20 까지 넣어 어느 것 하나라도 만족하면 진입하는 수식으로 수정좀 부탁합니다.
프로필 이미지
천왕봉
2019-11-15
149
글번호 133665
시스템