커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1428
글번호 230811
답변완료
문의 드립니다
input : starttime(60000),endtime(0000),n(10);
var : Tcond(false),hh(0),h1(0),ll(0),l1(0);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1]and Tcond == true 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;
hh = h;
ll = l;
h1 = hh[1];
l1 = ll[1];
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
input : 익절틱수(0),손절틱수(0);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Buy("b",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx",AtMarket);
if NextBarOpen != C Then
{
Buy("b1",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx1",AtMarket);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Sell("s",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx",AtMarket);
if NextBarOpen != C Then
{
Sell("s1",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx1",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Buy("b2",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx2",AtMarket);
if NextBarOpen == C Then
{
Buy("b3",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx3",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Sell("s2",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx2",AtMarket);
if NextBarOpen == C Then
{
Sell("s3",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx3",AtMarket);
----------
위 수식어을 일봉매매에 사용하고 있습니다.
잔고가 있을시 장종료 10분전 (아침 5시 50분) 강제 청산 기능을 넣을 수있는지요 ?
아님 별도의 수식어가 있어도 상관없습니다.
2024-03-21
914
글번호 177769
답변완료
수식 문의 드립니다.
if A 조건 and data2 ( B 조건 )
Then buy();
A 조건은 매수보다 1.5% 크고,
동시에 data2 (B 조건)값이 매수시보다 1% 또는 2 보다 크면
청산하는 식을 부탁 드립니다.
수고하십시요
2024-03-21
905
글번호 177761
답변완료
도움부탁드립니다
신호검색
tobv=obv();
평균=ma(tobv,평균기간,이평종류);
표준편차=stdev(tobv,평균기간);
aa=sobv=(tobv-평균)/표준편차;
crossup(aa,0)
변환좀 부탁드립니다.
감사합니다
2024-03-21
1025
글번호 177759
답변완료
도움 요청드립니다.
아래 조건검색식에서 검색된 종목이 조건충족되어 검색된 시점을 알고 싶은데
분봉에서 검색된 시점에서의 신호를 표시하고 싶습니다. 도움 요청드립니다.
아니면 다른 방법(검색시점 가격표시를 검색기에도 할 수 있으면?)이 있으시면 알려주시면 감사하겠습니다.
항상 많은 도움에 감사드립니다.
input : PD(30),RR(1.15);
var : Period(14),EPeriod(20);
var : R(0),E(0);
R = RSI(Period);
E = Ema(C,EPeriod);
if R < PD Then
var1 = H;
if var1 > 0 and
CountIf(C>=C[1]*RR, 15) >= 1 and
CrossUp(C,var1) and CrossUp(C,E) Then
Find(1);
2024-03-21
997
글번호 177754
답변완료
수식수정
예스스탁 BI
로그아웃 | 회원정보 | 회사소개 | 사이트맵
시스템트레이딩
시스템시장
매매신호
제품소개
주요기능
주요기능
프로그램사용법 Q&A 메뉴
예스스팟 Q&A 메뉴
자유게시판 메뉴
시스템시장 토론실
공지사항
시스템트레이딩 교육
Inputs : DDD(20150309), LEN(300), HL_ED(60), CC(Black);
Vars : DBN1(0), KK1(0), DD1(0), KK2(0), DD2(0),HP(0);
If STime >= 080000 And STime[1] < 080000 Then Begin
DBN1 = 0;
KK1 = 0;
DD1 = 0;
KK2 = 0;
DD2 = 0;
End;
DBN1 = DBN1 + 1;
/*If Date == DDD Then Begin*/
If STime >= 083000 And DD1 == 0 Then Begin
Value2 = O;
DD1 = 1;
KK1 = DBN1;
End;
If DBN1 > KK1 + 1 And DD1 == 1 Then
HP = Value2;
Else
HP = Value2;
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);
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;
Input : BBP(120), MultiD(2);
var : BBmd(0),BBup(0),BBdn(0);
BBmd = ma(C,Period);
BBup = BollBandUp(BBP,MultiD);
BBdn = BollBandDown(BBP,MultiD);
if MarketPosition <= 0 and
HP > ma(C,60) and CrossUp(c,HP) and T == 1 Then
Buy();
if MarketPosition >= 0 and HP < ma(C,60) and T == -1 Then
Sell();
if MarketPosition == 1 and CrossDown(HP,ma(C,60)) Then
ExitLong();
if MarketPosition == -1 and CrossUP(HP,ma(C,60))
안녕하세요
위식 수정부탁드립니다
볼밴 삭제
매수
이평60선위에 hp선이 있는상태에서
Hp선을 가격이 터치나 하락후 Hp선을 상향돌파시 매수
매수청산및 손절
Hp선을 가격이 하락돌파시
매도
이평선 아래에 hp선이 있는상태에서
Hp선을 가격이 터치나 상승후 Hp선을 하락돌파시 매도
청산손절 Hp선을 가격이 상승돌파시
2024-03-21
880
글번호 177748
답변완료
추세선의 가격표시
감사합니다.
그림과 같이
1
추세선의 가격표시가 잘 안보이는 화면의 오른쪽이 아니라
잘 보이는 화면의 왼쪽에 표시되게 하든지 화면의 중앙에 표시하든지
임의로 그 위치를 변경하고 싶습니다
2
추세선과도 간격을 띄워 가격이 잘 보이는 위치에 임의로 변경하고 싶습니다
If CrossUp(ma(c,5),ma(c,20)) Then
var1 = c;
plot1(var1,"종");
var : TL(0),TX(0);
TL_Delete(TL);
TL = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1);
TL_SetColor(TL,Red);
TL_SetSizE(TL,3); //굵기
TL_SetExtLeft(TL,true); // 좌로확장
TL_SetExtright(TL,true);
Text_Delete(tX); // 이걸 켜면
tx = Text_New(sdate,stime,VAR1,NumToStr (VAR1,2)); //소수점아래는 없이 //NumToStr(HH-(HH*0.025),2)); 소수점 두자리까지
Text_SetColor(tX,Red);
Text_SetStyle(tX,2,5); //좌우정렬 2,2 기본
Text_SetBold(tx,10); //활자크
2024-03-21
1022
글번호 177747
답변완료
종목검색식 부탁합니다
안녕하십니까
종목검색식이 필요한데 협조 부탁합니다
주봉차트에서 현재 캔들이 이전 50번째 가격보다 높은 종목을 찾을 수 있는 종목검색식을 부탁합니다
이를테면 오늘 주봉에서 검색한다면 현개가격이 2023년 4월 3일 주봉보다 가격이 높으면 되는 것입니다
2024-03-21
840
글번호 177746
답변완료
수식 문의 부탁 드립니다.
1. 가중이동평균선 120 이격도지표,
2. 삼각가중평균선 120 이격도 지표,
3. 가중이동평균선 120 이격도지표로 기준선이 101일상향 일때 매수 100일하향일때 매도,
4. 삼각가중평균선 120 이격도 지표로 기준선이 101일상향 일때 매수 100일하향일때 매도,
수식 문의 부탁드립니다.
2024-03-21
848
글번호 177745
답변완료
수식 부탁드립니다
수고하십니다.
2DATA를 참조하여 매매하려합니다
매매조건
일봉 데이타2가 시초가보다크고 데이타1이 시초가 + K 보다 크면 매수
데이타2가 시초가보다작고 데이타1이 시초가 - K 보다 작으면 매도
위와같이 수식부탁드립니다
감사합니다.
2024-03-21
801
글번호 177744