커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

새해 복 많이 받으십시요^^

* 2020년 새해애도 건강 하시고 가족의 건강과 행운을 바랍니다. *<요청1> 아래 수식에서 고점에 점이 안찍히는데 수정좀 부탁 드립니다. input : left(5),right(5); var : slv1(0),slv2(0),slh1(0),slh2(0),sl2(0),sl3(0),sl1(0); if SwingLow(1,H,Left,right,left+right+1) != -1 Then{ SLV1 = H[Right]; SLV2 = SLV1[1]; SLH1 = H; SLH2 = SLH1[1]; SL1 = Text_New(Sdate[Right],stime[Right],H[right]-PriceScale,"■"); SL2 = SL1[1]; SL3 = SL2[1]; } *<요청2> 3번째 매매 건너 뛰고 매매하기 var1 = ma(c,5) ; var2 = ma(c,2) ; if crossup(var1,var2) then buy(); if crossdown(var1,var2) then sell(); 일경우 손실이 연속 두번(변수:n(2))이면 3번째는 매매 안하고 다음 4번째 부터는 다시 정상매매 수식좀 좀 부탁 드립니다. * 항상 건강 하십시요^^
프로필 이미지
요타
2020-01-01
306
글번호 134781
지표
답변완료

수정 의뢰드립니다!

