커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식부탁드려봅니다.

수고하십니다. 지표 수식이 가능한지 여쭙고 싶어 글 올립니다. 1. 선물매수호가총건수 와 선물매도호가총건수의 차는 "0" 을 기준으로 위아래로 지표가 그려집니다. 혹시.. 1번의 선과 "0" 과의 거리를 연결선물차트에 라인처럼 그릴수 있을런지요. 다시 말씀드리면, 1번의 현재 차트선이 "0"선에 닿았을때 비로소 연결선물가격을 알수 있는데, 1번 차트선이 "0" 과 멀리 있어도 대략적으로나마 선물가격이 어느정도인지 가늠할수 있는 방법이 있을까 싶습니다. (예 : 현재 1번 수치(두호가차)가 +300 개로 진행이 되었을시, 연결선물 현재종가에서 대략 어느정도 낮은 가격이 1번이 "0"선과 닿을것 같다라는 예측라인) 아님 1번의 차트 자체를 연결선물지수 차트에 덮어쓰기 할수 있을런지요.
프로필 이미지
파동홀릭
2017-09-28
177
글번호 113152
지표
답변완료

수식 문의

유사한 시스템식 2개 부탁드립니다. 감사합니다.
프로필 이미지
에구머니
2017-09-28
167
글번호 113151
시스템
답변완료

문의드립니다.

아래식 사용시 실제 매매에서는 진입이 없고 시스템을 끄고 다시 켜면 조건에 맞게 진입이 있는 경우가 많습니다 식의 어떤 부분이 잘못 되었는지 확인좀 부탁드립니다. 감사합니다. input : short(12),long(26),sig(9),P1(3),P2(30),P3(120), P4(200), P5(50),Period(14); input : 시작시간(215000), 종료시간(030000); input : 진입회수(1); var : mav1(0,data1),mav2(0,data1),mav3(0,data1),mav4(0,data1),mav5(0,data1); var : MACDO1(0,data1),MACDO2(0,data2),MACDV1(0,data1); var : ii(0,data1),i1(0,data1),i2(0,data1),Bcount(0,data1),Scount(0,data1); var : Bcond(false,data1), Scond(false,data1), Tcond(False); var : BH(0,data1), SL(0,data1); MACDO2 = data2(MACD_OSC(short,long,sig)); mav1 = data1(ma(c,P1)); mav2 = data1(ma(c,P2)); mav3 = data1(ma(c,P3)); mav4 = data1(ma(c,P4)); mav5 = data1(ma(c,P5)); ii = data1(index); if stime == 시작시간 or (stime >시작시간 and stime[1] < 시작시간) Then{ Tcond = true; } if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then{ Tcond = false; } if CrossUp(mav1, mav2) Then{ i1 = ii; } if Crossdown(mav1, mav2) Then{ i1 = ii; } if CrossUp(mav2, mav3) Then{ i2 = ii; Bcount = 0; } if Crossdown(mav2, mav3) Then{ i2 = ii; Scount = 0; } if mav2 > mav3 and MarketPosition != MarketPosition[1] and MarketPosition == 1 Then Bcount = Bcount+1; if mav2 < mav3 and MarketPosition != MarketPosition[1] and MarketPosition == -1 Then Scount = Scount+1; //진입 if Tcond == true Then{ if Bcount < 진입회수 and MACDO2 >0 and mav1 > mav3 and mav2 > mav3 and ii > i1 and i1 > i2 Then buy("Buy"); if Scount < 진입회수 and MACDO2 <0 and mav1 < mav3 and mav2 < mav3 and ii > i1 and i1 > i2 Then sell("Sell"); } //청산1 if MarketPosition == 1 Then{ if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*10 Then ExitLong("B익절1",AtStop,highest(H,BarsSinceEntry)-PriceScale*5); if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*20 Then ExitLong("B익절2",AtStop,highest(H,BarsSinceEntry)-PriceScale*10); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*15 Then ExitLong("B손절1",AtLimit,lowest(L,BarsSinceEntry)+PriceScale*10); ExitLong("B손절2",AtStop,EntryPrice-PriceScale*5); } if MarketPosition == -1 Then{ if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*10 Then ExitShort("S익절1",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*5); if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*20 Then ExitShort("S익절2",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*10); if Highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*15 Then ExitShort("S손절1",AtLimit,Highest(H,BarsSinceEntry)-PriceScale*10); ExitShort("S손절2",AtStop,EntryPrice+PriceScale*5); } if 종료시간 <= sTime and sTime < 시작시간 then { if MarketPosition == 1 then{ ExitLong("B장종료"); } if MarketPosition == -1 then{ ExitShort("S장종료"); } }
프로필 이미지
라떼처럼
2017-09-27
175
글번호 113150
시스템
답변완료

추가부탁드립니다

input : P(10),익절틱수(10); var : MM(0),T(0); MM = (highest(H,P)+lowest(L,P))/2; if T == 0 and C > MM Then T = 1; if T == 0 and C < MM Then T = -1; if T == 1 and CrossDown(C,lowest(L,P)[1]) Then T = 0; if T == -1 and CrossUp(C,highest(H,P)[1]) Then T = 0; if dayindex == 0 and T == 1 then buy(); if dayindex == 0 and T == -1 then sell(); if dayindex > 0 then{ if T == 1 and T[1] != 1 Then buy(); if T == 0 and T[1] == 1 Then sell(); } if T == -1 and T[1] != -1 Then sell(); if T == 0 and T[1] == -1 Then buy(); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopEndofday(150000); 위 수식에 추가 바랍니다 1.원하는 틱수를 얻었을경우 매매종료 매수든 매도든 2.원하는 시간설정 시작시간10시30분 종료시간 17시 감사합니다
프로필 이미지
곽민수
2017-09-27
162
글번호 113149
시스템
답변완료

