커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다.

선물차트 기준으로 문의드립니다. - 단순이평 90선과 티론중간선(기간값 150) 사이를 채우기하고자 합니다. 수식을 어떻게 작성해야 하는지요? 부탁드립니다. 단순이평과 티론의 기간값은 변경가능하게 부탁드립니다. 수고하세요!!!
프로필 이미지
해암
2020-12-21
774
글번호 144821
지표
답변완료

수식 추가 부탁드립니다.

안녕하세요? 아래의 수식에서 이동평균선을 추가하고싶습니다. 1) 이동평균선 2개 2) 정배열에서 매도, 역배열에서 매수 부탁드립니다. 감사합니다. input : 익절틱수(50),손절틱수(50),n(3); var : entry(0); if bdate != Bdate[1] Then entry = 0; if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; if MarketPosition == 0 and entry < n and C[2] > O[2] and C[1] < O[1] and C > O Then Buy(); if MarketPosition == 0 and entry < n and C[2] < O[2] and C[1] > O[1] and C < O Then Sell(); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop);
프로필 이미지
대구어린울프
2020-12-21
724
글번호 144820
시스템
답변완료

문의

청산로직에 대해서 궁금한 것이 있습니다. //1개 봉 전을 기준으로 3개 봉 중 최저가를 stop 변수에 저장 stop = Lowest(L[1],3); //롱 포지션일 시 7포인트(28틱)가 오르면 익절청산 If MarketPosition == 1 Then SetStopProfittarget(7, PointStop); //stop가격까지 가격이 떨어지면 손절청산 If MarketPosition == 1 && stop > C Then ExitLong(); 위의 식에서 문제는 현재 봉에서 조건이 만족되면 다음 봉 시가에서 청산이 일어난다는 것입니다. 저는 기준이 만족하면 그 즉시 해당 봉에서 청산을 하고 싶습니다. 예를 들어서, 7포인트가 오르면 바로 익절청산, 가격이 stop가격까지 내려가면 바로 손절청산. 다음 봉 시가에서 청산이 일어나면 너무 손해가 큰 문제가 있어서요,, 혹시 바로 청산하는 방법은 없을까요?
프로필 이미지
슈트
2020-12-20
726
글번호 144819
시스템
답변완료

부탁들여요

input : 기간 (1),n(1),k(0),percent(5),percent1(10); var :count(0),count1(0),count2(0),count3(0),DINDEX(0),LL(0),LL1(0), HL1(0),HL2(0),HL3(0),HL4(0); LL = Lowest(DayLow,기간 ); if bdate != bdate[1] then { DINDEX = DINDEX+1 ; LL = DayLow; LL1= DayHigh; } if DINDEX <= 1 then { LL = LL[0]; LL1 = LL1[0]; for count = 0 to 기간 -1 if dayLow(count) > LL[1] then LL = dayLow(count ); } var1 = Lowest(LL[2] , 기간 ); var2 = Lowest( LL[1] , 기간 ); HL1= Var1 - Var1 * percent /100; HL2= Var1 - Var1 * percent1 /100; HL3= Var2 - Var2 * percent /100; HL4= Var2 - Var2 * percent1 /100; Condition1 = (DayOpen[3] > DayClose[3]or DayOpen[3] < DayClose[3]) and DayOpen[2] > DayClose[2] and DayLow [3] > DayLow [2] and DayLow [2] < DayLow [1] and (DayOpen[1] < DayClose[1]or DayOpen[1] > DayClose[1]) and( DayOpen < DayClose or DayClose > DayLow [2] or DayHigh[2] < DayHigh); Condition2 = DayOpen[2] > DayClose[2] and DayLow [2] >= DayLow [1] and DayOpen[1] < DayClose[1] and DayLow[1] < DayLow and DayLow[1] < DayClose ; if Condition1 Then Begin var3 = HL1; var4 = HL2 ; End Else if Condition2 Then Begin var3 = HL3; var4 = HL4; end; Plot1 ( var3 [n]); Plot2 ( var4 [n]); 예휴 ~~ 왕초보입니다, 일봉에서 사용중입니다 분봉에서도 같은 가격에 선이 그려지도록 부탁 들입니다 일봉 ---> 분봉 60분봉 --> 10 분봉 으로도 부탁들입니다 수고하세요^^
프로필 이미지
여보세요
2020-12-20
743
글번호 144818
지표

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

프로필 이미지
2wnwn
2020-12-21
9
글번호 144817
시스템
답변완료

지수옵션 일자별 시세출력

안녕하세요 NHtrader사용자 입니다 지수옵션(최근월물) 전체행사가별로 특정일자(사용자입력)이후 아래 자료를 출력(print,text파일에) 되게 할려면 수식작성을 어떻게 하면 되나요 ? 일자,행사가,종목명,시가,고가,저가,종가,거래량,미결,미결증감 수고하세요
프로필 이미지
thrupass
2020-12-20
858
글번호 144816
사용자 함수
답변완료

PVI, NVI 계산오류

