커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

안녕하세요 수식 문의 드립니다.

1. 종목 : 오일 3분봉 2. 거래시간 : 오후 5시정각 부터 새벽 1시까지 3. 내용 : 첨부파일에서 보시듯이 - 5일선과 20일선 두개의 이평선을 씁니다. - 첫번째 검은색 동그라미 5일선이 20일선을 넘는 골든크로스가 나올때 골든크로스가 나온 캔들 바로 다음캔들의 시가로 매수진입 - 두번째 검은색 동그라미 5일선이 20일선 밑에 있는 데드크로스가 나올때 데드크로스가 나온 캔들 바로 다음캔들의 시가로 매도 진입 4. 익절과 손절 / 스위칭 - 익절은 일단 자동으로 50틱 / 손절은 30틱인데, - 예를 들어서 골든크로스나 나와서 매수를 들어갔는데, 자동익절과 손절이 나오지 않은 상황에서 다시 데드크로스가 나와서 매도를 들어갈때 매도 포지션으로 스위칭을 하고 싶습니다. 스위칭을 했을때도 익절 / 손절은 50 / 30입니다. 4번이 구현될수있는지 궁금하고 된다면 수식 부탁드립니다. 항상 감사드립니다. 수고하세요.
프로필 이미지
장사장
2022-02-20
1517
글번호 156480
사용자 함수
답변완료

수식문의드립니다

안녕하세요~ 현재 사용중인 수식에서 시스템이 실행된 시점부터 이 시스템 내에서 수익, 손실을 모두 합쳐 시스템의 총 손익이 제가 설정한 목표수익 이상이면 거래종료시키고 싶습니다 예를들어 목표수익이 50만원인 상황에서 시스템이 -20, -20, -20, +120 수익으로 진입청산 되었다면 4번째 거래 청산시 총 손익이 +60으로 50만원을 넘었을 때 거래종료시키고자 합니다 총손익을 계산해주는 수식은 따로 없는것 같고 거래가 끝나 청산되었을때의 진입, 청산의 틱수를 통해 계산해야할것 같은데 피라미딩까지 되어있다보니 어떻게 계산해야할지 막막하네요 아래 시스템에서 어떻게 구현해야할지 가능하다면 가르쳐주시면 감사하겠습니다! 감사합니다 ----------------- input : TT(25400), TD(20220219), MDD(200000), goalBalance(500000) ; var : HB(14064.75), LB(13939), Hx(20000), Lx(1); var : netBalance(0), e60(0), Hcount(0), Lcount(0),B(0),S(0),cnt(0),T1(0), Hstate(true), Lstate(true), N(0), unitP(0), exitC(0), rHB(0), rLB(0); => 목표수익을 goalbalance, 총손익을 netbalance라 정의 N = Highest(ATr(14), 100); unitP = floor(MDD/(N*5*4*600)); exitC = (2-(MaxEntries-1)/2)*N; e60 = Ema(C,60); netbalance = ???? if netbalance >= goalbalance then { Hstate = false; Lstate = false; } => netbalance를 계산해 goalbalance 이상이 되면, Hstate, Lstate를 false로 바꿔 거래 정지 if Condition1 == False and sDate >= TD and sTime >= TT Then { Condition1 = true; Hcount = 0; Lcount = 0; T1 = TotalTrades; } if Condition1 == true Then { B = 0; S = 0; if TotalTrades-T1 > 0 Then { For cnt = 1 to TotalTrades-T1 { if MarketPosition(cnt) == 1 Then B = B+1; if MarketPosition(cnt) == -1 Then S = S+1; } } Hcount = B + IFf(MarketPosition == 1,1,0); Lcount = S + IFf(MarketPosition == -1,1,0); if B>0 && B == Hcount then HB = rHB; if S>0 && S == Lcount then LB = rLB; if MarketPosition <= 0 and Hstate == true then { Buy("b1",AtStop,HB,unitP); Buy("b2",AtStop,HB+0.5*N,unitP); Buy("b3",AtStop,HB+N,unitP); Buy("b4",AtStop,HB+1.5*N,unitP); } if MarketPosition >= 0 and Lstate == true then { Sell("s1",AtStop,LB,unitP); Sell("s2",AtStop,LB-0.5*N,unitP); Sell("s3",AtStop,LB-N,unitP); Sell("s4",AtStop,LB-1.5*N,unitP); } if marketposition ==1 Then { rHB = Highest(H, BarsSinceEntry+1) ; if rHB < HB+0.5*N Then Buy("b2.",AtStop,HB+0.5*N,unitP); if rHB < HB+N Then Buy("b3.",AtStop,HB+N,unitP); if rHB < HB+1.5*N Then Buy("b4.",AtStop,HB+1.5*N,unitP); if e60 < HB+2*N Then Exitlong("exitB1", atstop, HB-exitC); if e60 >= HB+2*N and CrossDown(close, e60) Then { ExitLong("exitB2") ; Hstate = false ; } Exitlong("exitB3", AtLimit, Hx); } if marketposition == -1 Then { rLB = Lowest(L, BarsSinceEntry+1); if rLB > LB-0.5*N Then Sell("s2.",AtStop,LB-0.5*N,unitP); if rLB > LB-N Then Sell("s3.",AtStop,LB-N,unitP); if rLB > LB-1.5*N Then Sell("s4.",AtStop,LB-1.5*N,unitP); if e60 > LB-2*N Then ExitShort("exitS1", atstop, LB+exitC); if e60 <= LB-2*N and CrossUp(close, e60) Then { ExitShort("exitS2"); Lstate = false ; } exitshort("exitS3", AtLimit, Lx); } if Hcount >= 3 Then Hstate = False; if Lcount >= 3 Then Lstate = False; if H >= Hx then Hstate = false; if L <= Lx then Lstate = false; }
프로필 이미지
jshwang2
2022-02-20
1390
글번호 156479
시스템
답변완료

