커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

barssinceexit를 이용한 청산이후 N개 봉 이후에 조건 만족시 진입 식

파라볼릭을 이용한 진입 및 청산식입니다. 첫 진입에 cnt라는 변수에 +1을 해주어 그 다음부터는 barssinceexit(1)로 청산이후의 봉 개수를 세주어 봉개수가 10개 또는 N개의 봉이 지난 이후에 진입을 하려고합니다. 이말은 즉, 파라볼릭에서 하락세일 때 하락세가 10일(일봉기준)이상 지속되고나서 추세가 반전되었을 때 들어가려고 하는 것 입니다. 그런데 이게 작동이 안되어서 BarsSinceExit를 빼고해도 "Buy11"의 첫 진입으로 들어가고, 청산이 일어나고, 그 뒤로는 "Buy22"의 진입식으로 들어가게 하려고하는데 작동하질 않습니다. 첫진입식으로 진입하고 이후에는 청산하고나서 10일뒤 또는 N일 뒤에 진입 할 수 있는 식을 만들려고하는 것입니다. 감사합니다. Input : af(0.02), maxAF(0.2); var : cnt(0); var1 = SAR(af,maxAF); #첫진입 If MarketPosition == 0 and cnt == 0 Then { If var1 < C Then Buy("Buy11",AtMarket); cnt = (cnt + 1); } #첫진입 이후의 진입 If MarketPosition == 0 and BarsSinceExit(1) > 10 and cnt == 1 Then { If var1 < C Then Buy("Buy22",AtMarket); } #청산 If MarketPosition == 1 Then { If var1 > C Then ExitLong("EL",AtMarket); }
프로필 이미지
노르웨이
2017-05-11
173
글번호 109473
시스템
답변완료

지표강조

안녕하세요? 이평선(5)이 상승하다 "하향반전"하면 "파란색"을 화면에 표시하고~~ 이평선(5)이 하락하다 "상승반전"하면 "노란색"을 화면에 표시되게 부탁드립니다. Input : Period1(5), Period2(20), Period3(60), Period4(120), Period5(240), Period6(480) ; var : Sma1(0),Sma2(0),Sma3(0),Sma4(0),Sma5(0), Sma6(0); Sma1 = ma(C,Period1); Sma2 = ma(C,Period2); Sma3 = ma(C,Period3); Sma4 = ma(C,Period4); Sma5 = ma(C,Period5); Sma6 = ma(C,Period6); var1 = Sma1; # 5이평 if var1 > var1[1] Then value1 = 1; if var1 < var1[1] Then value1 = -1; if value1 == 1 Then plot1(var1,"이동평균",RED); else plot1(var1,"이동평균",BLUE); Var2= Sma2; # 20이평 if var2 > Var2[1] Then value1 = 1; if var2 < Var2[1] Then value1 = -1; if value1 == 1 Then plot2(Var2,"이동평균",RED); else plot2(Var2,"이동평균",BLUE); Plot3(Sma3, "이동평균3"); Plot4(Sma4, "이동평균4"); Plot5(Sma5, "이동평균5"); Plot5(Sma5, "이동평균5");
프로필 이미지
추세승리
2017-05-11
240
글번호 109471
강조
답변완료

답변이 없으셔서 다시 올려요.

