커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

지표수식과 종목검색식 부탁드립니다

키움에서 쓰는 지표수식을 예스트레이더 수식과 검색식 부탁드립니다EMA75=EAVG(C,75);ATR49=MAX(H-L,MAX(ABS(H-REF(C,1)),ABS(L-REF(C,1))));VWAP75=SUM(C*V,75)/SUM(V,75);SIGNAL=EAVG((EMA75-ATR49*0.8)*0.4+VWAP75*0.6,3);
프로필 이미지
감땡
2025-11-18
77
글번호 228162
종목검색
답변완료

수식질문드립니다.

저는 시가후에 지정해 놓은 숫자를 돌파하면 매수하는 수식을 만들었습니다. 손절은 SetStopLoss 으로 그 가격에 도달하면 바로 손절을 하도록 테스트를 할수 있는데진입은 봉이 완성되어야만 그가격에 진입이 되어서 "돌파" 보다 위에서 진입가격이 형성되거나 봉완성전에 가격이 다시 내려오면 진입신호가 안나오게 됩니다. 그가격을 지나가기만 하면 돌파 가격에 바로 포지션을 잡는것으로 가정하는 수식을 작성하고 싶은데 방법이 없는지 문의드립니다.#매수진입if crossup(c,dayopen+돌파) && MarketPosition==0 && count < 횟수 then buy("b");SetStopLoss(손절*PriceScale,PointStop);
프로필 이미지
쿠리
2025-11-18
51
글번호 228153
시스템
답변완료

재질문 드립니다.

안녕하세요.지난 주에 주신 답변 내용으로 시도를 해봤는데, 원하는 결과가 나오지 않고 있습니다.또한, 매수신호인데 "if MarketPosition <= 0 Then"이라는 조건식이 맞는건지 확인부탁드리고 싶습니다.감사합니다아래는 제 질문과 답변에 주신 내용입니다.------------------------------------------저는 가장 기본적인 청산식으로 아래와 같은 함수를 사용합니다. Buy("매수", OnClose, Def, 3); ExitLong("매수익절1", Atlimit, EntryPrice + PriceScale*10, "매수", 1, 1); 그런데 이 청산 방식은 신호 발생한 캔들 바로 다음 캔들 에서는 실행되지 않고, 2번째 캔들 이후부터 실행이 됩니다. 2번째가 아닌 1번째 캔들에서 실행되게 할 수 있는지 여쭤봅니다.감사합니다------------------------------------------안녕하세요예스스탁입니다.진입이 onclose이므로EntryPrice나 MarketPosition 그다음봉 완성시부터 사용이 가능합니다.아래와 같이 처리하시면진입신호 다음봉에서 청산신호를 내실수 있습니다if MarketPosition <= 0 Then ExitLong("매수익절1.", Atlimit,C + PriceScale*10, "매수", 1, 1); Else ExitLong("매수익절1", Atlimit, EntryPrice + PriceScale*10, "매수", 1, 1); 즐거운 하루되세요
프로필 이미지
맘속의행복
2025-11-18
47
글번호 228152
사용자 함수
답변완료

부탁드립니다

input : p(10); var : A(Nan),B(Nan),ph(Nan),tx(0); if Highest(H,p)[1]< H Then { A = H; B = 0; } Else { B = B+1; } if B == p and A > H Then { PH = H[p]; } Plot1(ph,"ph"); FixPlotShift(1,2); if ph[2] != ph[3] Then { tx = Text_new(sDate,sTime,ph,NumToStr(ph,2)); Text_SetStyle(tx,2,1); } 위의것을 지수이평으로 부탁드립니다
프로필 이미지
와우리
2025-11-18
55
글번호 228151
지표
답변완료

문의 드립니다.

