커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6851
글번호 230811
답변완료
문의드립니다
input : tenkan_len(9),tenkan_mult(2),kijun_len(26),kijun_mult(4),spanB_len(52),spanB_mult(6),offset(26);
Input : 당일수익틱수(100),당일손실틱수(200);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0);
var : Xcond(false);
var : ATR1(0),up1(0),dn1(0),upper1(0),lower1(0),os1(0),spt1(0),max1(0),min1(0),tenkan(0);
var : ATR2(0),up2(0),dn2(0),upper2(0),lower2(0),os2(0),spt2(0),max2(0),min2(0),kijun(0);
var : senkouA(0);
var : ATR3(0),up3(0),dn3(0),upper3(0),lower3(0),os3(0),spt3(0),max3(0),min3(0),senkouB(0);
var : tenkan_css(0),kijun_css(0),cloud_a(0),cloud_b(0),chikou_css(0),tx(0);
ATR1 = ATR(tenkan_len)*tenkan_mult;
up1 = (h+L)/2 + ATR1;
dn1 = (h+L)/2 - ATR1;
upper1 = iff(C[1] < upper1[1],min(up1,upper1[1]),up1);
lower1 = iff(C[1] > lower1[1],max(dn1,lower1[1]),dn1);
os1 = iff(c > upper1 , 1 ,IFf(c < lower1, 0 , os1[1]));
spt1 = iff(os1 == 1 , lower1 , upper1);
max1 = iff(CrossUp(c,spt1) or CrossDown(c,spt1) , max(c,max1[1]) , IFf(os1 == 1 , max(c,max1[1]) , spt1));
min1 = iff(CrossUp(c,spt1) or CrossDown(c,spt1) , min(c,min1[1]) , iff(os1 == 0 , min(c,min1[1]) , spt1));
tenkan = avg(max1,min1);
ATR2 = ATR(kijun_len)*kijun_mult;
up2 = (h+L)/2 + ATR2;
dn2 = (h+L)/2 - ATR2;
upper2 = iff(C[1] < upper2[1],min(up2,upper2[1]),up2);
lower2 = iff(C[1] > lower2[1],max(dn2,lower2[1]),dn2);
os2 = iff(c > upper2 , 1 ,IFf(c < lower2, 0 , os2[1]));
spt2 = iff(os2 == 1 , lower2 , upper2);
max2 = iff(CrossUp(c,spt2) or CrossDown(c,spt2) , max(c,max2[1]) , IFf(os2 == 1 , max(c,max2[1]) , spt2));
min2 = iff(CrossUp(c,spt2) or CrossDown(c,spt2) , min(c,min2[1]) , iff(os2 == 0 , min(c,min2[1]) , spt2));
kijun = avg(max2,min2);
senkouA = avg(kijun,tenkan);
ATR3 = ATR(spanB_len)*spanB_mult;
up3 = (h+L)/2 + ATR3;
dn3 = (h+L)/2 - ATR3;
upper3 = iff(C[1] < upper3[1],min(up3,upper3[1]),up3);
lower3 = iff(C[1] > lower3[1],max(dn3,lower3[1]),dn3);
os3 = iff(c > upper3 , 1 ,IFf(c < lower3, 0 , os3[1]));
spt3 = iff(os3 == 1 , lower3 , upper3);
max3 = iff(CrossUp(c,spt3) or CrossDown(c,spt3) , max(c,max3[1]) , IFf(os3 == 1 , max(c,max3[1]) , spt3));
min3 = iff(CrossUp(c,spt3) or CrossDown(c,spt3) , min(c,min3[1]) , iff(os3 == 0 , min(c,min3[1]) , spt3));
senkouB = avg(max3,min3);
tenkan_css = Red;
kijun_css = Blue;
cloud_a = teal;
cloud_b = red;
chikou_css = Green;
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit;
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 당일수익 or daypl <= -당일손실 Then
Xcond = true;
if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or
IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
}
if Xcond == false Then
{
if CrossUp(tenkan,kijun) Then
{
Buy();
}
if CrossDown(tenkan,kijun) Then
{
sell();
}
}
if MarketPosition == 1 then
{
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
수고많으십니다
얼마전 만들어주신 수식인데
한가지 더 추가 부탁드리겠습니다
매수 신호인 경우 Kijun-Sen이 직전봉보다 내려가면
진입금지 매도 청산
매도 신호인 경우 Kijun-Sen이 직전봉보다 올라가면
진입금지 매수 청산
이수식을 추가하고싶어 도움 부탁드립니다
감사합니다
2024-09-19
949
글번호 183498
답변완료
수식 부탁드립니다.
수고하십니다.
앞전에 매매된 수익을 변수에 담고 싶습니다.
앞전에 매도가 0.45 수익이면 mame=-1 bef=0.45
앞전에 매수가 -0.45 손실이면 mame=-1 bref=-0.45
2024-09-19
758
글번호 183497
답변완료
수식 확인 부탁 드립니다
StopLoss 2개 사용이 되도록 작성 부탁 드립니다.
(따로 1개씩 사용시 1번은 잘 실행 되나 2번은 실행되지 않습니다.)
1. SetStopLoss(5): (5000 < C and C < 10000)즉 종가가 5,000원초과 10,000원미만 일때
진입 가격의 5% 하락시 SetStopLoss 실행.
2. SetStopLoss(10 * TickSize * CurrentContracts, pointstop); 종가가 1,000원초과
5,000원미만 일때 진입 가격의 10틱하락시 SetStopLoss 실행.
input : starttime(90500),endtime(120000),XTime(123000);
var : Tcond(false);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
Input : Period(12), Period1(5);
Var : value(0),TickSize(0);
value = StochasticsK(Period,Period1);
# 매수/매도청산
If CrossUP(value, 20) Then
{
Buy("Buy");
}
# 매도/매수청산
If CrossDown(value, 80) Then
{
ExitLong("Sell");
}
SetStopLoss(5);
SetStopLoss(10 * TickSize * CurrentContracts, pointstop);
SetStopEndofday(XTime);
2024-09-19
743
글번호 183496
답변완료
수식요청드립니다
A=BBandsDown(20,2); //bb하단선
B=MA(C,200); // ->VWMA 200 분봉수식으로변경해서 아래와같이 종목검색식 만들고십습니다
​ 도움요청드립니다.........
(L<A
AND CROSSUP(C,A)
AND L<=B*1.01
AND B>B(1)
AND C>B)
OR
(C>A AND CROSSUP(C,B) AND B>B(1))
2024-09-19
831
글번호 183495
답변완료
수식전화 부탁드립니다.
ns = sum(1) ;
cs = sum( P) ;
Aw = weekday(Date) ;
AM = ( floor(date / 100) )%100 ;
CD = date <> date(1) ;
CW = Aw(1) >= Aw && CD ;
Cm = AM <> AM(1) ;
Cm3 = AM%3 == 0 ;
nD1 = valueWhen(1, CD, ns(1) ) ;
nC1 = valueWhen(1, CD, Cs(1) ) ;
Dma = ( CS - nC1 )/( ns - nD1 ) ;
nw1 = valueWhen(1, Cw, ns(1) ) ;
cw1 = valuewhen(1, Cw, cs(1) ) ;
Wma = ( cS - cw1 ) / ( nS - nW1 ) ;
nM1 = valueWhen(1, CM, ns(1) ) ;
cM1 = valuewhen(1, CM, cs(1) ) ;
Mma = ( cS - cM1 ) / ( nS - nM1 ) ;
crossup( Dma, Wma ) && Mma > Wma
조건을 만족하는 종목검색
감사합니다.
2024-09-18
737
글번호 183490
타요 님에 의해서 삭제되었습니다.
2024-09-18
70
글번호 183489
답변완료
키움수식 종목검색
가=CrossUP(c, c(13));
나=CrossUP(c, c(26));
A = (highest(high,9)+lowest(low,9))/2;
B = (highest(high,26)+lowest(low,26))/2;
CrossUP(나, 가)&&crossup(A, B)
2024-09-18
666
글번호 183488
그냥저냥 님에 의해서 삭제되었습니다.
2024-09-19
21
글번호 183487
답변완료
키움수식 종목검색
A=CrossUP(c, c(13));
B=CrossUP(c, c(26));
CrossUP(B, A)
고맙습니다
2024-09-18
791
글번호 183486