1. 예스트레이더에서는 "LatestEntryPrice(0)" 함수가 사용가능한데, 제일로 HTS 예스랭귀지 편집기에서는 선언되지 않은 이름이라고 나오네요. 제일로에서 LatestEntryPrice(0) 함수를 이용할 방법이 없을까요? 아니면 다른 함수로 비슷하게 구현할수있는지요...? 2. 혹시 나열해보면 원하는 시스템이 나올까 풀어서 써봤는데요... 신호 타입을 atlimit 으로하면 1단계이상 진입조차 하질않네요... if MarketPosition == 1 Then{ ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*25); ExitLong("bl",AtStop,EntryPrice-PriceScale*300); if MaxEntries == 1 then buy("b2",AtStop,EntryPrice-PriceScale*20,CurrentContracts*2); if MaxEntries == 2 then buy("b3",AtStop,EntryPrice-pricescale*40,CurrentContracts*2); if MaxEntries == 3 then buy("b4",AtStop,EntryPrice-pricescale*80,CurrentContracts*2); if MaxEntries == 4 then buy("b5",AtStop,EntryPrice-pricescale*100,CurrentContracts*2); 원하던 그림은, 첫 매수 이후 20핍 떨어질때마다 단계별로 매수 재진입인데 첨부한 사진처럼 뒤죽박죽으로 들어가지네요... 조언 부탁드립니다... > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 부탁드립니다~ > 안녕하세요 예스스탁입니다. 피라미딩을 모든진입신호 허용으로 설정하고 적용하시면 됩니다. input : P(10),BBP(20),dv(2); var : RSIV(9),BBup(0),BBdn(0); RSIV = RSI(P); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBP,dv); if MarketPosition <= 0 and RSIV < 30 and CrossDown(c,BBdn) Then buy("b",OnClose,def,2); if MarketPosition >= 0 and RSIV > 70 and crossup(c,BBup) Then sell("s",OnClose,def,2); if MarketPosition == 1 Then{ ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*25); ExitLong("bl",AtStop,EntryPrice-PriceScale*300); if MaxEntries < 5 then buy("bb",atlimit,LatestEntryPrice(0)-PriceScale*20,CurrentContracts*2); } if MarketPosition == -1 Then{ ExitShort("sp",atlimit,AvgEntryPrice-PriceScale*25); ExitShort("sl",AtStop,EntryPrice+PriceScale*300); if MaxEntries < 5 then sell("ss",AtLimit,LatestEntryPrice(0)+PriceScale*20,CurrentContracts*2); } 즐거운 하루되세요
프로필 이미지
뚜뚜뚜둥
2017-05-11
175
글번호 109469
시스템
답변완료

이평선이 만나는점의 표시

안녕하세요 저번에 보내주신 수식은 잘받았습니다. 감사합니다. 60분차트의 60일,120일(단순이평) 이평선이 서로 만날때(골든,데드크로스는 중요치않습니다) 다른분봉차트(5,15,30,60분)에서 수평선으로 나타나게 표현하고 싶습니다. 가능하면 이평선의 주기를 변환가능케부탁합니다. 익절이나 추세전환의 포인트를 찾기위함입니다. 부탁드립니다.
프로필 이미지
카카
2017-05-11
194
글번호 109462
지표
답변완료

식수정

안녕하세요 53118에대한수정건 부탁드립니다 적용하였으나 전혀 하고자하는 방법이 아닌거 같습니다 이해가 부족한 부분이 있는거 같아요 간단설명 마디가에서 임의 진입후 10틱 단위에서 1차매수후 상승시 2차 3차 4차 이런식으로 +10틱상승시 마다 각1개씩추가 진입조건 입니다 단1차매수후 상승하지않고 하락시 -10틱에손절 재상승시 +10틱에재진입후상승시+10틱마다진입 4차까지 진입 익절=전체+50틱시 일괄청산 sw2조건삭제 매수식 예)시가에서 양봉이면 마디가 0.10 .20 .30.40.50.0 단위에서 임의진입 예=시가양봉 (30분봉)이면 매수 현재가에서 마디가에진입 -현재가가50,15이면 50.20에 매수진입=1차1계약진입 매수후 50.30에= 2차 추가1계 진입 50.40에 =3차 추가1계진입 50.50에 =4차 추가1계 4차까지만 진입 1차진입후 상승하지 못하고 하락시-10틱에서 손절=50.10가격 재매수조건=손절후 재상승하여 50.10가격에 오면 1차재매수후상승시 2.3.4차까지매수 1.2.3.4.차각마디가에서 진입후 하락시-10틱에서 각1개씩손절 익절 전체+50틱 도달시 일괄청산Inputs : Period(20), Sence(1.5), CC_DN(Yellow); Vars: VLineUp(0), VLineDn(0), HHighest(0), LLowest(0), JustChanged(FALSE), VLine(0), DBN(0),T(0),HH(0),LL(0),H1(0),L1(0),Li(0),Hi(0),ee(0); Array: Highs[35](0), Lows[35](0), RRange[35](0), UpWave[1](FALSE), DnWave[1](FALSE); If STime == 180000 Then DBN = 0; DBN = DBN + 1; Var1 = Period; Var2 = Var1 - 1; Var3 = Var1 - 2; Var5 = Sence; Var6 = H-L; JustChanged = FALSE; if CurrentBar <= Var2 then begin Highs[CurrentBar] = Close; Lows[CurrentBar] = Close; RRange[CurrentBar] = (H-L) /2; end; if CurrentBar == Var1 then begin if Highs[Var2] >= Highs[Var3] then begin UpWave[1] = TRUE; HHighest = Highs[Var2]; VLineUp = HHighest - (Var5 * MA(Var6,Var2)); #Plot1(VLineUp,"VLineUp"); end; if Highs[Var2] < Highs[Var3] then begin DnWave[1] = TRUE; LLowest = Lows[Var2]; VLineDn = LLowest + (Var5 * MA(Var6,Var2)); #Plot2(VLineDn,"VLineDn"); end; end; if CurrentBar > Var1 then begin if DnWave[1] and Close > VLineDn then begin DnWave[1] = FALSE; UpWave[1] = TRUE; JustChanged = TRUE; HHighest = Close; LLowest = 0; end; if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin UpWave[1] = FALSE; DnWave[1] = TRUE; JustChanged = TRUE; LLowest = Close; HHighest = 0; end; if JustChanged == FALSE then begin if Close > HHighest then HHighest = Close; else if Close < LLowest then LLowest = Close; end; VLineUp = HHighest - (Var5 * MA(Var6,Var2)); VLineDn = LLowest + (Var5 * MA(Var6,Var2)); if UpWave[1] then T = 1; else if DnWave[1] then T = -1; end; if T == 1 and T[1] != 1 Then{ H1 = H; HH = H; Hi = 0; if MarketPosition <= 0 and LI >= 10 and LL <= L1-PriceScale*30 then buy("b",OnClose,def,1); } if T == -1 and T[1] != -1 Then{ L1 = L; LL = L; Li = 0; if MarketPosition >= 0 and HI >= 10 and HH >= H1+PriceScale*30 then sell("s",OnClose,def,1); } if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then ee = LatestEntryPrice(0); if CurrentContracts < CurrentContracts[1] Then ee = LatestExitPrice(0); if MaxEntries < 5 then buy("bb",AtStop,LatestEntryPrice(0)+PriceScale*10,1); ExitLong("bl",AtStop,ee-PriceScale*10,"",1,2); ExitLong("bp",AtLimit,ee+PriceScale*50); } if MarketPosition == -1 Then{ if CurrentContracts > CurrentContracts[1] Then ee = LatestEntryPrice(0); if CurrentContracts < CurrentContracts[1] Then ee = LatestExitPrice(0); if MaxEntries < 5 then sell("ss",AtStop,LatestEntryPrice(0)-PriceScale*10,1); ExitShort("sx",AtStop,ee+PriceScale*10,"",1,2); ExitShort("sp",AtLimit,ee-PriceScale*50); } if T == 1 Then{ Hi = Hi+1; if H > HH Then HH = H; } if T == -1 Then{ Li = Li+1; if L < LL Then LL = L; }
프로필 이미지
아트정
2017-05-11
164
글번호 109461
시스템
답변완료

