커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4582
글번호 230811
답변완료
질문이 있어요.
1,2,3 이라는 숫자를 단일 변수에 입력하고
매봉 완성시에도 이전값으로 123을 참조 하고 싶습니다. 쉽게 봉완성시마다 3 2 1을 현재값3
이전값 2 이이전값 1로써 불러 들이고 싶습니다.
그래서 저는
if dayindex=0 then var1=1;
if dayindex=1 then var1=2;
if dayindex=2 then var1=4;
이렇게 작성해 주었습니다.
dayindex = 2 이 완료된 시점에 message로 찍어보면 var1 값은 4, var1[1] 값은 2,var1[2] 값은1 로 나옵니다.(이후 새로운 봉이 완성 되어도 var1 값은 4, var1[1] 값은 2,var1[2] 값은1 로 나오게 하려고 합니다만 안되네요)
저는 이후 시점인 dayindex 4나 5든 var1=4, var1[1]=2, var1[2]=1으로 고정 될줄 알았는데
dayindex 4 시점엔 var1=4, var1[1]=4, var1[2]=2
dayindex 5 시점엔 var1=4, var1[1]=4, var1[2]=4 으로 밀려 버리더군요.
저는 이전값을 참조해야 하는 상황이고 봉이 새로 완료 되어도 밀리지 않고 var1=4, var1[1]=2, var1[2]=1으로 이전값 포함 불러와야 하는데요. .
이럴 경우 어떻게 해야 하나요? 매봉 완선시마다 for 문으로 반복하면 되나 싶기도 하고요
방법 좀 부탁드립니다
2016-07-13
148
글번호 100010
답변완료
문의
그림처름 파라볼릭 상단과 앞전의 상단, 파라볼릭 하단과 앞전의 하단을 채울수 있는수식 부탁드릴게요
2016-07-13
202
글번호 100009
답변완료
문의드립니다.
rsi 지표가 60 ~ 100 이면
a.wav 가 음향, 참고로 a.wav b.wav 는 10분짜리 노래 입니다.
음향이 끝나도 조건이 만족 되면 계속 음향
단 a.wav 가 실행되다가 rsi 지표가 60 이하로 떨어지면 즉시 스톱
rsi 지표가 0~40 이면
b.wav 가 음향
단 b.wav 가 실행되다가 rsi 지표가 40 이상으로 올라가면 즉시 스톱
2016-07-13
149
글번호 100008
답변완료
문의드립니다.
안녕하세요
해선에서 매시간 29분에서 30분까지와
59분에서 00분까지 1분간 동안 소리가 나게하는
수식 부탁드립니다.
감사합니다.
2016-07-13
147
글번호 100007
곽민수 님에 의해서 삭제되었습니다.
2016-07-12
0
글번호 100006
답변완료
감사합니다 잘쓰고있습니다.
감사합니다 잘쓰고있습니다.
기존 질문에서 한가지 조건만 더 추가하고 싶은데요
아래는 기존 조건+추가조건 입니다.
아래내용대로 수식 부탁드리겠습니다.
[상승신호]
스토케스틱 (12,5,5)(입력변수)
1.가장 최근 골든 크로스에서 데드크로스 사이의 k선의 최고점이
이전 골든 크로스에서 데드크로스 사이의 K선의 최고점보다 높을 것
2. 이때 가장 최근 골든 크로스에서 데드크로스 사이의 k선의 최고점이 Sto 60 보다 높지않을것.
1조건과 2조건 모두 동시에 만족하는
즉, 스토케스틱 sto60 보다 높지 않은 쌍봉이 나왔을때 화살표 상승신호가 나오게 하려합니다.
[하락신호]
스토케스틱 (12,5,5)(입력변수)
1.가장 최근 데드 크로스에서 골든크로스 사이의 k선의 최저점이
이전 데드 크로스에서 골든크로스 사이의 K선의 최저점보다 낮을 것.
2. 이때 가장 최근 데드 크로스에서 골든크로스 사이의 k선의 최저점이 sto 40 보다 낮지않을것.
1조건과 2조건 모두 동시에 만족하는
즉, 스토케스틱 sto40 보다 낮지 않은 쌍바닥이 나왔을때 화살표 하락신호가 나오게 하려합니다.
부탁드립니다.
2016-07-12
161
글번호 100005
답변완료
감사합니다 잘쓰고있습니다.
감사합니다 잘쓰고있습니다.
기존 질문에서 한가지 조건만 더 추가하고 싶은데요
아래는 기존 조건+추가조건 입니다.
아래내용대로 수식 부탁드리겠습니다.
[상승신호]
스토케스틱 (12,5,5)(입력변수)
1.가장 최근 골든 크로스에서 데드크로스 사이의 k선의 최고점이
이전 골든 크로스에서 데드크로스 사이의 K선의 최고점보다 높을 것
2. 이때 가장 최근 골든 크로스에서 데드크로스 사이의 k선의 최고점이 Sto 60 보다 높지않을것.
1조건과 2조건 모두 동시에 만족하는
즉, 스토케스틱 sto60 보다 높지 않은 쌍봉이 나왔을때 화살표 상승신호가 나오게 하려합니다.
[하락신호]
스토케스틱 (12,5,5)(입력변수)
1.가장 최근 데드 크로스에서 골든크로스 사이의 k선의 최저점이
이전 데드 크로스에서 골든크로스 사이의 K선의 최저점보다 낮을 것.
2. 이때 가장 최근 데드 크로스에서 골든크로스 사이의 k선의 최저점이 sto 40 보다 낮지않을것.
1조건과 2조건 모두 동시에 만족하는
즉, 스토케스틱 sto40 보다 낮지 않은 쌍바닥이 나왔을때 화살표 하락신호가 나오게 하려합니다.
부탁드립니다.
2016-07-12
143
글번호 100004
답변완료
시스템 수식 관련하여 문의드립니다.
사용하는 수식이 input : 날짜 (20160708);
이렇게 진입날짜를 매 진입할때마다 수정을 해줘야 합니다.
혹시 시스템 수식을 적용하는 시점 이후부터 시그널을 발생시킬수 있는 수식은 없을까요??
2016-07-12
142
글번호 100003
답변완료
수식 문의드립니다.
안녕하세요.
앞에서 아래 질문에 대한 답변이 빠진것 같아 재문의 드립니다.
1. 강제 청산 조건에서
현재 20일 이평 만날 경우, 강제 청산으로 되어 있는데,
진입 가격대비 15틱 이상 멀어질 경우 강제청산 조건을 추가하여,
두 가지 조건중, 조건을 먼저 만족하는 경우 강제 청산을 하는 로직을 추가하고 싶습니다.
감사합니다.
=======================================================================================1
input : P1(5),P2(20);
var : D1(0),MM(0),mav(0);
MM = stime%100;
D1 = C/ma(C,P1);
mav = ma(C,p2);
#이격이 99.5이하인 시점에 매수진입
if CrossDown(d1,99.5) and ((MM >= 0 and MM < 25) or (MM >= 30 and MM < 55)) Then
buy("b",OnClose,def,1);
#이격이 100.5이상인 시점에 매도진입
if crossup(d1,100.50) and ((MM >= 0 and MM < 25) or (MM >= 30 and MM < 55)) Then
sell("s",OnClose,def,1);
#매수진입후
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then
var1 = H;
if H > var1 Then
var1 = H;
#진입이 1번일경우
if MaxEntries == 1 Then{
#15틱 하락하면 1계약 추가매수진입
buy("bb",atlimit,EntryPrice-PriceScale*15,1);
#진입가+10틱에 청산
ExitLong("bp1",Atlimit,EntryPrice+PriceScale*10);
#4틱이상 상승후 진입가+2틱에 도달하면 매수청산
if var1 >= EntryPrice+PriceScale*4 Then
exitlong("bx1",AtStop,EntryPrice+PriceScale*2);
}
#진입이 2번일 경우
if MaxEntries == 2 Then{
#청산이 아직 발생하지 않은 경우 평단가+4틱 수익이면 1계약청
if CurrentContracts == MaxContracts Then
ExitLong("bp21",Atlimit,avgEntryPrice+PriceScale*4,"",1,1);
#일부청산이 된 경우
if CurrentContracts < MaxContracts Then
#평단가 +10틱이상이면 나머지 청산
ExitLong("bp22",Atlimit,AvgEntryPrice+PriceScale*10);
#평단가 +4틱이상 상승후 하락해서 평단가+4틱에 도달하면 나머지 청산
if var1 > AvgEntryPrice+PriceScale*4 Then
exitlong("bx2",AtStop,EntryPrice+PriceScale*4);
}
if MaxEntries == 2 then{
if H < mav Then
exitlong("bx21",AtLimit,mav);
if L > mav Then
exitlong("bx22",AtStop,mav);
}
}
#매도진입후
if MarketPosition == -1 Then{
if CurrentContracts > CurrentContracts[1] Then
var2 = L;
if L < var2 Then
var2 = L;
#진입이 1번일경우
if MaxEntries == 1 Then{
#15틱 상승하면 1계약 추가매도진입
sell("ss",atlimit,EntryPrice+PriceScale*15,1);
#진입가-10틱에 청산
ExitShort("sp1",Atlimit,EntryPrice-PriceScale*10);
#4틱 하락 후 진입가-2틱에 도달하면 매도청산
if var2 <= EntryPrice-PriceScale*4 Then
ExitShort("sx1",AtStop,EntryPrice-PriceScale*2);
}
#진입이 2번일 경우
if MaxEntries == 2 Then{
if CurrentContracts == MaxContracts Then
ExitShort("sp21",Atlimit,avgEntryPrice-PriceScale*4);
if CurrentContracts < MaxContracts Then
ExitShort("sp22",Atlimit,AvgEntryPrice-PriceScale*10);
if var2 < AvgEntryPrice-PriceScale*4 Then
ExitShort("sx2",AtStop,EntryPrice-PriceScale*4);
}
if MaxEntries == 2 then{
if L > mav Then
ExitShort("sx21",AtLimit,mav);
if H < mav Then
ExitShort("sx22",AtStop,mav);
}
}
2016-07-12
135
글번호 100001