커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5309
글번호 230811
답변완료
수식작성부탁드립니다
매수진입 수식에 추가조건 작성 부탁 드립니다
가중이동평균 10일선이 가중이동평균 20일선을 상향 돌파시 가격기준으로
상향돌파시 가격 + 10틱 미만에서 매수 진입이 허용(이상의가격에서 매수진입 금지)
되도록 수식 작성 부탁드립니다.
2019-06-25
323
글번호 129743
답변완료
수식작성부탁드립니다.
선물 이용할거구요
TRIX신호로 매수매도 3계약진입하여 목표10틱씩 수익이 발생하면 1계약씩 청산
목표30틱나면 완전청산하는데..
여기서 TRIX신호가 매수진입시 RSI신호가 매도신호로 나온다면 현재 포지션 전량처분하려고합니다.
가능할까요?
반대로 TRIX신호가 매도진입후 목표단위로 처분중 RSI신호가 매수가 뜨면 포지션 전량처분 이런식으로 가능할까요?
수식부탁드립니다.
2019-06-25
318
글번호 129742
답변완료
문의드립니다.
안녕하세요, 아래식에서 문의드리고자 합니다.
진입수량이
수량1에서 100개 , 수량2에서 50개 지정하면ㅅ
실제 시스템에서
수량1 진입 100개
수량2 진입 150개 이렇게 되고있습니다'
수량1 진입 100개
수량2 진입 50개
할수있게 부탁드립니다.
감사합니다~
----------------------------------------------------
input : 저점날짜(20190619),저점가격(3275);
input : 고점날짜(20190620),고점가격(3380);
input : 시작일(20190620),시작시간(101000);
input : 진입비율1(65.2),수량1(100),청산비율1(40.0);
input : 진입비율2(70.0),수량2(50),청산비율2(45.0);
input : 진입비율3(80.0),수량3(30),청산비율3(60.0);
input : 손절비율(90);
var : HH(0),LL(0),newHigh(false),Tcond(false),Trade(false);
if sdate == 저점날짜 and sdate != sdate[1] Then
LL = 저점가격;
if sdate == 고점날짜 and sdate != sdate[1] Then
{
HH = 고점가격;
newHigh = true;
}
if sdate == 시작일 and stime > 시작시간 Then
Trade = true;
if sdate >= 고점날짜 and sdate >= 저점날짜 and HH > 0 and LL > 0 Then
Tcond = true;
if tcond == true then
{
if C <= HH*0.85 Then
newhigh = false;
if newhigh == true and H > HH Then
HH = H;
if Trade == true then
{
#첫진입(65.2%위에서 아래로 터치하면 즉시 매수)
if TotalTrades == 0 and MarketPosition == 0 and L > HH-(HH-LL)*(진입비율1/100) Then
buy("b1",atlimit,HH-(HH-LL)*(진입비율1/100),수량1);
#매수 후
if MarketPosition == 1 then
{
#두번째진입(70.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 1 and L > HH-(HH-LL)*(진입비율2/100) Then
buy("b2",atlimit,HH-(HH-LL)*(진입비율2/100),수량2);
#세번째진입(80.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 2 and L > HH-(HH-LL)*(진입비율3/100) Then
buy("b3",atlimit,HH-(HH-LL)*(진입비율3/100),수량3);
#첫 진입후 40%를 상회하면 즉시 전량청산
if MaxEntries == 1 Then
ExitLong("bx1",Atlimit,HH-(HH-LL)*(청산비율1/100));
#두번 진입후 45%를 상회하면 즉시 전량청산
if MaxEntries == 2 Then
ExitLong("bx2",Atlimit,HH-(HH-LL)*(청산비율2/100));
#세번 진입후 60%를 상회하면 즉시 전량청산
if MaxEntries == 3 Then
ExitLong("bx3",Atlimit,HH-(HH-LL)*(청산비율3/100));
#손절비율 이하로 하락시 즉시 전량청산
ExitLong("bx",AtStop,HH-(HH-LL)*(손절비율/100));
}
}
}
2019-06-25
303
글번호 129733
답변완료
수식 문의 드립니다....^^
수고가 많으시죠...^^
수식 문의 드립니다..
macd1(12,26,9) macd2 (24,52,18)
1 macd1의 오실레이터값이 macd2 오실레이터값을 상향돌파시에 매수
2 macd1의 오실레이터값이 macd2 오실레이터값을 하향돌파시에 매도
이상입니다...
수고하세요...
2019-06-25
320
글번호 129727
답변완료
수식을 알려주세요~~
아래식을 보면 30틱을 상승후에 매수가+3틱에서 청산하는 식으로 되어 있습니다.
그런데 제가 하고 싶은 식은
30틱넘으면 그 시점에서 -27하락할때 청산하는식으로
40틱이 넘으면 40-27 = 진입가+13틱에서 청산하고 싶어요...
그식와
그 반대로 될때의 식(매도진입) 을 알려주세요..
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*30 Then
ExitLong("상승후하락본전청산1",AtStop,EntryPrice+PriceScale*3);
if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*저점틱수1 Then
ExitLong("반등본전청산1",atlimit,lowest(l,BarsSinceEntry)+PriceScale*(저점틱수1-반등틱수1));
2019-06-25
331
글번호 129726
답변완료
수식 추가수정 부탁드립니다
아래수식을 yeslaaguage 편집기에 넣었더니 아래와 같이 메세지가 뜹니다
----------------------------------------
var : intrabarnum(0),intraentrycount(0);
If bdate <> bdate[1] Then
{
Var10 = index;
Var1 = 999;
Var2 = -999;
}
intrabarnum = index - Var10;
If Var1 == 999 and SwingHigh(1,high,3,3,7) != -1 Then
Var1 = SwingHigh(1,high,3,3,7);
If Var2 == -999 and SwingLow(1,low,3,3,7) != -1 Then
Var2 = SwingLow(1,low,3,3,7);
If var1 != 999 and Var1 > DayOpen Then
plot1(var1,"shv");
If var2 != -999 and Var2 < DayOpen Then
plot2(var2,"slv");
If I_MarketPosition == 1 Then
plot3((I_AvgEntryPrice - DayOpen )* 1.618 + I_AvgEntryPrice,"매수목표이익");
if I_MarketPosition == -1 Then
plot4((I_AvgEntryPrice - DayOpen )* 1.618 + I_AvgEntryPrice,"매도목표이익") ;
2
var : intrabarnum(0),intraentrycount(0);
If bdate <> bdate[1] Then
{
Var10 = index;
Var11 = TotalTrades;
Var1 = 999;
Var2 = -999;
}
intrabarnum = index - Var10;
intraentrycount = TotalTrades - Var11;
If Var1 == 999 and SwingHigh(1,high,3,3,7) != -1 Then
Var1 = SwingHigh(1,high,3,3,7);
If Var2 == -999 and SwingLow(1,low,3,3,7) != -1 Then
Var2 = SwingLow(1,low,3,3,7);
If stime < 150500 And intraentrycount < 1 Then
{
If MarketPosition <= 0 and var1 != 999 and Var1 > DayOpen Then
buy("shv", Atstop, Var1);
If MarketPosition >= 0 and var2 != -999 and Var2 < DayOpen Then
sell("slv", Atstop, Def, Var2) ;
}
If MarketPosition == 1 Then
exitlong("매수목표이익", Atlimit, ( entryprice - DayOpen )* 1.618 + entryprice);
If MarketPosition == -1 Then
exitshort("매도목표이익", Atlimit, ( entryprice - DayOpen )* 1.618 + entryprice) ;
즐거운 하루되세요
> 정밀타격수 님이 쓴 글입니다.
> 제목 : 신호검증부탁드립니다
> < 신호 >
If tdate<>tdate(1) Then
Var10 = barnum
Var1 = 999
Var2 = -999
End If
intrabarnum = barnum - Var10
If Var1 = 999 Then
Var1 = shv(1,high,3,3,intrabarnum)
End If
If Var2 = -999 Then
Var2 = slv(1,low,3,3,intrabarnum)
End If
If Var1 > opend Then
Call plots1("shv",Var1)
End If
If Var2 < opend Then
Call plots2("slv",Var2)
End If
If i_position = 1 Then
Call plots3("목표이익", (i_entryprice - opend )* 1.618 + i_entryprice)
Elseif i_position = -1 Then
Call plots4("목표이익", (i_entryprice - opend )* 1.618 + i_entryprice)
End If
<전략>
If tdate<>tdate(1) Then
Var10 = barnum
Var11 = currententrynum
Var1 = 999
Var2 = -999
End If
intrabarnum = barnum - Var10
intraentrycount = currententrynum - Var11
If Var1 = 999 Then
Var1 = shv(1,high,3,3,intrabarnum)
End If
If Var2 = -999 Then
Var2 = slv(1,low,3,3,intrabarnum)
End If
If ttime < 1505 And intraentrycount < 1 Then
If Var1 > opend Then
Call buy("shv", Atstop, Def, Var1)
End If
If Var2 < opend Then
Call sell("slv", Atstop, Def, Var2)
End If
End If
If position = 1 Then
Call exitlong("목표이익", Atlimit, ( entryprice - opend )* 1.618 + entryprice)
End If
If position = -1 Then
Call exitshort("목표이익", Atlimit, ( entryprice - opend )* 1.618 + entryprice)
End If
2019-06-25
372
글번호 129725
정밀타격수 님에 의해서 삭제되었습니다.
2019-06-25
0
글번호 129724
답변완료
문의 드립니다.
plot1(DayLow*1.30,"당일저가+30%");
plot2(DayLow*1.41,"당일저가+41%");
plot3(DayLow*1.61,"당일저가+61%");
plot4(DayHigh*0.75,"당일저가-25%");
plot5(DayHigh*0.63,"당일저가-37%");
plot6(DayHigh*0.43,"당일저가-57%");
해당 지표를 시스템으로 가공하고 싶습니다.
5이평이 상기지표의 plot1,2,3선을 하향 돌파 하면 매도
5이평이 상기지표의 plot4,5,6선을 상향 돌파 하면 매수
감사합니다
2019-06-25
328
글번호 129723
답변완료
문의드립니다.
전에 답변 받은 내용입니다.
아직 많이 부족해서 답변 주신 수식을 이해 못해서 문의드립니다.
<<< ?????? 이부분을 (2군데) 주석으로 자세히 설명부탁드립니다.
---------------------------------------------------------------
input : P(4);
var : cnt(0),Hv(0),Lv(0),avgv(0);
Array : WeekH[10](0),WeekL[10](0),WeekC[10](0);
if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then << 영업일이 다음주로 바뀌면
{
WeekH[0] = H;
WeekL[0] = L;
for cnt = 1 to 9
{
WeeKH[cnt] = WeekH[cnt-1][1]; << ???????
WeeKL[cnt] = WeekL[cnt-1][1];
WeeKC[cnt] = WeekC[cnt-1][1];
}
}
if WeekH[0] > 0 and H > WeekH[0] Then
WeekH[0] = H;
// ???????? >>> WeekH[0] > 0 의 조건은 필수 조건인가요? 음수가 나올 수 없을텐데요.
아니면 시가( O )를 말하는건가요?
if WeekL[0] > 0 and L < WeekL[0] Then
WeekL[0] = L;
WeekC[0] = c;
if WeekH[P] > 0 and WeekL[P] > 0 then
{
Hv = WeeKH[1];
Lv = WeeKL[1];
for cnt = 1 to P
{
if WeekH[cnt] > Hv Then
Hv = WeekH[cnt];
if WeekH[cnt] < Lv Then
Lv = WeekL[cnt];
}
avgv = (Hv+Lv+WeekC[1])/3;
plot1(avgv,"전주기준 4주평균");
}
----------------------------------------------------------
2019-06-25
339
글번호 129712