수식

수고가 많으시죠...^^ 수식 문의 드립니다... 이평선 (50, 100) 볼린저밴드 (20. 2) 1 이평선 50일과 100일이 정배열이고 볼린저밴드(20.2)의 저가가 밴드 하한선에 크로스에 매수 2 이평선 50일과 100일이 역배열이고 볼린저밴드(20.2)의 고가가 밴드 상한선에 크로스에 매도 이상입니다.... 수고하세요...
프로필 이미지
우섭
2017-05-11
151
글번호 109457
시스템
답변완료

부탁드립니다.

1)기존의 시스템 매수 매도 조건에서 시가위의 매도신호는 청산 / 시가아래의 매수신호는 청산 으로 조건을 추가하고 싶습니다. 예시) 1. 시가돌파 및 시가위에서 매수신호발생 유지후 매도신호 발생시 청산, 다시 매수신호발생하면 매수이런 식입니다. 매도는 이것과 같은 방식입니다. 2) 위1) 매수 식에서 조건이 만족되면 1/2청산 시가-0.1가격이오면 나머지 청산 위1) 매수 식에서 1/2청산되고 매수신호발생시 1/2다시 매수 위1) 매수 식에서 시가-0.1 올청산 매도도 동일한 방식입니다. 3) 채우기 기능도 부탁드립니다. 5일이평선이 20이평선 골드크로스시 녹색채우기 데드크로스시 분홍색채우기 부탁드립니다.
프로필 이미지
필승0701
2017-05-11
138
글번호 109454
시스템
답변완료

안녕하세요

반갑습니다 볼린져벤드를 시가를 기준으로 작성할수 있게 부탁합니다
프로필 이미지
회원
2017-05-11
140
글번호 109453
지표
답변완료

문의드립니다

15분차트당일고저평균갑피보나치와전일고저피보나치2가지부탁드립니다 그리고y축에수치가나오게텍스트출력부탁드립니다 당일수치는 레드색전일수치는 검정색 으로 나오게해주세요 ~~
프로필 이미지
장군
2017-05-11
156
글번호 109452
지표