커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
7565
글번호 230811
지표
답변완료

문의 (TRP)

1. 다음 수식 검증부탁드립니다. RXMA5Ready이 TRUE가 될때 진입이 되어야 하는데 안되네요. VARS: RXBars(20, Data2); VARS: CheckUpRXMA5(FALSE, Data2), RXMA5Ready(FALSE, Data2); if (MarketPosition == 0) then { if ( (Data2(CrossUp(MAvTK, MAv5))) && (Data2(Countif(MAvTK > MAv5, RXBars) >= RXBars)) ) then { CheckUpRXMA5 = TRUE; } if ( (CheckUpRXMA5 == TRUE) && (Data2(CrossDown(MAvTK, MAv1))) ) then { RXMA5Ready = TRUE; } } else { CheckUpRXMA5 = FALSE; RXMA5Ready = FALSE; } 2. 위 식에 추가해서 다시 MAv5를 상향돌파시 TRUE해주는데 이때 조건은 N봉 이전의 최저점보다 높아야 합니다. 제가 직접 만들어보려하는데 아직 실력이 미천하여 부탁드립니다. 3. 아래식은 진입후에 대한 식인데, 이를 진입후가 아닌 포지션이 없을때 식으로 변환부탁드립니다. VARS: mtEnN1(120, Data2); VARS: mtEnMAvTKHighest(0, Data2), mtEnMAvTKHighestXpdated(0, Data2); VARS: mtEnHighestBreakoutTrap(FALSE, Data2), mtEnSellReady(FALSE, Data2); VARS: mtEnSellReadyIndex(0, Data2), mtEnSellReadyTime(0, Data2); if (MarketPosition == -1) then { mtEnMAvTKHighest = Data2(Highest(MAvTK, BarsSinceEntry)); if ( (BarsSinceEntry > mtEnN1) && (Data2(Countif(mtEnMAvTKHighest == mtEnMAvTKHighest[1], mtEnN1)[1] == mtEnN1)) && (mtEnMAvTKHighest > mtEnMAvTKHighest[1]) ) then { mtEnHighestBreakoutTrap = TRUE; mtEnMAvTKHighestXpdated = mtEnMAvTKHighest[1]; } if ( (mtEnHighestBreakoutTrap == TRUE) && (mtEnSellReady == FALSE) && (Data2(MAvTK < mtEnMAvTKHighestXpdated)) && (Data2(CrossDown(MAvTK, MAv1))) && (IsUpTrendMAvTA == TRUE) && (IsSEQMAvTAn1 == TRUE) ) then { mtEnSellReady = TRUE; mtEnSellReadyIndex = BarsSinceEntry; mtEnSellReadyTime = TimeToMinutes(stime); } } // 초기화 if ( (MarketPosition == 0) ) then { mtEnSellReady = FALSE; mtEnSellReadyIndex = 0; mtEnSellReadyTime = 0; } 감사합니다.
프로필 이미지
TRF
2013-05-10
198
글번호 63037
시스템
답변완료

잉 검증은 안되고 오류가 왜이리많아요ㅠㅠ

