커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6722
글번호 230811
답변완료
타주기 지표를 부탁드립니다.
1분차트에서 5분이나 30분의 20,60,120 tsf를 나타내고 싶습니다.
부탁드립니다.
2014-10-07
176
글번호 79160
답변완료
수정부탁드립니다
바쁘신데 죄송합니다.
1. 3개 수식 갭보정으로 수정부탁드립니다.
2. 맨마지막 수식만 매수신호는 거르고, 매도만 진입할수 있게 수식좀 만들어주십시요.
좋은하루 보내시구요.. 감사합니다.
.................................................................
input : 기간(0.5),수치(10);
value1 = 100*( (ma( (C+H+L)/3,20)+2*Std((C+H+L)/3,20))
-(ma((C+H+L)/3,20)-2*Std((C+H+L)/3,20))) / ma((C+H+L)/3,20);
if CrossUp(c,highest(H,수치)[1]) and value1>기간 Then
buy("매수");
if MarketPosition == 1 and crossdown(c,lowest(L, 수치)[1]) Then
exitlong("매수청산");
if Crossdown(c,lowest(L,수치)[1]) and value1>기간 Then
sell();
if CrossUp(c,highest(H,수치)[1]) Then
ExitShort();
..........................................................................
input : short(10),Long(55),Signal(20);
var1 = MACD(short,long);
var2 = WMA(var1,signal);
var3 = iff(var1>var2,var1,var2);
var4 = iff(var1<var2,var1,var2);
plot1(var3,"MACD상승",red,def,2);
plot2(var4,"MACD하락",blue,def,2);
plot3(var2,"시그널",BLACK,def,3);
...............................................................................
input : 기간(0.5),수치(10);
input : short(10),Long(55),Signal(20);
value1 = 100*( (ma( (C+H+L)/3,20)+2*Std((C+H+L)/3,20))
-(ma((C+H+L)/3,20)-2*Std((C+H+L)/3,20))) / ma((C+H+L)/3,20);
var1 = MACD(short,long);
var2 = WMA(var1,signal);
var3 = iff(var1>var2,var1,var2);
var4 = iff(var1<var2,var1,var2);
if var1 > var2 and CrossUp(c,highest(H,수치)[1]) and value1>기간 Then
buy("매수");
if MarketPosition == 1 and crossdown(c,lowest(L, 수치)[1]) Then
exitlong("매수청산");
if var1 < var2 and Crossdown(c,lowest(L,수치)[1]) and value1>기간 Then
sell();
if CrossUp(c,highest(H,수치)[1]) Then
ExitShort();
2014-10-07
154
글번호 79159
답변완료
문의드립니다.
setstoptrailing을 사용하고 있는데
이게 주의사항은 읽었지만 어느정도 효용이 있어서 넣어 놓은 함수 인 줄 알았는데
짧은 거래에는 쥐약이더군요
무조건 과거 검증내역이 익절봉에 최고가에서 setstoptrailing(0,0,pointstop);
이면 제일 앞 숫자 만큼 빠진 가격으로 계산이 되는군요
그렇다면 사실상 함정이고 오히려 사용자를 위험에 빠뜨릴 수 있는데요
다른 방법이라고 풀어서 사용하는 계산식의 경우에도 뾰족한 수는 못되는군요
보완할 다른 방법은 없나요? 함수를 계속 사용하게 놔두는 이유는 뭔가요?
이 함수를 사용할 수 있는 조건이 따로 있나요?
그리고 만약에 atr 추적청산을 사용한다면
if MarketPosition == 1 and C <= highest(high,barsSinceEntry+1)-atr(20)*2 Then
exitlong("매수청산");
if MarketPosition == -1 and C >= Lowest(low,barsSinceEntry+1)+atr(20)*2 Then
exitlong("매도청산");
다음식에서 어느 부분을 조정해야 진입봉에서 2~3틱 수익 후 익절하도록 만들수 있을까요?
최소 수익이요. 자세한 설명 부탁드리겠습니다
감사합니다
setstoptrailing(0.05,0.1,pointstop); 같아 질수 있게 설정 부탁드리겠습니다 1시간 봉 기준입니다.
2014-10-07
166
글번호 79158
외환달러 님에 의해서 삭제되었습니다.
2014-10-07
9
글번호 79157
답변완료
문의
1. 매수.. 매도 진입 후 5개 캔들 이후에 7틱 이상 수익 발생 후 계속 수익이 발생하지 않고 수익이 감소하여 진입가격대비 2틱까지 이익이 줄어들었을때, 반대신호가 발생할 수 있도록 시스템식 부탁드립니다...
2. 현재 해외선물 틱 차트를 사용하고 있습니다. 보조지표를 만드려고 합니다.
현재 틱봉이 생기는 속도(?)를 구하려고 합니다. 이런 보조지표가 있나요?
틱차트에서 현재 1분당 봉이 만들어지는 개수를 구해서 속도를 구하고 싶습니다.
도움 부탁드립니다.
3.시스템 매도 매수 신호 진입 후에.. 연속2개의 양봉이 발생한 횟수, 연속2개 음봉이 발생한 횟수를 구하는 식도 부탁드립니다.
진입한 시점부터 횟수를 계산하고.. 20개 봉이 넘어가면..
현재봉에서 20개봉의 횟수만 비교해서 양봉 음봉의 비율을 비교해서 ...
시간이 지나 매수일때 음봉의 비율이 양봉의 비율을 넘어서면 청산 후 매도진입..
매도일때 양봉의 비율이 음봉 비율을 넘어서면 청산후 매수진입 시스템 식 부탁드립니다.
요청이 많네요.. 항상 도움주셔서 감사드립니다. 좋은하루 보내세요.
2014-10-08
162
글번호 79154
답변완료
계좌 관련 문의
안녕하십니까.
계약수와 계좌관리 내용을 공부하는 중입니다.
밑에 작성해주신 식중에 포함된 netprofit과 같이 공부할때 참조할수 있는 함수가 혹시
더 있으면 알려주십시요
그리고 계약수 관련 수식중에 공부에 참조할 만한내용이 있으면
샘플로 올려주시면 좋겠습니다
항상감사드립니다.
2014-10-07
154
글번호 79152
답변완료
수식 문의드립니다.
data1 : 30분
data2 : 120분
data2를 기준으로 실시간 일목균형표를 작성하고 싶습니다.
그러니깐 30분봉의 마지막 가격(HLC)이 반영되도록 부탁드립니다.
전환선 기간이 예를 들어서 9개봉이라고 하면 8개는 120분 고저종 데이터이고 마지막 9번째 데이터는 30분봉의 라이브 데이터로 작성해주시면 좋겠습니다.
2014-10-07
161
글번호 79145
답변완료
타주기 식 검증
항상 감사드립니다
아래 타주기챠트식에 대해 오류를 수정해주시기 바랍니다
##### 션샤인 보조_1호 #####
Input: DIP(28);
var : DP10(0,data2),DM10(0,data2),ZZ1(0,data1),var6(0,data2),var11(0,data2);
var : DP20(0,data2),DM20(0,data2),ZZ2(0,data2),VV6(0,data2),vv11(0,data2);
## data1 ##
DP10 = data1(ema(iff(H-H[1]>0 && H-H[1]>L[1]-L,H-H[1],0),DIP)/
ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),DIP)*100);
DM10 = data1(ema(iff(L[1]-L>0 && H-H[1]<L[1]-L,L[1]-L,0),DIP)/
ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),DIP)*100);
ZZ1 = data1(ema(accum(ema(ema(DP10-DM10, 2), 2)),20));
if ZZ1 > ZZ1[1] Then
var6 = 1;
Else
var6 = 0;
if var6 == 1 and var6[2] == 1 Then
var11 = 1 ;
if var6 == 0 and var6[2] == 0 Then
var11 = -1;
## data2 ##
DP20 = data2(ema(iff(H-H[1]>0 && H-H[1]>L[1]-L,H-H[1],0),DIP)/
ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),DIP)*100);
DM20 = data2(ema(iff(L[1]-L>0 && H-H[1]<L[1]-L,L[1]-L,0),DIP)/
ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),DIP)*100);
ZZ2 = data2(ema(accum(ema(ema(DP20-DM20, 3), 3)),20));
if ZZ2 > ZZ2[1] Then
vv6 = 1;
Else
vv6 = 0;
if vv6 == 1 and vv6[2] == 1 Then
vv11 = 1 ;
if vv6 == 0 and vv6[2] == 0 Then
vv11 = -1;
##### 션샤인 보조_2호 #####
input : short1(12),long1(26),signal1(9),af(0.8),maxaf(0.2);
var : XX1(0,data1),YY1(0,data1),var7(0,data1),var8(0,data1),var9(0,data1),var12(0,data1);
var : XX2(0,data2),YY2(0,data2),vv7(0,data2),vv8(0,data2),vv9(0,data2),vv12(0,data2);
## data1 ##
var7 = data1(MACD(short1,long1));
var8 = data1(ema(var7,Signal1));
var9 = data1(sar(af,maxaf));
if var7 > var8 Then{
if C > var9 Then
XX1 = 6;
Else
XX1 = 2;
}
Else{
if var9 > C Then
XX1 = -6;
Else
XX1 = -2;
}
if var7 > 0 Then
YY1 = 10;
Else
YY1 = -10;
if (XX1+YY1)>0 Then
var12 = 1;
if (XX1+YY1)<0 Then
var12 = -1;
## data2 ##
vv7 = data2(MACD(short1,long1));
vv8 = data2(ema(vv7,Signal1));
vv9 = data2(sar(af,maxaf));
if vv7 > vv8 Then{
if C > vv9 Then
XX2 = 6;
Else
XX2 = 2;
}
Else{
if vv9 > C Then
XX2 = -6;
Else
XX2 = -2;
}
if vv7 > 0 Then
YY2 = 10;
Else
YY2 = -10;
if (XX2+YY2)>0 Then
vv12 = 1;
if (XX2+YY2)<0 Then
vv12 = -1;
감사합니다
2014-10-07
173
글번호 79144
답변완료
지표부탁드립니다
지표 수식 부탁드립니다
수식: 고점+저점/2 3등분선
2014-10-07
169
글번호 79143