안녕하세요 ~ 평소 많은 도움 주심에 감사드립니다. RSI(5)가 70 이상일떼에, 현재가격이 아래의 1, 2번 항/라인을 동시에 Crossup 하거나, 1번라인이 2번라인을 Crossup하는 종목의 검색식을 부탁 드립니다. 1번. 13일 단순 가격 이평선 2번. (highest(high,24)+lowest(low,24)+highest(high,8)+lowest(low,8)+highest(high,49)+lowest(low,49))/6감사합니다.
프로필 이미지
ikksoo
2025-11-18
67
글번호 228146
종목검색
답변완료

수식부탁드립니다

1. 꼬리가 캔들의 2/3 이상 일때 양봉아래에 (빵강점), 음봉위에 (파랑점)이 생기게 부탁드립니다 2. 꼬리가 캔들의 4/5 이상 일때 양봉아래에 (빵강점), 음봉위에 (파랑점)이 생기게 부탁드립니다위의 두 경우 모두 한 차트에서 표시 되도록 부탁드립니다
프로필 이미지
와우리
2025-11-18
58
글번호 228143
지표
답변완료

문의합니다..

아래 수식 지표식으로 캔들차트에서 사용하던 지표값들을 계산하여 포지션 시스템 요청드립니다.. 감사합니다.. input:renkoSize(0.5); var:j(0),k(0),renkoCnt(0),gubun(0), printOK(False), //데이터 검증을 위해 출력해보고 싶으면 true로 바꿔주면 됨 filename("renko.txt"); //파일은 C:\예스트레이더\YesLang\ 폴더에 생긴다. array:OO[50](0),HH[50](0),LL[50](0),CC[50](0); If DayIndex == 0 Then { //break on session에 해당, 즉 일자가 바뀌면 새로 계산 gubun = 0; //방향을 초기화한다. 이후 형성되는 가격에 의해 방향이 계산 For j = 49 DownTo 1 { //금일 시가봉을 신규 추가 OO[j] = OO[j-1]; HH[j] = HH[j-1]; LL[j] = LL[j-1]; CC[j] = CC[j-1]; } OO[0] = C; //분봉의 종가를 기반으로 계산하기 때문에 당일 시초가 아니다 HH[0] = C; LL[0] = C; CC[0] = C; } Else { If gubun == 0 and CC[0] > 0 Then { //일 첫봉이 완성되지 않은 시점 If OO[0] - renkoSize >= C Then { //위 루틴에서 1개봉을 추가했으므로 여기서는 추가없이 gubun = -1; //상방향,하방향에 따라 값만 세팅 CC[0] = OO[0] - renkoSize; HH[0] = OO[0]; LL[0] = CC[0]; j = 0; //마지막 1봉만 출력 if printOK then print(filename,"1=>,%.0f,%.0f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f", j,gubun,OO[j],HH[j],LL[j],CC[j]); } Else If OO[0] + renkoSize <= C Then { gubun = 1; CC[0] = OO[0] + renkoSize; HH[0] = CC[0]; LL[0] = OO[0]; j = 0; if printOK then print(filename,"2=>,%.0f,%.0f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f", j,gubun,OO[j],HH[j],LL[j],CC[j]); } } If LL[0] - renkoSize >= C Then { //아래 방향으로 렌코 형성 gubun = -1; renkoCnt = Int(Round((LL[0]-C)/renkoSize,9)); //추가될 렌코 개수 if renkoCnt > 49 then renkoCnt = 49; //오류방지를 위한 방어코드 For j = 49 DownTo renkoCnt { OO[j] = OO[j-renkoCnt]; HH[j] = HH[j-renkoCnt]; LL[j] = LL[j-renkoCnt]; CC[j] = CC[j-renkoCnt]; } For j = renkoCnt-1 DownTo 0 { OO[j] = LL[j+1]; CC[j] = LL[j+1] - renkoSize; HH[j] = OO[j]; LL[j] = CC[j]; if printOK then print(filename,"3=>,%.0f,%.0f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f", j,gubun,OO[j],HH[j],LL[j],CC[j]); //봉이 생길 때마다 출력 } } Else If HH[0] + renkoSize <= C Then { //위 방향으로 렌코 형성 gubun = 1; renkoCnt = Int(Round((C-HH[0])/renkoSize,9)); if renkoCnt > 49 then renkoCnt = 49; For j = 49 DownTo renkoCnt { OO[j] = OO[j-renkoCnt]; HH[j] = HH[j-renkoCnt]; LL[j] = LL[j-renkoCnt]; CC[j] = CC[j-renkoCnt]; } For j = renkoCnt-1 DownTo 0 { OO[j] = HH[j+1]; CC[j] = HH[j+1] + renkoSize; HH[j] = CC[j]; LL[j] = OO[j]; if printOK then print(filename,"4=>,%.0f,%.0f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f", j,gubun,OO[j],HH[j],LL[j],CC[j]); //봉이 생길 때마다 출력 } } Else If Time >= 151500 Then { //당일 종가봉에서, For j = 49 DownTo 1 { OO[j] = OO[j-1]; HH[j] = HH[j-1]; LL[j] = LL[j-1]; CC[j] = CC[j-1]; } If LL[1] > C Then { //종가가 이전 봉보다 아래 형성 OO[0] = LL[1]; CC[0] = C; HH[0] = OO[0]; LL[0] = CC[0]; } Else If HH[1] < C Then { //종가가 이전 봉보다 위에 형성 OO[0] = HH[1]; CC[0] = C; HH[0] = CC[0]; LL[0] = OO[0]; } Else { //종가가 이전 봉의 중간에 형성 OO[0] = C; CC[0] = C; HH[0] = C; LL[0] = C; } j = 0; //마지막 1봉만 출력 if printOK then print(filename,"5=>,%.0f,%.0f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f", j,gubun,OO[j],HH[j],LL[j],CC[j]); } } If OO[0] > 0 Then Plot1(OO[0],"OO"); If CC[0] > 0 Then Plot2(CC[0],"CC");
프로필 이미지
wscamtk
2025-11-18
60
글번호 228138
시스템