안녕하세요 수고하십니다 왜이리 오류가 많게 짜주시나요 ㅠㅠ 오류 수정 부탁드립니다 감사합니다 ^^ 검증 되고 신호나오면 별다섯개 드려요 ^^ 관리자님 짱 ^^ ### 1번식 아래 매수와 매도식과 같이 or로 조건을 연결해 사용하시면 됩니다. 각 값이 크로스가 가능한 값인지 확인하시기 바랍니다. 올리신 옵션그릭수치나 변동성과 관련해서는 저희 쪽에서 수식 계산검증은 해드리지 않습니다. 이용에 참고하시기 바랍니다. input: cpflag(1), //콜풋 입력 InS(0), //현재 지수를 입력 안하면 data 참조를 통해 실시간 가격을 이용. 테스트시 이용 x(145.0), //행사가 입력 ex(20050908), //만기일 r(0.0351), //CD 금리, 요기서 볼 수 있음 ==> http://stock.koscom.co.kr/ q(0), //배당률 InSig(0), //내재변동성을 입력 안하면 자체 계산된 변동성을 사용. 단, 오차 감안해야 함 InPrice(0); //역시 테스트를 목적으로 함 var:S(0),T(0),sig(0),price(0),ImVol(0),bs(0),delta(0),gamma(0),vega(0),theta(0),rho(0); S = iff(inS!=0,inS,data1("c")); //kospi종합을 같이 띄워 놓아야 합니다. T = (DateToJulian(ex) - DateToJulian(date) + 1)/365; price = iff(inPrice!=0,inPrice,c); imvol = _ImVol(cpFlag, S, X, T, r, q, price); sig = iff(insig!=0,insig,ImVol); bs = _BlackSholes(cpFlag, S, X, T, r, q, sig); delta = _Delta(cpFlag, S, X, T, r, q, sig); gamma = _gamma(cpFlag, S, X, T, r, q, sig); theta = _theta(cpFlag, S, X, T, r, q, sig); vega = _vega(cpFlag, S, X, T, r, q, sig); rho = _rho(cpFlag, S, X, T, r, q, sig); if crossup(imvol*100,bs) or crossup(imvol*100,delta) or crossup(imvol*100,gamma) or crossup(imvol*100,theta) or crossup(imvol*100,vega) or crossup(imvol*100,rho) or crossup(bs,delta) or crossup(bs,gamma) or crossup(bs,theta) or crossup(bs,vega) or crossup(bs,rho) or crossup(delta,gamma) or crossup(delta,theta) or crossup(delta,vega) or crossup(delta,rho) or crossup(gamma,theta) or crossup(gamma,vega) or crossup(gamma,rho) or crossup(theta,vega) or crossup(theta,rho) or Then buy(); if CrossDown(imvol*100,bs) or CrossDown(imvol*100,delta) or CrossDown(imvol*100,gamma) or CrossDown(imvol*100,theta) or CrossDown(imvol*100,vega) or CrossDown(imvol*100,rho) or CrossDown(bs,delta) or CrossDown(bs,gamma) or CrossDown(bs,theta) or CrossDown(bs,vega) or CrossDown(bs,rho) or CrossDown(delta,gamma) or CrossDown(delta,theta) or CrossDown(delta,vega) or CrossDown(delta,rho) or CrossDown(gamma,theta) or CrossDown(gamma,vega) or CrossDown(gamma,rho) or CrossDown(theta,vega) or CrossDown(theta,rho) or Then sell();
프로필 이미지
회원
2013-05-10
815
글번호 63036
시스템
답변완료

호가잔량이평오실레이터에 구간 표기방법

안녕하세요? 선물 호가잔량호실레이터 지표에 추가기능 설정방법을 문의드립니다. 1.기준선(0)을 기준으로 +2000과 -2000 사이 구간대를 설정해 보고 싶고 2.또는 +2000선과 -2000을 다른 색상의 선으로 표기하는 방법이 있는지요?
프로필 이미지
회원
2013-05-10
256
글번호 63035
지표
답변완료

오류수정과 검증거처 신호와성하

