커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

죄송합니다 하나만 더 부탁드립니다.

분할매수 처음매수가 b11이랑 b1둘중 하나로 지정되어있는거 같은데 첫매수는 b11으로만 시작하게 하고 싶구요. +로 시작일때는 그날 매수에 전혀 참여하지 않는걸로 하고 싶은데 제대로 되어있는건지 모르겠습니다 ㅠㅠ 지금 상태는 +시작인데도 b1을 매수하고 있거든요. 그리고 평단가 계산할때 시스템트레이딩 매수매도 수수료도 감안해서 계산 가능한가요? ------------------ Input : 투자금액(10000000),Period(20), MultiD(2), N(1),시작일(20190503),시작시간(090000),청산시간(151500); Input : loss(5); var : e(0),x(0),count(0),Tcond(false),BBup(0),BBdn(0); var : HH(0),Bxcond1(false),Bxcond2(false),Bxcond3(false); var : LL(0),Sxcond1(false),Sxcond2(false),Sxcond3(false); Array : VV[5](0),XX[5](0); BBup = BollBandUp(Period,MultiD); BBdn = BollBandDown(Period,MultiD); vv[0] = floor((투자금액*0.1)/NextBarOpen); vv[1] = floor((투자금액*0.2)/NextBarOpen); vv[2] = floor((투자금액*0.3)/NextBarOpen); vv[3] = floor((투자금액*0.4)/NextBarOpen); if sdate >= 시작일 and stime >= 시작시간 Then Tcond = true; if bdate != bdate[1] Then count = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then count = count+1; if Tcond == true then { if (TotalTrades == 0 or MarketPosition == 0 and BarsSinceExit(1) > 2) then { if MarketPosition == 0 and count < N and CrossDown(c,bbdn) and C < DayClose(1) Then { buy("b1",atmarket,def,vv[MaxEntries]); } if MarketPosition == 0 and NextBarSdate != sdate and NextBarOpen <= C Then { buy("b11",atmarket,def,vv[MaxEntries]); } } if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] Then { e = e +1; if e == 1 then XX[e] = CurrentContracts; Else XX[e] = CurrentContracts-CurrentContracts[1]; } #두번째 매수 if MarketPosition == 1 and e == 1 and count < N and CrossDown(c,bbdn) and C < DayClose(1) Then { buy("b2",atmarket,def,vv[MaxEntries]); } #세번재매수 if MarketPosition == 1 and e == 2 and count < N and CrossDown(c,bbdn) and C < DayClose(1) Then { buy("b3",atmarket,def,vv[MaxEntries]); } #네번재매수 if MarketPosition == 1 and e == 3 and count < N and CrossDown(c,bbdn) and C < DayClose(1) Then { buy("b4",atmarket,def,vv[MaxEntries]); } HH = highest(H,BarsSinceEntry); if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "Bx1" Then Bxcond1 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "Bx2" Then Bxcond2 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "Bx3" Then Bxcond3 = true; if Bxcond1 == false and HH >= EntryPrice*1.02 and HH < EntryPrice*1.05 Then ExitLong("Bx1",AtStop,HH-(HH-EntryPrice)*0.1,"",Floor(MaxContracts*(1/5)),1); if Bxcond2 == false and HH >= EntryPrice*1.06 and HH < EntryPrice*1.10 Then ExitLong("Bx2",AtStop,HH-(HH-EntryPrice)*0.1,"",Floor(MaxContracts*(2/5)),1); if Bxcond3 == false and HH >= EntryPrice*1.12 Then ExitLong("Bx3",AtStop,HH-(HH-EntryPrice)*0.1); if (stime >= 청산시간 and stime[1] < 청산시간) and C > AvgEntryPrice then { ExitLong("bx"); } }}
프로필 이미지
바나
2019-05-03
186
글번호 128372
시스템

우리상향 님에 의해서 삭제되었습니다.

프로필 이미지
우리상향
2019-05-03
29
글번호 128365
시스템
답변완료

수고하십니다

수고하십니다... SL=SwingLow(1,L,4,4,9) 라고 할 때 해당봉이 음봉이면 종가에, 양봉이면 시가에 점 표시[크기 조절 가능하게]를 하는 지표식 부탁합니다. 수고하세요..
프로필 이미지
오이도인
2019-05-03
175
글번호 128364
지표
답변완료

지표식 문의

수고하십니다. SL=SwingLow(1,L,3,3,7) 라고 할 때 1.해당 봉의 저점에 동그라미 표시[크기 조절 가능하게] 하는 지표식 부탁합니다. 2.현재시점기준, 전전 SwingLow[SL2] 저점과 이전 SwingLow[SL1]저점을 연결하는 선을 그리는 지표식 부탁합니다. 수고하세요...
프로필 이미지
오이도인
2019-05-03
180
글번호 128363
지표
답변완료

62349관련 재문의..