안녕하세요! 새해 복 많이받으세요! 항상 감사드리고 고맙습니다. 건강하세요! ------------------------------------------------------------------------ 위 사진은 일전에 만들어 주신걸 적용한 건데요! 어제 쉬는날 적용해 보았는데 키움과 신호가 다르게 생성이 되서 확인 좀 부탁드려요! 같은 수식인데 왜 신호가 다르게 나오는걸까요? 해선 나스닥 30분봉 사진입니다! 참고 그림들을 올려드립니다! ------------------------------------------------------------------------ 아래는 지난번에 만들어 주신 수식인데 수정을 부탁드립니다. data1 = 국선챠트 data2 ~ data13 콜옵션 6개가격 과 풋옵션 6개가격을 합쳐서 놓음 (옵션 가격은 제가 임으로 선택할 수 있게 해주세요!) data2 ~ data13 콜옵션 6개가격 과 풋옵션 6개가격중 교차를 하면 교차가격에 가로선이 생성 = > 동시에 같은 시간 data1의 선물챠트에도 가로선이 생성 되게 해주세요! ------------------------------------------------------------------------- input : price1(1.0),price2(1.5),price3(2.0),price4(2.5),price5(3.0); input : price6(3.5),price7(4.0),price8(4.5),price9(5.0),price10(5.5); var : V2(0,data1),V3(0,data1),V4(0,data1),V5(0,data1),V6(0,data1); var : V7(0,data1),V8(0,data1),V9(0,data1),V10(0,data1),V11(0,data1); if data2(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v2 = data1(c); if data3(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v3 = data1(c); if Data4(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v4 = data1(c); if data5(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v5 = data1(c); if data6(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v6 = data1(c); if data7(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v7 = data1(c); if data8(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v8 = data1(c); if data9(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v9 = data1(c); if data10(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v10 = data1(c); if data11(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v11 = data1(c); plot1(v2,"data2"); plot2(v3,"data3"); plot3(v4,"data4"); plot4(v5,"data5"); plot5(v6,"data6"); plot6(v7,"data7"); plot7(v8,"data8"); plot8(v9,"data9"); plot9(v10,"data10"); plot10(v11,"data11"); ------------------------------------------------------------------------ 아래 수식은 지난번에 만들어 주신 수식인데요! 2-1을 제외하곤 나머지는 자꾸 에러가 뜨네요! 확인 좀 부탁드립니다! ------------------------------------------------------------ data2~data3 / data4~data5 / data6~data7 / data8~data9 / data10~data11 / 콜풋 교챠차트를 각각 5개로 제가 만들고 각각의 교차차트에 미리 정해놓은 가격선에 콜이나 풋이 도달하면 선물가격인 data1에 선이 자동으로 그어지도록 만들고 싶습니다. 미리 정해놓은 옵션 가격선은 옵션교차차트에 선과 가격을 나타나게 하고 싶습니다.선의 색상과 굵기는 제가 선택할 수 있도록 하고 싶습니다. 2-1 input : price1(1.0),price2(1.5),price3(2.0),price4(2.5),price5(3.0); input : price6(3.5),price7(4.0),price8(4.5),price9(5.0),price10(5.5); var : V2(0,data1),V3(0,data1); if data2(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v2 = data1(c); if data3(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v3 = data1(c); plot1(v2,"data2"); plot2(v3,"data3"); 2-2 input : price1(1.0),price2(1.5),price3(2.0),price4(2.5),price5(3.0); input : price6(3.5),price7(4.0),price8(4.5),price9(5.0),price10(5.5); var : V4(0,data1),V5(0,data1); if data4(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v2 = data1(c); if data5(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v3 = data1(c); plot1(v4,"data4"); plot2(v5,"data5"); 2-3 input : price1(1.0),price2(1.5),price3(2.0),price4(2.5),price5(3.0); input : price6(3.5),price7(4.0),price8(4.5),price9(5.0),price10(5.5); var : V6(0,data1),V7(0,data1); if data6(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v2 = data1(c); if data7(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v3 = data1(c); plot1(v6,"data6"); plot2(v7,"data7"); 2-4 input : price1(1.0),price2(1.5),price3(2.0),price4(2.5),price5(3.0); input : price6(3.5),price7(4.0),price8(4.5),price9(5.0),price10(5.5); var : V8(0,data1),V9(0,data1); if data8(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v2 = data1(c); if data9(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v3 = data1(c); plot1(v8,"data8"); plot2(v9,"data9"); 2-5 input : price1(1.0),price2(1.5),price3(2.0),price4(2.5),price5(3.0); input : price6(3.5),price7(4.0),price8(4.5),price9(5.0),price10(5.5); var : V10(0,data1),V11(0,data1); if data10(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v2 = data1(c); if data11(crossup(h,price1) or CrossDown(L,price1) or crossup(h,price2) or CrossDown(L,price2) or crossup(h,price3) or CrossDown(L,price3) or crossup(h,price4) or CrossDown(L,price4) or crossup(h,price5) or CrossDown(L,price5) or crossup(h,price6) or CrossDown(L,price6) or crossup(h,price7) or CrossDown(L,price7) or crossup(h,price8) or CrossDown(L,price8) or crossup(h,price9) or CrossDown(L,price9) or crossup(h,price10) or CrossDown(L,price10)) Then v3 = data1(c); plot1(v10,"data10"); plot2(v11,"data11");
프로필 이미지
qha71
2020-01-02
320
글번호 134780
시스템
답변완료

또하나 문의 드립니다.

그냥 일반 거래량 이동평균선 수식입니다. Input : Period1(10), Period2(20), Period2(60) ; plot1(V,"거래량"); Plot2(ma(V,Period1), "거래량이평1"); Plot3(ma(V,Period2), "거래량이평2"); Plot4(ma(V,Period3), "거래량이평3"); 여기에서 변화를 주고 싶어서요... 여기서 20일선을 상승시에는 빨강색... 하락시에는 파란색... 이렇게 구현하고 싶고요... 또한 단순.지수,가중,기하,삼각 이런게 있는데... 기하로 표시를 하고 싶습니다. 도움좀 부탁드립니다.
프로필 이미지
로꼬로꼬
2020-01-01
310
글번호 134779
지표
답변완료

문의 드립니다.

기본 그냥 바이너리 웨이브 수식입니다. Input : maPeriod(20), ROCPeriod(12), stoPeriod1(5), stoPeriod2(3), sPeriod(12), IPeriod(26),sigPeriod(9); var : BinaryWave(0),BWMACD(0),BWMACDsig(0); BinaryWave = BW(maPeriod,ROCPeriod,stoPeriod1,stoPeriod2); BWMACD = ema(BinaryWave,sPeriod)-ema(BinaryWave,IPeriod); BWMACDsig = ema(BWMACD,sigPeriod); Plot1(BWMACD,"BW MACD"); Plot2(BWMACDsig,"BW MACD_Sig"); PlotBaseLine1(0, "기준선0"); 여기에 시그널선이 상승중일때는 빨강색.. 시그널선이 하락중일때는 파란색.. 이렇게 만들고 싶습니다... 도움좀 요청드립니다.
프로필 이미지
로꼬로꼬
2020-01-01
327
글번호 134778
지표
답변완료

이조건으로 실제로 손안대고 시스템매매가 가능한가요 ?

A라는 조건을 만족하면 그 조건을 만족 시킨 봉의 종가보다 5틱 아래로 유리하게 매수주문 매수체결이 5분내로 안되면 주문취소 매수 체결이 5분내로 되었다면 5틱 손절 10틱 익절 청산이 되지 않았다면 신규주문신호무시. 매도도 똑같이 B라는 조건을 만족하면 그 조건을 만족 시킨 봉의 종가보다 5틱 위로 유리하게 매도주문 매도체결이 5분내로 안되면 주문취소 매도 체결이 5분내로 되었다면 5틱 손절 10틱 익절 청산이 되지 않았다면 신규주문신호무시. 추가질문은 이런식으로 손절,익절 주문은 스탑로스 형태로 나가게 되나요 ? 아니면 시장가주문 인가요 아니면 1틱 위 또는 아래로 바로체결되도록만드는건가요?
프로필 이미지
슼티프
2019-12-31
323
글번호 134777
시스템
답변완료

문의 드립니다.

이평선 5 20 60 120 정배열에서 macd 5 20 5 0선을 위에서 아래로 닿거나 돌파 할 때 매수 진입 손절 50틱 익절50틱 이평선 5 20 60 120 역배열에서 macd 5 20 5 0선을 아래에서 위로 닿거나 돌파 할 때 매도 진입 손절 50틱 익절50틱 부탁드립니다.
프로필 이미지
선물대장
2019-12-31
275
글번호 134776
시스템
답변완료

시스템 문의

볼린저밴드 관련한 시스템 문의입니다. 볼밴(20/2)와 볼밴(10/2)에서 볼밴(10/2)의 상단선이 볼밴(20/2)의 상단선을 벗어나고 볼밴볼밴(10/2)의 하단선이 볼밴(20/2)의 하단선을 동시에 벗어날때 <1>캔들이 볼밴하단선 근처(또는 bb중간선 아래)에 있으면 매도진입, 캔들이 볼밴 상단선 근처(bb중간선 위)에 있으면 매수진입을 수식으로 부탁드립니다. <2>매수진입시 10/2 상단선이 20/2 상단선을 데드크로스(터치 포함)할때 매수청산 매도진입시 10/2 하단선이 10/2 하단선을 골드크로스(터치 포함) 할때 매도청산을 수식으로 부탁드립니다 <3> 위 <1>과 <2>의 조건 그대로 5분봉과 10분봉에서 동시에 조건충족시 매수진입, 매도진입, 매수청산, 매도청산 부탁드립니다. <4>위 <1>과 <2>의 조건 그대로 5분봉 또는 10분봉에서 어느 하나라도 조건충족시 매수진입, 매도진입, 매수청산, 매도청산 부탁드립니다.
프로필 이미지
이대표
2020-01-01
322
글번호 134775
시스템

견유학자 님에 의해서 삭제되었습니다.

프로필 이미지
견유학자
2019-12-31
4
글번호 134774
지표
답변완료

수식 부탁드립니다.

어제의 트루레인지 값이 최근 n거래일 동안의 가장 작은 값일 경우 어제의 고가를 돌파하면 매수하거나 어제의 저가를 돌파하면 매도하는 수식을 만들어주세요 혼자서 해보려고 했는데 잘 안되네요
프로필 이미지
야부
2019-12-31
305
글번호 134773
시스템