커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식문의 드립니다

수고하십니다 질문 1 9시 10분부터 또는 당일 10번째 봉부터 진입하고 싶은데 첫봉에서 진입이 되네요 점검 부탁드립니다 If sTime > 091000 and MarketPosition == 0 AND K == 1 AND L < Var2 AND C > L Then Buy("Su", AtMarket); 질문 2 청산후 5봉 경과 후 6봉째부터 감시후 조건만족하면 진입하도록 가능하나요 감사합니다
프로필 이미지
surigold
2015-04-16
146
글번호 85091
시스템
답변완료

신호변경 수식요청

안녕하세요? 아래 수식에서 발생되는 신호를 반대로 하고 싶습니다. 즉, 매수신호[매도신호]에 매도[매수], 매수청산[매도청산]에 매도청산[매수청산]을 나오게 하고 싶습니다. --------------------------------------------------------------------------------------- var : entry(0); if bdate != bdate[1] Then entry = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; var : ho(0),OL(0),HL(0); var : maho(0),maOL(0),maHL(0); var : cnt(0),sumho(0),sumOL(0),sumHL(0); var : EntryCnt(0); ho = Dayhigh-Dayopen; OL = DayOpen-DayLow; HL = DayHigh-DayLow; sumho = 0; sumOL = 0; sumHL = 0; for cnt = 1 to 10{ sumho = sumho + (dayhigh(cnt)-dayopen(cnt)); sumOL = sumOL + (DayOpen(cnt)-DayLow(cnt)); sumHL = sumHL + (DayHigh(cnt)-DayLow(cnt)); } maho = sumho/10; maOL = sumOL/10; maHL = sumHL/10; var1 = ~; var2 = ~; var3 = ~; var4 = ~; var5 = ~; var6 = ~; var9 = ~; var10 = ~; var7 = ~; var8 = ~; if MarketPosition == 0 and entry == 0 Then{ if var7 > var8 Then sell("s",AtStop,var7); if var7 < var8 Then buy("b",AtStop,var7); } if MarketPosition == -1 Then{ ExitShort("sp",atlimit,var9); ExitShort("sl",AtStop,var6); } if MarketPosition == 1 Then{ exitlong("bp",atlimit,var6); ExitLong("bl",AtStop,var9); }
프로필 이미지
통큰베팅
2015-04-16
146
글번호 85084
사용자 함수
답변완료

진입 봉 종가 청산 부탁합니다.

1. input : 시가대비틱수(5),손절틱수(10),익절틱수(20),최고수익대비하락틱수(10); input : X(5),Y(10),A(5),B(5); if MarketPosition <= 0 Then buy("b",AtStop,NextBarOpen+PriceScale*시가대비틱수); if MarketPosition >= 0 then sell("s",AtStop,NextBarOpen-PriceScale*시가대비틱수); if MarketPosition == 1 Then{ exitlong("btr1",AtStop,Highest(H,BarsSinceEntry)-PriceScale*최고수익대비하락틱수); if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*x and highest(H,BarsSinceEntry) < EntryPrice+PriceScale*y Then exitlong("btr2",AtStop,highest(H,BarsSinceEntry)-PriceScale*a); if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*y Then exitlong("btr3",AtStop,highest(H,BarsSinceEntry)-PriceScale*b); } if MarketPosition == -1 Then{ ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*최고수익대비하락틱수); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*x and Lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*y Then ExitShort("str2",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*a); if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*y Then ExitShort("str3",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*b); } SetStopProfittarget(PriceScale*손절틱수,PointStop); SetStopLoss(PriceScale*익절틱수,PointStop); 2번 input : 시가대비틱수(5),손절틱수(10),익절틱수(20),최고수익대비하락틱수(10); input : X(5),Y(10),A(5),B(5); if MarketPosition <= 0 and NextBarOpen >= C Then buy("b",AtStop,NextBarOpen+PriceScale*시가대비틱수); if MarketPosition >= 0 and NextBarOpen < C then sell("s",AtStop,NextBarOpen-PriceScale*시가대비틱수); if MarketPosition == 1 Then{ exitlong("btr1",AtStop,Highest(H,BarsSinceEntry)-PriceScale*최고수익대비하락틱수); if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*x and highest(H,BarsSinceEntry) < EntryPrice+PriceScale*y Then exitlong("btr2",AtStop,highest(H,BarsSinceEntry)-PriceScale*a); if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*y Then exitlong("btr3",AtStop,highest(H,BarsSinceEntry)-PriceScale*b); } if MarketPosition == -1 Then{ ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*최고수익대비하락틱수); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*x and Lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*y Then ExitShort("str2",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*a); if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*y Then ExitShort("str3",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*b); } SetStopProfittarget(PriceScale*손절틱수,PointStop); SetStopLoss(PriceScale*익절틱수,PointStop); 위 두 로직에 진입 봉 종가 청산 함수가 없는것 같습니다. " 진입 봉 종가 청산 " 함수를 두 로직에 넣어 주십시요. 감사 합니다.
프로필 이미지
재정적자유
2015-04-15
140
글번호 85083
시스템
답변완료