왕복 Slippage의 Tick수가 뭔가요??

왕복 Slippage의 Tick수가 뭔가요??
프로필 이미지
younjoo
2017-09-27
167
글번호 113148
사용자 함수
답변완료

볼린저 밴드이용한 거래량 지표식

가격 대신 거래량으로 볼린저 밴드를 이용한 지표식 가능한지요 사용자 함수부터 만들어야 하나요 부탁드립니다
프로필 이미지
mirror05
2017-09-27
205
글번호 113147
지표
답변완료

다시 문의드립니다.

이전 문의 54994번의 1-1에 덧붙여 문의드립니다. == 기존의 DPO, MAO조건은 동일하게 매수 매도가 발생하게 합니다. == 여기에 매수매도 신호조건을 하나더 추가하여, 단순이평30선이 단순이평250선과 삼각가중150선을 <모두> 돌파할때 골든이면 '매수'신호를, 데드면 매도' 신호를 발생하게 합니다. == 손절조건도 기존과 같습니다. 다만 여기에 덧붙여 익절 20틱도 항목을 추가하여 '매수청산', '매도청산'이라고 글씨를 나타냅니다. == 진입은 단순이평30선이 단순250선(삼각가중 150선은 고려하지 않습니다), 매도신호가 발 생하더라도 진입금지하고, '매수'신호가 나올경우에만 진입합니다. 반대로 30선이 250선 아래에 있을때는 '매수'신호가 발생하더라도 진입금지하고, '매도'신 호에만 진입합니다. 요약하자면 골든크로스가 발생할때 매수진입 허용, 이후 30,250선 콜배열에서 매도신호가 발생하더라도 진입금지, '매수'신호에만 진입허용 하고자 합니다. 반대의 경우 데드크로스에 매도진입 허용, 풋배열에서 매수신호가 발생하더라도 진입금지, '매도'신호에만 진입허용 하고자 합니다. == 손절조건은 기존과 같고, 하나더 추가하여 골든크로스에 진입했는데 바로 데드크로스가 나오면 손절함과 동시에 데드크로스 매도로 스위칭 진입하게 합니다. *** 각 기간값들은 수정가능하게 부탁드립니다. 살펴보시고 수식을 부탁드립니다. 매번 감사할 따름이고, 감사합니다. 수고하세요!!!
프로필 이미지
해암
2017-09-27
155
글번호 113145
시스템
답변완료

행복; 시스템식 작성 바랍니다

한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다 시스템식 관련입니다 << 조건 >> - 주기; 일봉 < 매수 > - 1차 매수; 2017년 8월 18일 종가 - 2차 매수; 2017년 8월 22일 종가 - 3차 매수; 2차 매수가에서 10% 상승시 100주 즉시 매수 < 매도 > - 3차 매수가에서 - 10% 상승시 즉시 이익실현 - 10% 하락시 즉시 손절 을 << 아래 >>와 같이 작성하였습니다 ========================<< 아래 >>============================ If MarketPosition == 0 and sDate == 20170818 Then Buy("b1"); If MarketPosition == 1 and MaxEntries == 1 and sDate == 20170822 Then{ Buy("b2"); Var1 = C; // 두번째 매수가격 } If MarketPosition == 1 and MaxEntries == 2 and sDate > 20170822 Then{ Buy("b3",AtLimit,Var1 * 1.1,100); // 2차 매수가 대비 10% 상승시 즉시 매수 Var2 = EntryPrice(0); // 세번째 매수가격 } If MarketPosition == 1 and MaxEntries == 3 Then{ ExitLong("bx3_이익",AtLimit,Var2*1.1); // 10% 이익시 즉시 매도 ExitLong("bx3_손실",AtStop,Var2*0.9); // 10% 손실시 즉시 매도 } ============================================================== 두번째 매수가격과 세번째 매수가격이 잘못되었는지 제대로 나오지 않습니다 수정 바랍니다 수고하십시요^^
프로필 이미지
행복한가방
2017-09-27
153
글번호 113134
시스템
답변완료

문의

안녕하세요.. 답변주신수식을 해보니 진입이거의없읍니다 확인부탁합니다 일목균형지표에서 후행스팬이 60일이평을 돌파시매수 이탈시매도 이때선행스팬도같이음운 양운될때만 진입 Var : 전환선(0),기준선(0), 선행스팬1(0), 선행스팬2(0); 전환선 = (Highest(H, 9) + Lowest(L, 9)) / 2; 기준선 = (Highest(H, 26) + Lowest(L, 26)) / 2; 선행스팬1 = (전환선[25] + 기준선[25]) / 2 ; 선행스팬2 = (Highest(H, 52)[25] + Lowest(L, 52)[25]) / 2; var1 = ma(C,60); if crossup(c,var1[25]) and crossup(선행스팬1[25],선행스팬2[25]) Then buy(); if CrossDown(c,var1[25]) and CrossDown(선행스팬1[25],선행스팬2[25]) Then sell(); 그리구 하나더부탁합니다 다우지수가 양봉이면 시가매수 음봉이면 매도식부탁합니다. 친절한답변 늘감사합니다.....
프로필 이미지
질갱이
2017-09-27
165
글번호 113133
시스템