wscamtk 님에 의해서 삭제되었습니다.

프로필 이미지
wscamtk
2025-11-18
1
글번호 228137
시스템
답변완료

문의 드립니다.

도움에 감사 드립니다.사용자 함수를 만들려고 하지만 되지 않습니다."사용자함수 내에서 Function - End Function 구문을 사용할 수 없습니다" 라고 뜹니다"사용자 함수로 부탁 드립니다.미리 감사 드립니다. input : len(88),mult(2.0);var : src(0),crr(0),k(0),sum(0),i(0),dev(0);var : nmid(0),nupper(0),nlower(0);var : upper(0),lower(0);Array : dizii[500](0);src = (h+l+c)/3;Function cr Numeric input : x(Numeric),y(Numeric); var : z(0),weight(0),i(0); z = 0.0; weight = 0.0; for i = 0 to y - 1 step 1 { z = z + x[i] * ((y - 1) / 2 + 1 -abs(i - (y - 1) / 2)); } cr = z / ((y + 1) / 2 * (y + 1) / 2);EndFunctioncrr = cr(src, 2 * len - 1);for k = 0 to len - 1 step 1{ sum = 0.0; for i = 0 to 2 * len - 2 - k step 1 { sum = sum + (len - abs(len - 1 - k - i)) * src[i] / (len * len - k * (k + 1) / 2); } dizii[k] = sum;}dev = mult * std(src, len);nmid = wma(src, len);nupper = nmid + wma(dev,len);nlower = nmid - wma(dev,len);upper = crr + cr(dev, 2 * len - 1);lower = crr - cr(dev, 2 * len - 1);var1=(upper+lower)/2;
프로필 이미지
yes
2025-11-17
50
글번호 228136
사용자 함수
답변완료

볼밴드

월봉에서 년봉 검색식으로 볼린져 5밴드가 상단 하단 반전 되는 종목 검색 부탁드립니다 상단하단 반전이 계속 유지되면 계속 검색이 될수 있게 해주세요
프로필 이미지
하람푸름마음
2025-11-17
52
글번호 228135
종목검색