수식문의드립니다

안녕하세요 간단한 시스템문의드립니다. 현재부터 만기까지(만기가 20일이상 남았을때) 가격이 1.5까지 하락하면 6계약을 매수하고 1.9가되면 청산(청산되면 문자로 통보) 첫번째 매수 6계약이 청산되지 못하고 가격이 하락하여 1.3이되면 추가로 6계약 매수 12계약을 1.7에 모두 청산(청산시 문자로 통보) 이런 로직을 만들고 싶은데 수식좀 부탁해요~
프로필 이미지
크레이티브77
2015-04-15
136
글번호 85082
시스템
답변완료

청산후 동일방향 재진입금지 시스템

항상감사드립니다. 아래시스템에서 청산후 같은방향으로 재진입금지하는 시스템을 구현하고 싶습니다. ################################## ##### RSI 시스템_Period(20) ##### ################################## input : Period1(20); var81 =(AccumN(iff(C-C[1]>0,C-C[1],0),Period1)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period1)*100); if var81 <= 30 Then # rsi_30 # var82 = O; if var81 >= 70 Then # rsi_70 # var83 = H; if var82[1] < var82 Then var40=1; # rsi_30 상승방향# if var82[1] > var82 Then var40=-1; # rsi_30 하락방향# if var83[1] > var83 Then var80=1; # rsi_70 하락방향# if var83[1] < var83 Then var80=-1; # rsi_70 상승방향# if MarketPosition == 1 and var80 == 1 and #하락# H <= var81 And (var83[1]-var83) >0.00300 Then exitlong("eBb_Rsi70"); if MarketPosition ==-1 and var80 == 1 and #하락# H <= var81 And (var83[1]-var83) >0.0030 Then ExitShort("eSs_Rsi70"); if MarketPosition ==-1 and var40 == 1 and #상승# L >= var81 And (var82-var82[1]) >0.0030 Then ExitShort("eSs_Rsi30"); if MarketPosition == 1 and var40 == 1 and #상승# L >= var81 And (var82-var82[1]) >0.0030 Then exitlong("eBb_Rsi30"); ################################## ##### RSI 시스템_Period(15) ##### ################################## input : Period(15); var71 =(AccumN(iff(C-C[1]>0,C-C[1],0),Period)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period)*100); if var71 <= 30 Then # rsi_30 # var72 = O; if var71 >= 70 Then # rsi_70 # var73 = H; if var72[1] < var72 Then var30=1; # rsi_30 상승방향# if var72[1] > var72 Then var30=-1; # rsi_30 하락방향# if var73[1] > var73 Then var70=1; # rsi_70 하락방향# if var73[1] < var73 Then var70=-1; # rsi_70 상승방향# if MarketPosition == 1 and var70 == 1 and #하락# H <= var71 And (var73[1]-var73) >0.0030 Then exitlong("eB_Rsi70"); if MarketPosition == -1 and var70 == 1 and #하락# H <= var71 And (var73[1]-var73) >0.0030 Then ExitShort("eS_Rsi70"); if MarketPosition == -1 and var30 == 1 and #상승# L >= var71 And (var72-var72[1]) >0.0030 Then ExitShort("eS_Rsi30"); if MarketPosition == 1 and var30 == 1 and #상승# L >= var71 And (var72-var72[1]) >0.0030 Then exitlong("eB_Rsi30"); ###################### ##### 매매식 1 ##### ###################### if MarketPosition <= 0 and countif(var72==var72[1],5) == 5 And var12==1 and var58==1 and c>var72 Then buy("B_R30"); if marketPosition > 0 and countif(var72==var72[1],5) == 5 And var12==-1 and var58==-1 and c<var72 Then sell("S_R30"); if MarketPosition <= 0 and countif(var73==var73[1],5) == 5 And var12==1 and var58==1 and c>var73 Then buy("B_R70"); if MarketPosition >0 and countif(var73==var73[1],5) == 5 And var12==-1 and var58==-1 and c<var73 Then sell("S_R70"); ### 손절1 ### SetStopLoss(PriceScale*50,PointStop); ###################### ##### 매매식 2 ##### ###################### ########## 1차 저항선_var21 ########## if crossup(C,var21) Then{ var51 = 1; idx = index; } if CrossDown(C,var21) Then{ var51 = -1; idx = index; } if MarketPosition <= 0 and var51 == 1 and index > idx and index <= idx+30 and var21 >= L and c > var21 and dp2>dm2 then buy("b_21"); if MarketPosition > 0 and var51 == -1 and index > idx and index <= idx+30 and var21 <= H and c < var21 and dp2<dm2 Then sell("s_21"); ########## 1차 지지선_var22 ########## if crossup(C,var22) Then{ var52 = 1; idx1 = index; } if CrossDown(C,var22) Then{ var52 = -1; idx1 = index; } if MarketPosition <= 0 and var52 == 1 and index > idx1 and index <= idx1+30 and var22 >= L and c > var22 and dp2>dm2 then buy("b_22"); if MarketPosition > 0 and var52 == -1 and index > idx1 and index <= idx1+30 and var22 <= H and c < var22 and dp2<dm2 Then sell("s_22"); ########## 중심선_var23 ########## if crossup(C,var23) Then{ var53 = 1; idx2 = index; } if CrossDown(C,var23) Then{ var53 = -1; idx2 = index; } if MarketPosition <= 0 and var53 == 1 and index > idx2 and index <= idx2+30 and var23 >= L and c > var23 and dp2>dm2 then buy("b_23"); if MarketPosition > 0 and var53 == -1 and index > idx2 and index <= idx2+30 and var23 <= H and c < var23 and dp2<dm2 Then sell("s_23");
프로필 이미지
조민철
2015-04-15
181
글번호 85081
시스템
답변완료