수정 부탁드립니다

input : pt(2.5); var : cnt(0),TL(0); If Index == 1 Then { For cnt = 1 to 300 { TL = TL_New(sDate[1],sTime[1],2.5*cnt,sDate,sTime,2.5*cnt); TL_SetExtRight(TL,true); } } 선물 챠트에 2.5포인트 단위로 표시되는 등가선인데 선이 좀 굵게 표시할수 있게 수정 부탁드립니다. 매번 도와주셔서 감사합니다.
프로필 이미지
중방
2022-02-20
1275
글번호 156478
지표

아트정 님에 의해서 삭제되었습니다.

프로필 이미지
아트정
2022-02-20
23
글번호 156477
시스템
답변완료

수정부탁드립니다========================

식을 간단하게 줄일수있나요? 부탇드립니다 Input : 돌파소리(0); var : pv(0),r1(0),s1(0),r11(0),s11(0),r31(0),s31(0),r41(0),s41(0),r51(0),s51(0),r61(0),s61(0); var : r71(0),s71(0),r81(0),s81(0),r91(0),s91(0),r101(0),s101(0); var1 = Floor(opend(0)/2.0); var2 = var1*2.0; var3 = opend(0)-var2; var4 = highest(C,dayindex+1); var5 = lowest(C,dayindex+1); if var3 >= 1.0 Then pv = var2+2.0; Else pv = var2; r1 = pv+1.0; s1 = pv-1.0; r11 = pv+2.0; s11 = pv-2.0; r31 = pv+3.0; s31 = pv-3.0; r41 = pv+4.0; s41 = pv-4.0; r51 = pv+5.0; s51 = pv-5.0; r61 = pv+6.0; s61 = pv-6.0; r71 = pv+7.0; s71 = pv-7.0; r81 = pv+8.0; s81 = pv-8.0; r91 = pv+9.0; s91 = pv-9.0; r101 = pv+10.0; s101 = pv-10.0; if DayHigh >= pv and pv >= DayLow Then plot1(pv,"시초가",WHITE); Else NoPlot(1); if DayHigh >= r1 and r1 >= DayLow Then plot2(r1,"라인",WHITE); Else NoPlot(2); if DayHigh >= s1 and s1 >= DayLow Then plot3(s1,"라인",WHITE); Else NoPlot(3); if DayHigh >= r11 and r11 >= DayLow Then plot4(r11,"라인",WHITE); Else NoPlot(4); if DayHigh >= s11 and s11 >= DayLow Then plot5(s11,"라인",WHITE); Else NoPlot(5); if DayHigh >= r31 and r31 >= DayLow Then plot6(r31,"라인",WHITE); Else NoPlot(6); if DayHigh >= s31 and s31 >= DayLow Then plot7(s31,"라인",WHITE); Else NoPlot(7); if DayHigh >= r41 and r41 >= DayLow Then plot8(r41,"라인",WHITE); Else NoPlot(8); if DayHigh >= s41 and s41 >= DayLow Then plot9(s41,"라인",WHITE); Else NoPlot(9); if DayHigh >= r51 and r51 >= DayLow Then plot10(r51,"라인",WHITE); Else NoPlot(10); if DayHigh >= s51 and s51 >= DayLow Then plot11(s51,"라인",WHITE); Else NoPlot(11); if DayHigh >= r61 and r61 >= DayLow Then plot12(r61,"라인",WHITE); Else NoPlot(12); if DayHigh >= s61 and s61 >= DayLow Then plot13(s61,"라인",WHITE); Else NoPlot(13); if DayHigh >= r71 and r71 >= DayLow Then plot14(r71,"라인",WHITE); Else NoPlot(14); if DayHigh >= s71 and s71 >= DayLow Then plot15(s71,"라인",WHITE); Else NoPlot(15); if DayHigh >= r81 and r81 >= DayLow Then plot16(r81,"라인",WHITE); Else NoPlot(16); if DayHigh >= s81 and s81 >= DayLow Then plot17(s81,"라인",WHITE); Else NoPlot(17); if DayHigh >= r91 and r91 >= DayLow Then plot18(r91,"라인",WHITE); Else NoPlot(18); if DayHigh >= s91 and s91 >= DayLow Then plot19(s91); Else NoPlot(19); if DayHigh >= r101 and r101 >= DayLow Then plot20(r101,"라인",WHITE); Else NoPlot(20); if DayHigh >= s101 and s101 >= DayLow Then plot21(s101,"라인",WHITE); Else NoPlot(21); if pv > pv[1] then { plot34(pv, "상향돌파"); if 돌파소리 == 1 then { PlaySound("C:₩Users₩Windows 10₩Desktop₩sound₩상30초.wav"); } } if pv < pv[1] then { plot35(pv, "하향돌파"); if 돌파소리 == 1 then { PlaySound("C:₩Users₩Windows 10₩Desktop₩sound₩하20초.wav"); } } // PLOT64(diver_tema,"상상승승"); // if 상하소리 == 1 then { // PlaySound("C:₩Users₩Windows 10₩Desktop₩sound₩상30초.wav"); // }
프로필 이미지
leekss1
2022-02-20
914
글번호 156476
지표