안녕하세요 수고 하십니다 관리자님 하루에 한번 만 매매되도록 짜주시기바랍니다 2분 또는 5분 매매예정입니다 꼭 검증해보시고 신호나오는지 봐주세요 ^^ ### 1번 식 [매수] Var: Formula0(0), Formula1(0), Formula2(0), Formula3(0); Formula0 = (stime >= 090500 && stime < 150300) && (c < csar(0.02,0.2) && ma(c,10)>ma(c,26) && c>c[2] && c>(ma(C,accumN(iff(stime==090000,dayindex()-highest(iff(dayHigh()==H,dayindex(),0),dayindex()+1),0),dayindex()+1)+(dayindex()+1)+1)) || ma(C,5)>ma(C,10)&&ma(C,10)>ma(C,20)&&ma(C,20)>ma(C,60) && (C-ma(C,5)) / STD(5)>=5 || ma(C,5)>ma(C,10)&&ma(C,10)>ma(C,26)&&ma(C,26)>ma(C,52) && crossup(macd(12,26), ema(macd(12,26),60))); if Formula0 then buy(); //[청산1] Var: Formula0(0), Formula1(0), Formula2(0), Formula3(0); Formula1 = VR(12) < 100 && VR(12)[1] >= 300 || (C-ma(C,5)) / STD(5)<=3 ; if Formula1 then exitlong(); //[청산2] Var: Formula0(0), Formula1(0), Formula2(0), Formula3(0); Formula1 = c > csar(0.02,0.2) && c<c[1] || ma(C,10)<ma(C,20)&&ma(C,20)<ma(C,60)&& crossdown(macd(12,26), ema(macd(12,26),60)) && macd(12,26)< macd(12,26)[accum(1)-highest(iff(macd(12,26)[1] < ema(macd(12,26)[1],10) && macd(12,26)[2] >= ema(macd(12,26)[2],10),accum(1),0),accum(1)-60)]; if Formula1 then exitlong(); ## 2 번 식 은 ==>> 시스템식으로 변환작업까지 하셔야해요 ㅠㅠ 감사합니다 > [매수] (c>max(c(1),c(2),c(3)) && c(1) >std(c(3),c(4),c(5))) && (ma(C,10)&&ma(C,20))>ma(C,210) || ((ma(c,5)&&ma(c,10))>ma(c,110) && CCI_C(9) > -100 && CCI_N(1,9) <= -100) [청산] (c<min(c(1),c(2),c(3)) && c(1) <std(c(2),c(3),c(4))) && (ma(C,4)&&ma(C,9))<ma(C,110))),1,0),dayindex+1)<=1) || (MFI_C(7) >= 100) || if((VR_C(8) < 100 && VR_N(1,8) >=300),1,0)+ if((ma(C,5)<ma(C,10)&&ma(C,10)<ma(C,20)&&ma(C,20)<ma(C,60) && C<L(dayIndex()) && C(1)>=L(dayIndex()) ),1,0) >=1 && ma(c,10)<ma(c,110) ### 3 번 식 Var: Formula0(0), Formula1(0), Formula2(0), Formula3(0); Formula0 = (c>(ma(C,accumN(iff(stime==090500,dayindex()-highest(iff(dayHigh()==H,dayindex(),0),dayindex()+1),0),dayindex()+5)+(dayindex()+1)+1)) || (VR(6) > 100 && VR(12)[1] <= 300)|| (MFI(8) <= 12&&ma(c,5)>ma(c,26) && ma(c,5)>ma(c,10)>ma(c,20)) ) && accumN(iff(((stime >= 090000 && stime < 150300)&& (c>(ma(C,accumN(iff(stime==090500,dayindex()-highest(iff(dayHigh()==H,dayindex(),0),dayindex()+1),0),dayindex()+5)+(dayindex()+1)+1)) || (VR(6) > 100 && VR(12)[1] <= 290) || (MFI(8) <= 12&&ma(c,10)>ma(c,60) &&ma(c,5)>ma(c,10)>ma(c,20)) )|| (stime >= 090000 && stime < 150300&& ((c<min(c[1],c[2],c[3])&& c[1] <std(c[3]) && c[1] <std(c[4]) && c[1] < std(c[5]))&& ma(C,4)&&ma(C,9))<ma(C,26))),1,0),dayindex()+1)<=1; Formula1 = (MFI(8) >= 100) || iff((VR(8) < 100 && VR(12)[1] >=300),1,0)+ iff((ma(C,3)<ma(C,10)&&ma(C,5)<ma(C,10)&&ma(C,10)<ma(C,50)&& C<L[dayIndex()] && C[1]>=L[dayIndex()] ),1,0)>=1&& ma(c,10)<ma(c,52); if Formula0 Then Buy(); if Formula1 Then Exitlong(); ====================================================================== 사용자함수 VR Input : Period(Numeric); Var : value1(0), value2(0), value3(0); value1 = iff(C>C[1],V,0); value2 = iff(C<C[1],V,0); value3 = iff(C==C[1],V,0); VR = (accumN(value1,Period)+accumN(value3,Period)/2)/ (accumN(value2,Period)+accumN(value3,Period)/2) *100; ----------------------------------------------------------------------- MFI Input : Period(Numeric); Var : value1(0), value2(0), value3(0); value1 = H+L+C; value2 = iff(value1>value1[1], V*value1/3,0); value3 = iff(value1<value1[1], V*value1/3,0); MFI = 100-100/(1+(accumN(value2,Period)/accumN(value3,Period))); ### 4번 식 Var: Formula0(0), Formula1(0), Formula2(0), Formula3(0); Formula0 = (stime >= 090500 && stime < 150300) && (c < csar(0.02,0.2) && ma(c,10)>ma(c,26) && c>c[2] && c>(ma(C,accumN(iff(stime==090000,dayindex()-highest(iff(dayHigh()==H,dayindex(),0),dayindex()+1),0),dayindex()+1)+(dayindex()+1)+1)) || ma(C,5)>ma(C,10)&&ma(C,10)>ma(C,20)&&ma(C,20)>ma(C,60) && (C-ma(C,5)) / STD(5)>=5 || ma(C,5)>ma(C,10)&&ma(C,10)>ma(C,26)&&ma(C,26)>ma(C,52) && crossup(macd(12,26), ema(macd(12,26),60))); Formula1 = VR(12) < 100 && VR(12)[1] >= 300 || (C-ma(C,5)) / STD(5)<=3 ; if Formula0 then buy(); if Formula1 then exitlong(); ### 5 번식 Var: Formula0(0), Formula1(0), Formula2(0), Formula3(0); Formula0 = (stime >= 090500 && stime < 150300) && (c < csar(0.02,0.2) && ma(c,10)>ma(c,26) && c>c[2] && c>(ma(C,accumN(iff(stime==090000,dayindex()-highest(iff(dayHigh()==H,dayindex(),0),dayindex()+1),0),dayindex()+1)+(dayindex()+1)+1)) || ma(C,5)>ma(C,10)&&ma(C,10)>ma(C,20)&&ma(C,20)>ma(C,60) && (C-ma(C,5)) / STD(5)>=5 || ma(C,5)>ma(C,10)&&ma(C,10)>ma(C,26)&&ma(C,26)>ma(C,52) && crossup(macd(12,26), ema(macd(12,26),60))); Formula1 = c > csar(0.02,0.2) && c<c[1] || ma(C,10)<ma(C,20)&&ma(C,20)<ma(C,60)&& crossdown(macd(12,26), ema(macd(12,26),60)) && macd(12,26)< macd(12,26)[accum(1)-highest(iff(macd(12,26)[1] < ema(macd(12,26)[1],10) && macd(12,26)[2] >= ema(macd(12,26)[2],10),accum(1),0),accum(1)-60)]; if Formula0 then buy(); if Formula1 then exitlong(); ### 6 번식 var : macdD(0), macdS(0),value(0); macdD = macd(12,26); macdS = ema(macdD,12); var1 = (C-entryprice(0))/entryprice(0)*100; // 기본차트 상승률 var2 = (data1("C")-value)/value*100; //보조차트 상승률 if macdD > macdS && macdD[1] <= macdS[1] then{ buy(); value = data1("C"); } if macdD < macdS && macdD[1] >= macdS[1] then exitlong(); if (var1+var2)/2 > 20 then exitlong("청산1"); // 합성목표수익율 평균이 20% 초과시 청산 // 검증 필요 에러 조금 있으니 양해바라옵고요 // 수정과 검증 부탁 드려요 신호나오면 별다섯게 드려요^^ 감사합니다
프로필 이미지
회원
2013-05-10
245
글번호 63034
시스템
답변완료