PVI와 NVI의 결과 값이 어느종목은 맞고, 어느종목은 안맞고....이상합니다. 첨부된 파일의 우측차트를 보면, 차트가 우하향인데 계산값이 우상향 하는 형태로 나옵니다. 계산식은 PVI+NVI 입니다.
프로필 이미지
파파
2020-12-20
913
글번호 144815
지표
답변완료

차트상의 값과 수식으로 계산된 값의 차이의 해결 방법을 알려주시면 감사하겠습니다.

많은 업무에 노고가 많으십니다. 덕분에 많이 배우고 있습니다. 문의드릴 내용은 차트상의 값과 수식으로 계산된 값이 서로 다르게 나오는데요!! 어떻게 해결하면 될까요?? 해결 방법을 알려주시면 대단히 감사하겠습니다. 그리고 아래의 수식을 하면 "연산자 앞뒤 두 데이터의 형태가 같아야 합니다." 라고 나옵니다. 크로스다운 될때의 값을 구할려면 아떻게 하는지도 부탁드립니다. dmax1=CrossDown(dm,ax); -요약하면 테스트는 CJ CGV 이며 ADX(a기간); DiPlus(a기간); DiMinus(a기간); StochasticsK(sto1,sto2); RSI(r기간); 일전에 RSI 질문에서 반복문이 함께 있으면 일정기간이 지나야 값이 제대로 나온다고 알려주셨는데요!! 이번에는 뭘 잘못 했는지 전부 다르게 나옵니다. 위 다섯가지 어떻게 수긱을 작성해야 되는지 부탁드립니다. 감사합니다. //---------------------------------- input : a기간(15),r기간(10),기간1(1500); var : j(0),ax(0),Dp(0),dm(0),stc(0),sto1(5),sto2(5),sto3(3); var : dmax1(0),dmax2(0),dmax3(0),bhi5(0),yhi5(0); var : rs1(0),rs(0),usum(0),dsum(0),upt(0),dpt(0),uavg(0),davg(0); //---------------------------------- //5년 하락 50% bhi5=H[1]; for j=1 To 기간1 { if bhi5<H[j] Then { bhi5=H[j]; } } yhi5=bhi5*0.5; //---------------------------------- //ADX AX = ADX(a기간); DP = DiPlus(a기간); DM = DiMinus(a기간); //dmax1=CrossDown(dm,ax); dmax2=ax+(ax*0.005); dmax3=iff(CrossDown(dm,ax),ax*0.005,ax); //---------------------------------- // 스톡케스틱 stc=StochasticsK(sto1,sto2); //---------------------------------- // RSI=(상승평균/(상승평균+하락평균))x100 rs1=RSI(r기간); //---------------------------------- If Index==r기간 and r기간>0 Then { usum=0; dsum=0; for j=0 to r기간-1 { upt=C[j]-C[j+1]; if upt>=0 then { dpt=0; } Else { dpt=0-upt; upt=0; } usum=usum+upt; dsum=dsum+dpt; } uavg=usum/r기간; davg=dsum/r기간; } Else { If Index>r기간 and r기간>0 Then { upt=C[0]-C[1]; if upt>=0 then { dpt=0; } Else { dpt=0-upt; upt=0; } uavg=(uavg[1]*(r기간-1)+upt)/r기간; davg=(davg[1]*(r기간-1)+dpt)/r기간; } } If uavg+davg<>0 then { rs=(uavg/(uavg+davg))*100; } Else { rs=0; } Plot1(rs); //---------------------------------- if Crossdown(dm,ax) Then { MessageLog("ax -> %.2f",ax); MessageLog("dp -> %.2f",dp); MessageLog("dm -> %.2f",dm); MessageLog("stc -> %.2f",stc); MessageLog("RS1 -> %.2f",rs1); MessageLog("RS -> %.2f",rs); } //----------------------------------
프로필 이미지
여유의공간
2020-12-22
811
글번호 144814
지표
답변완료

Text_New 함수값이 전봉에서 계산한 값으로 나오는데..???

이상해서 살펴보았더니.. 어떤 수식계산으로 해보아도 전봉에서 계산된 값으로만 나오네요?? 그래서 .. 아래와 같이 간단하게 만들어 해보니까..역시 전봉값으로 나옵니다. var:CC_tx(0); Text_Delete(CC_tx); var1=IFF(C[1]>C,RED,IFF(C[1]<C,BLUE,LGREEN)); CC_tx=Text_New(date,time,C," "+NumToStr(C,2)); Text_SetColor(CC_tx,var1); Text_SetStyle(CC_tx,0,2); Text_SetBold(CC_tx,1); Text_SetSize(CC_tx,11); 아래로 바꾸어도 마찬가지입니다. CC_tx=Text_New(sdate,stime,C," "+NumToStr(C,2)); 이렇게 직전봉에서 계산된 값으로만 나오네요.. (같은 수식값이 plot 와 상이하게 직전봉값으로만 나옵니다.) 현제봉에서 계산된 값으로 나오게 할 어떤 방법은 없나요???
프로필 이미지
데로예스
2020-12-20
801
글번호 144813
지표