새벽에 님에 의해서 삭제되었습니다.

프로필 이미지
새벽에
2022-02-20
0
글번호 156475
시스템

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

프로필 이미지
2wnwn
2022-02-19
18
글번호 156473
시스템
답변완료

수식작성 부탁드립니다

안녕하세요 ma(c,5)을 기준으로 highest(c,5)를 그래프로 만들면 오른쪽으로 5일간 최대값으로 그려지는데요 제가 만들고픈 그래프는 오늘을 기준으로 오늘 최대값이 왼쪽으로, 즉 4일 거래일 전부터 오늘의 최대값이 그려지도록 수식을 작성하고 싶습니다. 꼭 알려주세요
프로필 이미지
므니엘
2022-02-19
934
글번호 156472
지표
답변완료

수고 하십니다 지표식 부탁드립니다.

n일중에서 고가에서 저가를 뺀값이 가장 큰값을 찾아내고 이것을 진폭이라 하겠습니다. 찾아낸 캔들에 고가에 진폭을 더해서 표시하고 저가에 진폭을 빼서 현재 캔들에 표시 할수 있을까요? 여기서 현재 캔들이 아니라 진폭이 가장 큰캔들에 고가 저가에서 진폭을 더하거나 빼서 현재 캔들에 표시 하는 겁니다. 그리고 이번에는 n일중 고가에서 저가를 뺀 진폭이 가장 적은 캔들을 찾아내고 찾아낸 캔들에 고가에 진폭을 더하고 저가에 진폭을 빼서 현재 캔들에 표시 하고 싶습니다. 미리 감사드립니다.
프로필 이미지
superman
2022-02-19
1012
글번호 156471
지표