커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1727
글번호 230811
답변완료
수식 질문드립니다.
https://www.yesstock.com/Board/View.asp?db=board100036&Ext=0&startpage=1&pageno=1&num=132355&ref=132315&Sort=&KeyField=Subject&KeyWord=%B8%B8%B1%E2
1. 위 게시판 참조해서 만들려고 해봤는데 잘 안되네요..
만기주일 경우만 stoptrailing 적용하고 싶습니다.
현재 아래식은 stoptrailing 이 만기주 아닌경우도 적용됩니다....
만기주만 되게 가능할까요?
2. 추가로 만기 이후도 날짜 카운트 가능하면 부탁드립니다.
월물 첫날 둘째날 셋째날 이정도 선까지 구분하고 싶습니다.
3. 트리플 만기일 지정가능한지 궁금합니다.
----------------------------
input : StartTime(91000),EndTime(150000);
#Input : shortPeriod(6), longPeriod(50);
Input : s1(5), s2(60);
input : aaa(-0.40),bbb(0.35);
input : 손절(3);
input : 익절(5);
input : sellfilter(0.25);
input : buyfilter(0.65);
input : N(5),MM(0.07);
input : jinpok(8.9);
input : losstick(10);
input : profittick(10);
input : loss(0);
input : profit(0);
#
var : YYYY(0),MMM(0);
var : ThisMonth1(0),ThisMonthXdate(0);
var : NextMonth1(0),NextMonthXdate(0);
var : Thurs(0),cnt(0),remain(0),mangi(0);
var : Tcond(false,Data1);
var : C2(0,Data2);
var : C3(0,Data3);
var : 최소이익(0),손실범위(0);
최소이익 = PriceScale*profittick;
손실범위 = PriceScale*losstick;
#value1 = ma(C, shortPeriod);
#value2 = ma(C, longPeriod);
Value3 = ma(C2, s1);
Value4 = ma(C2, s2);
if index == 0 or sdate != sdate[1] Then
{
YYYY = Floor(sDate / 10000)*10000;
MMM = Floor(FracPortion(sdate/10000)*100)*100;
thisMonth1 = YYYY+MMM+1;
if MMM+100 <= 1200 Then
NextMonth1 = YYYY+(MMM+100)+1;
Else
NextMonth1 = (YYYY+10000)+100+1;
Thurs = 0;
for cnt = 0 to 15
{
if DayOfWeek(thisMonth1+cnt) == 4 Then
{
Thurs = Thurs+1;
if Thurs == 2 Then
thisMonthXdate = thisMonth1+cnt;
}
}
Thurs = 0;
for cnt = 0 to 15
{
if DayOfWeek(NextMonth1+cnt) == 4 Then
{
Thurs = Thurs+1;
if Thurs == 2 Then
NextMonthXdate = NextMonth1+cnt;
}
}
if sdate <= thisMonthXdate then
{
remain = DateToJulian(thisMonthXdate)-DateToJulian(sdate);
}
Else
remain = DateToJulian(NextMonthXdate)-DateToJulian(sdate);
if remain == 0 then
mangi = 3;
else if remain >= 1 and remain <= 3 then
mangi = 2;
else if remain >= 4 and remain <= 10 then
mangi = 1;
Else
mangi = 0;
}
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;
C2 = Data2(c);
C3 = Data3(c);
# 매수/매도청산
if Tcond == true Then
{
If CrossUP(value3, value4) and c3>buyfilter and (DayHigh(0)-DayLow(0)<jinpok) #data2(c) <= aaa and
Then
{
Buy();
if (DayHigh(0)-DayLow(0)>jinpok) and ((DayHigh(0)-(DayHigh(0)-DayLow(0))/2))<c Then ExitLong();
}
If CrossDown(value3, value4) and c3<sellfilter and (DayHigh(0)-DayLow(0)<jinpok) #data2(c) >= bbb and
Then
{
Sell();
if (DayHigh(0)-DayLow(0)>jinpok) and ((DayHigh(0)-(DayHigh(0)-DayLow(0))/2))>c Then ExitShort();
}
}
if Data2(Highest(C2,n) >= Lowest(C2,n)+MM)
and c2[0]<c2[3] Then ExitLong();
if Data2(Highest(C2,n) >= Lowest(C2,n)+MM)
and c2[0]>c2[3] Then exitshort();
SetStopEndofday(EndTime);
SetStoploss(손절,PointStop);
SetStopProfittarget(익절,PointStop);
if mangi==2 Then
{
#SetStopTrailing(손실범위 , 최소이익 , PointStop);
SetStopTrailing(loss ,profit , percentStop,0);
}
2021-03-11
870
글번호 146953
선물대장 님에 의해서 삭제되었습니다.
2021-03-10
0
글번호 146949
답변완료
문의 드립니다.
TRIX 12 9에서 TRIX선이 Signal선 위에 있으면서 (골든크로스 상태 유지)
주가가 양봉으로 진행하다가 음봉 발생(조정) 시 매수진입
손절은 20틱 익절은 100틱
TRIX 12 9에서 TRIX선이 Signal선 아래에 있으면서(데드크로스 상태 유지)
주가가 음봉으로 진행하다가 양봉 발생(반등) 시 매도진입
손절은 20틱 익절은 100틱
부탁드립니다.
2021-03-10
847
글번호 146948
답변완료
문의
var : K1(0,data2),K2(0,data2),K3(0,data2);
var : Q1(0,data1),Q2(0,data1),W1(0,Data1),QQ(0,Data1);
K1 = data2(ma(c,10));
K2 = data2(ma(c,15));
K3 = data2(ma(c,20));
if crossup(k1,k2) then
Q1 = data1(c);
if crossup(k1,k3) then
Q2 = data1(c);
W1 = abs(Q1-Q2);
if MarketPosition <= 0 and crossup(K1,K3) then
{
buy();
QQ = Q2;
}
if MarketPosition == 1 and data1(C) >= QQ + W1 then
exitlong();
아래 수식의 반대 경우를 작성했는데
바른지요?
**********************************************************************************
안녕하세요
예스스탁입니다.
var : K1(0,data2),K2(0,data2),K3(0,data2);
var : Q1(0,data1),Q2(0,data1),W1(0,Data1),QQ(0,Data1);
K1 = data2(ma(c,10));
K2 = data2(ma(c,15));
K3 = data2(ma(c,20));
if crossdown(k1,k2) then
Q1 = data1(c);
if crossdown(k1,k3) then
Q2 = data1(c);
W1 = abs(Q1-Q2);
if MarketPosition >= 0 and crossdown(K1,K3) then
{
sell();
QQ = Q2;
}
if MarketPosition == -1 and data1(C) <= QQ - W1 then
exitshort();
즐거운 하루되세요
2021-03-10
641
글번호 146947
답변완료
문의드립니다.
수고많으십니다.
1. 홍콩항셍에서 obv를 10시 15분부터 계산하여 나오게 설정해 보고 싶습니다.
해당 계산을 17시 30분까지만 하고 6시 15분부터 새벽 종료시까지도
별도로 계산되면 더 좋겠습니다만 오전장 개장부터 17시 30분까지만되도 좋을듯합니다.
2. 5, 20 이평선 골든/데드 클로스 매매에서
5분봉 골드시 200틱 데드가 나오도 신호가 안나오다가
200틱도 골드가 되면 신호가 나오게 하고 싶습니다.
매도의 경우도 마찬가지입니다.
타주기 수식 만드는 법 자세히 부탁드립니다.
수고하세요. 그럼 부탁드리겠습니다.
2021-03-10
817
글번호 146946
오이도인 님에 의해서 삭제되었습니다.
2021-03-10
0
글번호 146945
답변완료
시스템
안녕하세요
국선에서 이평선 골드 데스를 매수 매도를 하용하고 있습니다
그런데 국선이나 항셍에서 아침에 갬상승 갬하락이 나와서 시작부터 매수 매도가 진입해서
낭패를 보고 있습니다
이 부분을 실재 갬이 아닌 아침에 이평선 골드 데드가 발생할때만 매수 매도가 나오게
알려주세요
예를 들어거 이평선 20 60 골드 데드로 부탁합니다
2021-03-10
706
글번호 146942
답변완료
시스탬
시스탬으로 변환부탁드립닏다
input : 기간(2);
var : T(5);
var1 = ema(C,기간);
if var1 > var1[1] Then
{
T = 1;
var2 = var1;
if T != T[1] Then
var22 = var2[1];
}
if var1 < var1[1] Then
{
var3 = var1;
T = -1;
if T != T[1] Then
var33 = var3[1];
}
plot1(var1,"지수이평");
plot2(var2,"이평상승",BLUE,def,iff(var22 > 0 and var2 > var22,0,0));
plot3(var3,"이평하락",RED,def,iff(var23 > 0 and var3 < var23,0,0));
2021-03-10
742
글번호 146941
답변완료
지표는 출력되는데 종목검색은 안되는 것 같습니다
감사합니다
종목검색이 가능하게 부탁드립니다
Input : Period(200), Dv(2), PERIOD1(50), dv1(2);
var : BBup(0),BBmd(0),BBdn(0), BBup1(0),BBmd1(0),BBdn1(0);
BBup = BollBandUp(Period,Dv);
BBmd = AMA(C,Period*3);
BBdn = BollBandDown(Period,Dv);
var1 = BBup-BBdn;
BBup1 = BollBandUp(Period1,Dv);
BBmd1 = AMA(C,Period1*3);
BBdn1 = BollBandDown(Period1,Dv);
var2 = BBup1-BBdn1;
#-볼린저밴드의 중심선이 상향 할때 %%색
if BBmd > BBmd[1] Then{
Var6 = BBUP;
}
#-볼린저밴드의 중심선이 하향 할때 ^^색
if BBmd < BBmd[1] Then{
Var6 = BBUP;
}
#-볼린저밴드의 중심선이 상향하면서 bands Width가 확장을 할때 %%색
if BBmd > BBmd[1] and var1 > var1[1] Then{
Var6 = BBUP;
}
#-볼린저밴드의 중심선이 상향하면서 bands Width가 수렴을 할때 ^^색
if BBmd > BBmd[1] and var1 < var1[1] Then{
Var6 = BBUP;
}
#-볼린저밴드의 중심선이 하향하면서 bands Width가 확장을 할때 ##색
if BBmd < BBmd[1] and var1 > var1[1] Then{
Var6 = BBUP;
}
#-볼린저밴드의 중심선이 하향하면서 bands Width가 수렴을 할때 @@색
if BBmd < BBmd[1] and var1 > var1[1] Then{
Var6 = BBUP;
}
//
#-볼린저밴드의 중심선이 상향 할때 %%색
if BBmd1 > BBmd1[1] Then{
Var7 = BBUP1;
}
#-볼린저밴드의 중심선이 하향 할때 ^^색
if BBmd1 < BBmd1[1] Then{
Var7 = BBUP1;
}
#-볼린저밴드의 중심선이 상향하면서 bands Width가 확장을 할때 %%색
if BBmd1 > BBmd1[1] and var2 > var2[1] Then{
Var7 = BBUP1;
}
#-볼린저밴드의 중심선이 상향하면서 bands Width가 수렴을 할때 ^^색
if BBmd1 > BBmd1[1] and var2 < var2[1] Then{
Var7 = BBUP1;
}
#-볼린저밴드의 중심선이 하향하면서 bands Width가 확장을 할때 ##색
if BBmd1 < BBmd1[1] and var2 > var2[1] Then{
Var7 = BBUP1;
}
#-볼린저밴드의 중심선이 하향하면서 bands Width가 수렴을 할때 @@색
if BBmd1 < BBmd1[1] and var2 > var2[1] Then{
Var7 = BBUP1;
}
IF CrossUP(Var7,Var6) TheN
FinD(1);
2021-03-10
1502
글번호 146940