커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1501
글번호 230811
답변완료
함수요청
안녕하세요?
아래 전략에 대해 스크립트 작성 부탁드립니다.
캔들상 2개 연속 고가 < 가격 BOX 하한선 이면 익봉 시가에 매도 진입
캔들상 2개 연속 저가 > 가격 BOX 상한선 이면 익봉 시가에 매수 진입
직전 봉 고가 < 가격 BOX 하한선 and 현재 봉 저가 > 가격 BOX 하한선 이면 익봉 시가에 매수 진입
직전 봉 고가 < 가격 BOX 상한선 and 현재 봉 저가 > 가격 BOX 상한선 이면 익봉 시가에 매도 진입
2023-10-19
690
글번호 173213
답변완료
수식 부탁드립니다.
안녕하세요
도움좀 부탁드립니다.
당일 장시작 기준으로 부터
20선가격이 최고값 까지 빨간색 최고값에서 값이 하락하면 파란색으로
하락중 20선가격이 다시 상승하더라도 전에 20선 최고값을 돌파하지
못하면 계속 파란색 으로 최고값을 돌파 하면 다시 빨간색으로 부탁드립니다.
색이 바뀌는 구간에 TL로 가로선표시까지 부탁드리겠습니다.
감사드립니다
2023-10-19
816
글번호 173212
답변완료
문의
해선에서 전주의 주봉의 고점 저점 전종과 요번주의 고점과 저점이 나오도록 부탁드립니다
2023-10-19
751
글번호 173211
답변완료
당일 최저가 시간
당일 최저가 시간을 통계을 내보고 싶은데 어떻게 하면 돼나요
2023-10-19
764
글번호 173209
답변완료
문의드립니다
input : P(5);
input : 익절틱수(40),손절틱수(40);
input : StartTime(130000),EndTime(060000);
var : Tcond(False);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
var1 = ma(C,P);
if Tcond == true Then
{
if CrossUp(var1,var1[26]) Then
Buy();
if CrossDown(var1,var1[26]) Then
Sell();
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
수고 많으십니다
지난번 만들어주신 수식인데 너무 감사드립니다
추가로 부탁 드릴게 있습니다
문의드릴 내용은
처음 1계약 진입 했을 때 손실이면 다음은 2계약 진입
2연속 손실이면 다음은 4계약 진입
3연속 손실이면 다음은 8계약 진입
4연속 손실이면 다시 처음으로 1계약 부터 시작
이런 수식을 추가로 부탁드립니다
감사합니다
2023-10-19
881
글번호 173207
답변완료
문의 드립니다
input : StartTime(110000),EndTime(60000);
input : 익절틱수(0),손절틱수(40);
var : Tcond(False),entry(0);
Variables: Mom(0);
Var : N1(0),dayPl(0),당일수익(400),당일손실(100),Xcond(false);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
}
if Tcond == true Then
{
if L ==lowest(L,2) and highest(H,2) >= lowest(L,2)+PriceScale*1 Then
{
Buy("b",AtStop,(highest(H,2)+lowest(L,2))/2);
}
if MarketPosition == 1 and BarsSinceEntry == 8 Then
ExitShort();
}
if H == highest(H,2) and lowest(L,2) <= highest(H,2)+PriceScale*1 Then
{
Sell("s",AtStop,(lowest(L,2)+highest(H,2))/2);
}
if MarketPosition == -1 and BarsSinceEntry == 8 Then
ExitLong();
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
그래픽은 위 수식어의 자료입니다.
아래 2가지 수식어로 수정이 가능한지 문의 드립니다.
1.
매수 : 이전 캔들 하단꼬리 지점에서 매수후 청산은 이후 5개 캔들 종가
매도 : 이전 캔들 상단꼬리 고점에서 매도후 청산은 이후 5개 캔들 종가
2.
매수 : 이전 캔들 몸통 저점과 하단꼬리 사이 아래 30% 지점에서 매수
청산은 이후 5개 캔들 종가
매도 : 이전 캔들 몸통 고점과 상단꼬리 사이 위 30% 지점에서 매도
청산은 이후 5개 캔들 종가
-----------------------
3.
매매시간 (해외선물 10:00~ 익일 06:00)
익절 100 손절 100
진입 청산 3회
매수 : 연결된 10개 캔들의 각각 저점들이 33틱안 일때 10번 캔들에
앞 5개의 캔들 저점 평균값에서 매수
청산 : 매수후 20 캔들이 매수 저점보다 높을때 청산
4.
매매시간 (해외선물 10:00~ 익일 06:00)
익절 100 손절 100
진입 청산 3회
매도 : 연결된 10개 캔들의 각각 고점들이 33틱안 일때 10번 캔들에
앞 5개의 캔들 고점 평균값에서 매도
청산 : 매도후 20개 캔들이 매도 고점보다 낮을때 청산
2023-10-19
997
글번호 173206
답변완료
안녕하세요. 수식 변환 부탁드립니다.
매번 비슷한 걸 문의 드리는거 같아 죄송하고 항상 감사합니다.
3가지 모두 지표 문의 입니다.
1.
S=sum(1);
TT=S%기간1;
조건=TT==0;
HH=Highestsince(1, 조건, H);
Hc=valuewhen(1,조건,HH(1));
LL=Lowestsince(1,조건,L);
Lc=valuewhen(1,조건,LL(1));
Cc=valuewhen(1,조건,C(1));
(Hc+Lc+Cc)/3
기간1 5
2.
Ha = wma(H, 이평기간);
Ca = wma(C, 이평기간);
La = wma(L, 이평기간);
(Ha(1)+La(1)+Ca(1))/3+Ha(1)-La(1))
이평기간 120
3. 하단지표
Ha=ma(H, 기간, 종류);
Ca=ma(C, 기간, 종류);
La=ma(L, 기간, 종류);
M=(Ha(1)+La(1)+Ca(1))/3*2-La(1);
Mnt_20=M/avg(M(1),이전기간)*100 // 본선
Mnt_20S=eavg(Mnt_20,signal) // 시그널
항상 고맙고 감사드립니다.
추가질문. 색 채우기를 할 때 두가지 색상이 겹쳐지면 겹쳐지는 부분은 다른 색으로 변하잖아요? 예를 들어 하늘색 위에 노랑색이 겹쳐지면 겹쳐진 부분은 연한 연두색으로 변하더라고요..혹시 변하지 않게 하는 방법이 있을까요?
2023-10-18
1320
글번호 173205
파워 님에 의해서 삭제되었습니다.
2023-10-18
890
글번호 173204
답변완료
문의 드립니다....
이검색식을 고가돌파/유지로 변경 부탁드리며 파워 종목 검색시 최소기간, 기준봉 설정을 어떻게해야 최적화가 되나요 설정에 따라 너무 다릅니다
1번
1. 종목검색
input : N(10);
var : cnt(0);
Array : CC[50](0),VV[50](0);
if Bdate != Bdate[1] Then
{
vv[0] = 0;
For cnt = 49 DownTo 1
{
vv[cnt] = vv[cnt-1];
cc[cnt] = cc[cnt-1];
}
}
if v > vv[0] Then
{
vv[0] = v;
cc[0] = c;
}
if CC[N] > 0 Then
{
var1 = 0;
Var2 = 0;
For cnt = 1 to N
{
if VV[cnt] > var1 Then
var1 = VV[cnt];
Var2 = CC[cnt];
}
if CrossUp(C,Var2) and C > O Then
Find(1);
}
2. 종목검색
input : N(10);
var : cnt(0);
Array : CC[50](0),VV[50](0);
if Bdate != Bdate[1] Then
{
vv[0] = 0;
For cnt = 49 DownTo 1
{
vv[cnt] = vv[cnt-1];
cc[cnt] = cc[cnt-1];
}
}
if v > vv[0] Then
{
vv[0] = v;
cc[0] = c;
}
if CC[N] > 0 Then
{
var1 = 0;
Var2 = 0;
For cnt = 1 to N
{
if VV[cnt] > var1 Then
var1 = VV[cnt];
Var2 = CC[cnt];
}
if C > Var2 and C > O Then
Find(1);
}
------------------------------------------------------------
2번
지표 부탁드립니다
(수식1)
A=Highest(V,기간);
B=Valuewhen(1, V>A(1),(O+C+L+H+C)/5);
B*(1+UP/100)
(수식2)
A=Highest(V,기간);
B=Valuewhen(1, V>A(1),(O+C+L+H+C)/5);
B*(1-DN/100)
-지표조건설정
기간 : 200
UP : 0.5
DN : 0.5
2023-10-19
924
글번호 173203