제글 왜 삭제되는거죠?

제글이 삭제가 되어있던데 뭐죠?? 고객을 가려가면서 상담하나요?
프로필 이미지
회원
2013-05-10
205
글번호 63027
시스템

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

프로필 이미지
회원
2013-05-10
1
글번호 63026
지표
답변완료

변수

아래식에 변수를 넣고싶어요 ar: v1(0), v2(0), v3(0); v1 = 0.5 * (dayhigh + daylow); v2 = 0.5 * (dayhigh + v1); v3 = 0.5 * (daylow + v1); Plot1(v1); Plot2(v2); Plot3(v3); Plot4(dayhigh); Plot5(daylow);
프로필 이미지
회원
2013-05-10
197
글번호 63025
지표
답변완료

전저 전고

차트안에 전저 . 전일종가. 전고.전일시가. 중심선.고가. 저점.시가.을 넣고 싶어요 !!!!!
프로필 이미지
회원
2013-05-10
224
글번호 63024
지표
답변완료

수식 문의 드립니다.

안녕하세요 수식 문의 몇가지 부탁드립니다. 첫째, 최근 5분간 upticks 중 한 틱당 거래량이 1000주 이상인 upticks 수를 구하고 싶습니다. 둘째, 최근 5분간 upticks 중 한 틱당 거래량이 1000주 이상인 upticks의 거래량의 합을 구하고 싶습니다. 셋째, 최근 5분간 upticks 중 한 틱당 거래대금이 1000만원 이상인 upticks 수를 구하고 싶습니다. 넷째, 최근 5분간 upticks 중 한 틱당 거래대금이 1000만원 이상인 upticks의 거래량의 합을 구하고 싶습니다.
프로필 이미지
아카보카
2013-05-10
214
글번호 63023
지표