수식 좀 부탁드립니다.

당일 종가 0봉 기준... 21봉전부터 31봉전 사이에 최대 거래량이 발생한날의 거래량을 A라고 하고 20봉전 거래량이 A날의 거래량 대비 50%이하이고, 20봉전 종가가 -5% ~ +5% 사이인 종목을 검색하고 싶습니다.
프로필 이미지
회원
2015-04-15
156
글번호 85076
종목검색
답변완료

지표좀 만들고 싶습니다.

1.MACD선이 0선위에 있고 MACD선이 signal선위에 있을때 빨간 막대표시 2.MACD선이 0선 아래 있고 MACD선이 signal선아래에있을때 파랑 막대 표시 3.MACD선이 0선 위에 있고 MACD선이 signal선 아래에 있을때 분홍 막대표시 4.MACD선이 0선 아래 있고 MACD선이 signal선 위에 있을때 하늘색 막대표시 입니다. 그리고 한가지더^^;; 부탁드립니다. 이동평균선이 60일선이 위의 MACD선의 색깔에 맞추어 같이 변했으면 좋겠습니다.
프로필 이미지
회원
2015-04-15
154
글번호 85075
지표
답변완료

문의드립니다.

안녕하세요. 시스템 적용하는 순간 특정수량을 현재가로 매수하고 시스템 전략식에 의거하여 매수청산하는 코드를 만들고자 하는데요. "시스템 적용 순간 현재가로 매수"하는 부분을 코딩할 수 있는 방법이 있을까요? (참고로 하루 한번만 거래, 즉 재진입 불허하려고 합니다.)
프로필 이미지
회원
2015-04-15
141
글번호 85073
시스템
답변완료

문의 드립니다....

안녕하세요^^ 어제 종가기준으로 상방 +0.5P +1P 에 적색선 하방 -0.5P -1P 에 청색선 나타내는 수식 좀 알려주세요^^ 꼭 좀 알려주세요^^ 감사합니다^^
프로필 이미지
Solomon
2015-04-15
143
글번호 85072
지표