2개의 조건 만족 관련한 문의를 드려서 답변을 받았습니다. 답변 받은 시스템식이 잘 이해가 안가는데.. 설명좀 부탁드립니다. 질문은 아래와 같았습니다. 첨부된 그림과 같은 신호검색식을 만들고 싶습니다. 2개의 조건이 시간차를 갖고 만족할때 입니다. 1. 볼밴15,2 상단을 돌파한후 시간이 지나서 2. 종가가 15이동평균선을 이탈할때 매수신호가 나오게 하고 싶습니다. 받은 답변은 아래와 같고요.. Input : Period(15), MultiD(2); var : BBmd(0),BBup(0),BBdn(0),t(0); BBmd = ma(C,Period); BBup = BollBandUp(Period,MultiD); BBdn = BollBandDown(Period,MultiD); if crossup(c,bbup) Then t = 2; if crossup(c,bbmd) Then { t = 1; } if CrossDown(c,bbmd) Then { t = -1; if t[1] == 2 and C < O Then find(1); } if CrossDown(c,bbmd) Then t = -2; 한가지 질문을 더 하면... 이 식에서.. if crossup(c,bbup) Then t = 2; 볼밴상단을 돌파할때 t=2로 설정해주는건데.. 지금봉에서 상단을 돌파했을때 t=2를 선언하는데.. 시간이 지나서 볼밴상단에서 다시 내려오게되면.. 그때 t변수는 어떻게 되는건가요? t값은 다른값이 되는건가요?
프로필 이미지
참새사냥꾼
2019-05-03
190
글번호 128362
시스템
답변완료

60840 관련 문의입니다.

친절한 답변에 늘 감사드립니다. 60840 에 써주신 수식대로 해보았는데요, (첨부화일 1.png 를 보아주세요) 1) 종목선택버튼(돋보기모양)을 눌러 A종목의 가격차트를 띄우고, 다시 종목추가버튼(빨간리본 돋보기)를 클릭하여 B종목의 가격차트를 띄우고, 지표적용 항목에서 등락율을 클릭하고, 지표속성에서 A종목을 선택하면, 첨부화일에서 보여지듯이 A종목의 가격차트에 표시되는 등락율값과 지표적용으로 만든 차트의 등락율값이 -0.18로 일치합니다. 마찬가지로 지표적용을 한번 더 하여 다시 등락율을 클릭하고 지표속성에서 B종목을 선택하면, B종목의 가격차트에 표시되는 등락율값과 지표적용으로 만든 차트의 등락율값이 -0.31로 일치합니다. 2) 그런데, 그리고 나서 다시 지표적용 항목에서 등락율합을 클릭하면 두 종목의 등락율을 합한 값을 출력하는 것인데 왜 지표속성에서 적용기본종목으로 어느 한 종목을 선택해야 하는지요? 그리고 두종목의 등락율의 합이니까 (-0.18) + (-0.31) = -0.49가 표시되어야 하는데, 지표속성에서 적용기본종목을 A,B 종목중 어느것을 선택하느냐에 따라 값이 달라질 뿐더러 각각 -0.15 , -0.27로 표시됩니다. 어떻게 해야 실시간 합한 값인 -0.49로 표시되는지요? 3) 실시간 등락율 합의 값인 -0.49로 잘 표시되어 차트가 그려지게 되면, 그 차트에 이평,RSI를 적용하여 그려지게 하려면 각각의 수식을 어떻게 써야 하는지요? (가격차트에 보조지표를 넣듯이, 등락율합의 차트에 보조지표를 구현해보려 한다는 의미입니다.) 4) 자세한 답변 부탁드립니다, 감사합니다.
프로필 이미지
signal
2019-05-03
246
글번호 128361
지표
답변완료

문의드립니다.

안녕하세요. 벌써 5월 이네요. 아래와 같은 조건의 수식 부탁드립니다. 1.조건 매수 : 20일선 우상향 할때 캔들 저점이 내려가서 20일선과의 이격거리가 1틱이하로 근접하거나 또는 저점이 20일선 아래로 돌파하면 그다음 캔들의 종가에 매수진입 이때 매수진입 신호봉의 이전 봉(20일선 근접 또는 돌파봉)에 수직선을 긋고 a.wav 음성파일을 실행시킴. (매도는 반대) 청산및손절 : 10틱 수익시 청산, -10틱에 손절 즐거운 주말 되세요 ^^
프로필 이미지
웹피
2019-05-03
180
글번호 128360
시스템
답변완료

문의

var : HH(0),LL(0); if (sdate != sdate[1] and stime >= 101500) or (sdate == sdate[1] and stime >= 101500) Then { HH = H; LL = L; } if var1 > 0 and var2 > 0 then { if H > HH Then HH = H; if L < LL Then LL = L; if crossup(c,LL+PriceScale*100) Then Text_New(sdate,stime,h,"+100"); if crossup(c,LL+PriceScale*200) Then Text_New(sdate,stime,h,"+200"); if crossup(c,LL+PriceScale*300) Then Text_New(sdate,stime,h,"+300"); if CrossDown(c,HH-PriceScale*100) Then Text_New(sdate,stime,h,"-100"); if CrossDown(c,HH-PriceScale*200) Then Text_New(sdate,stime,h,"-200"); if CrossDown(c,HH-PriceScale*300) Then Text_New(sdate,stime,h,"-300"); 전혀 글자가 안뜹니다,수정부탁드립니다
프로필 이미지
레전드
2019-05-03
178
글번호 128359
지표
답변완료

문의드립니다

if C[1] > O[1] and L > L[1]-PriceScale*1 Then PlotPaintBar(h,l,"강조",MAGENTA); if C[1] < O[1] and h < H[1]+PriceScale* 1 Then PlotPaintBar(h,l,"강조",BLUE); 위수식에서 봉이 안나오는것이 있는데 봉이다나오게 수정할수있으면부탁드립니다~~
프로필 이미지
장군
2019-05-03
177
글번호 128358
강조