커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5422
글번호 230811
답변완료
해석
해석부탁드립니다.
input : 틱(7),차수(2);
var : T(0),cnt(0);
if Bdate != Bdate[1] Then{
T = 0;
cnt = 0;
}
if T <= 0 and C >= O+PriceScale*틱 Then{
T = 1;
cnt = cnt+1;
if cnt == 차수 Then
buy();
}
if T >= 0 and C <= O+PriceScale*틱 Then{
T = -1;
cnt = cnt+1;
if cnt == 차수 Then
sell();
}
2019-11-26
169
글번호 133933
답변완료
문의드립니다.
시스템식 문의드립니다.
같은종목 다른주기 매매 전략입니다.
▶전략
20/120 이평 전략
골든크로스시 매수
데드크로스시 청산
▶주기
1분봉, 5분봉, 10분봉
각 주기에서 골든크로스 발생할때마다 1계약식 매수 하고
모든 주기에서 데드크로스가 나왔을때(마지막 데드크로스 주기 신호 기준)에 청산
하는 시스템 식 가이드 부탁드립니다.
2019-11-26
159
글번호 133931
답변완료
함수요청
안녕하세요?
아래 글번호 64050번 재질문입니다.
답변 감사드립니다.
아래 글번호 64975번을 수정하여 답변 요청드립니다.
바쁘시고 번거로우시겠지만 부탁드립니다.
input : P(20),dv(2);
var : BBup1(0,data1),BBdn1(0,data1);
var : BBup2(0,data2),BBdn2(0,data2);
var : BBup3(0,data3),BBdn3(0,data3);
BBup1 = data1(BollBandUp(P,dv));
BBdn1 = data1(BollBandDown(P,dv));
BBup2 = data2(BollBandUp(P,dv));
BBdn2 = data2(BollBandDown(P,dv));
BBup3 = data3(BollBandUp(P,dv));
BBdn3 = data3(BollBandDown(P,dv));
if data1(time < 101500 and NextBarStime >= 101500) and
data1(O < C[1] and O < BBdn1) and
data2(O < C[1] and O < BBdn2) and
data3(O < C[1] and O < BBdn3) Then
buy("b",AtMarket);
if data1(time < 101500 and NextBarStime >= 101500) and
data1(O > C[1] and O > BBup1) and
data2(O > C[1] and O > BBup2) and
data3(O > C[1] and O > BBup3) Then
sell("s",AtMarket);
if MarketPosition == 1 and
data1(c > BBup1) and
data2(c > BBup2) and
data3(c > BBup3) Then
ExitLong("bx",AtMarket);
if MarketPosition == -1 and
data1(c < BBdn1) and
data2(c < BBdn2) and
data3(c < BBdn3) Then
ExitShort("sx",AtMarket);
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 함수요청
>
안녕하세요
예스스탁입니다.
수식에서 if문은 봉완성시 기준이로 차트에서 완성봉만 사용이 가능합니다.
문의하신 내용이 1분봉 첫봉완성시에 다른주기인 data2,data3,data4의 그때 상태로 조건파악해
신호를 발생하는 내용이면 불가능합니다.
10시 15분 시가가 data1 and data2의 볼린저밴드 하단을 동시에 이탈은 data2 10시15분봉이 완성되어야 합니다.
다른 data들 조건도 같습니다.
각 주기별로 10시 15분 완성시에 조건파악해 data1에 신호를 발생하게 작성해 드립니다.
var : pre(0,data1);
var : up1(0,data1),up2(0,data2),up3(0,data3),up4(0,data4);
var : dn1(0,data1),dn2(0,data2),dn3(0,data3),dn4(0,data4);
var : cond1(0,data1),cond2(0,data2),cond3(0,data3),cond4(0,data4);
up1 = data1(BollBandUp(20,2));
up2 = data2(BollBandUp(20,2));
up3 = data3(BollBandUp(20,2));
up4 = data4(BollBandUp(20,2));
dn1 = data1(BollBandDown(20,2));
dn2 = data2(BollBandDown(20,2));
dn3 = data3(BollBandDown(20,2));
dn4 = data4(BollBandDown(20,2));
if data1((sdate != date[1] and stime >= 101500) or
(sdate != date[1] and stime >= 101500)) Then
{
cond1 = 0;
if data1(O < dn1 and O < pre and pre > 0) Then
cond1 = 1;
if data1(O > up1 and O > pre and pre > 0) Then
cond1 = -1;
}
if stime < 100000 Then
pre = C;
if data2((sdate != date[1] and stime >= 101500) or
(sdate != date[1] and stime >= 101500)) Then
{
cond2 = 0;
if data2(O < dn1 and O < pre and pre > 0) Then
cond2 = 1;
if data2(O > up1 and O > pre and pre > 0) Then
cond2 = -1;
if Cond1 == 1 and cond2 == 1 then
buy("b1",AtMarket);
if Cond1 == -1 and cond2 == -1 then
sell("s1",AtMarket);
}
if data3((sdate != date[1] and stime >= 101500) or
(sdate != date[1] and stime >= 101500)) Then
{
cond3 = 0;
if data3(O < dn1 and O < pre and pre > 0) Then
cond3 = 1;
if data3(O > up1 and O > pre and pre > 0) Then
cond3 = -1;
if Cond3 == 1 then
buy("b2",AtMarket);
if cond3 == -1 Then
sell("s2",AtMarket);
}
if data4((sdate != date[1] and stime >= 101500) or
(sdate != date[1] and stime >= 101500)) Then
{
cond4 = 0;
if data3(O < dn1 and O < pre and pre > 0) Then
cond4 = 1;
if data3(O > up1 and O > pre and pre > 0) Then
cond4 = -1;
if Cond4 == 1 then
buy("b3",AtMarket);
if cond4 == -1 Then
sell("s3",AtMarket);
}
if MarketPosition == 1 and
(data1(c > up1) or data2(C > up2) or data3(C > up3) or data4(C > up4)) Then
exitlong();
if MarketPosition == -1 and
(data1(c < dn1) or data2(C < dn2) or data3(C < dn3) or data4(C < dn4)) Then
exitlong();
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
아래 전략에 대하여 스크립트 작성 요청드립니다.
항셍지수 선물 1분봉(data1)으로 T장에서 거래를 하고 합니다.
참조종목을 항셍지수 선물 5분봉(data2), 10분봉(data3), 15분봉(data4)으로 설정합니다.
10시 15분 시가가 data1 and data2의 볼린저밴드 하단을 동시에 이탈하여 갭하락시 혹은 data3 or data4의 볼린저밴드 하단을 이탈하여 갭하락시 익봉 시가에 매수 진입
10시 15분 시가가 data1 and data2의 볼린저밴드 상단을 동시에 이탈하여 갭상승시 혹은 data3 or data4의 볼린저밴드 상단을 이탈하여 갭상승시 익봉 시가에 매도 진입
현재가가 data1 or data2 or data3 or data4의 볼린저밴드 상단을 이탈하여 봉완성 시가에 매수청산
현재가가 data1 or data2 or data3 or data4의 볼린저밴드 하단을 이탈하여 봉완성 시가에 매도청산
2019-11-26
157
글번호 133929
답변완료
5포인트 간격 돌파
선물데이트레이딩에서
시가 282.50일때
상승하여 285.00 돌파하면 buy
하락하여 280.00 돌파하면 sell
285나 280의 가격을 조건문에 반영하는 방법 말고
선물 5포인트 간격을 상향돌파하면 buy
선물 5포인트 간격을 하향돌파하면 sell 이 가능한 방법이 있는지요.
2020-01-20
178
글번호 133915
대가들의매매 님에 의해서 삭제되었습니다.
2019-11-26
1
글번호 133914
답변완료
함수요청
안녕하세요?
아래 전략에 스크립트 작성 요청드립니다.
항셍지수 선물 1분봉(data1)으로 T장에서만 거래를 하고 합니다.
10:15분 T장의 시가를 당일의 시가로 설정합니다.
참조종목을 항셍지수 선물 5분봉(data2), 10분봉(data3)으로 하여,
전일 종가(T+1장의 최종거래가, 당일 T장 시초가의 직전 봉) 볼린저밴드 하단선 아래에 위치하고 10시 15분 시가가 data1 and data2의 볼린저밴드 하단을 동시에 이탈하여 갭하락시 혹은 data3의 볼린저밴드 하단을 이탈하여 갭하락시 익봉 시가에 매수 진입
전일 종가(T+1장의 최종거래가, 당일 T장 시초가의 직전 봉) 볼린저밴드 상단선 위에 10시 15분 시가가 data1 and data2의 볼린저밴드 상단을 동시에 이탈하여 갭상승시 혹은 data3의 볼린저밴드 상단을 이탈하여 갭상승시 익봉 시가에 매도 진입
현재가가 data1 or data2 or data3의 볼린저밴드 상단을 이탈하여 봉완성 시가에 매수청산
현재가가 data1 or data2 or data3의 볼린저밴드 하단을 이탈하여 봉완성 시가에 매도청산
2019-11-26
179
글번호 133913
답변완료
일봉차트에서
일봉 차트에서 월요일부터 금요일까지 일주일씩 세로로 구간을 나누는 선을 긋고 싶어요 수식 좀 부탁할게요
수요일이 휴장이면 월화목금 이렇게 4일이 한구간으로 되게하고 싶구요
2019-11-26
178
글번호 133909
답변완료
수식부탁드립니다.
과열 (기간은 14)
수식1
R=RSI(기간);
if(R>=70, valuewhen(1, H>H(1), H)*1.03,
valuewhen(1, crossup(R,70) or crossdown(R,70), C))
수식2
R=RSI(기간);
valuewhen(1, crossup(R,70) or crossdown(R,70), C)
침체
수식1
R=RSI(기간);
valuewhen(1, crossup(R,30) or crossdown(R,30), C))
수식2
R=RSI(기간);
if(R<=30, valuewhen(1, L<L(1), L)*0.97,
valuewhen(1, crossup(R,30) or crossdown(R,30), C))
2019-11-26
230
글번호 133908
답변완료
수정 의뢰드립니다!
안녕하세요!
아래 수식은 지난번에 만들어주신건데 잘 사용하고 있습니다!
다름이 아니라 챠트에서 수많은 라인선을 색으로만 구분하는것 보다 좀 더 명확하게 구분을
하고저 라인 끝에 ( 예 : d1전일고가 , d1전일저가 ) 이런 식으로 텍스트가
표시 되면 매매에 좀 더 도움이 될것 같으니 수정을 좀 부탁드립니다.
항상 노고에 감사드립니다!
Var : nday1(0,data1),week1(0,data1),cond1(false,data1),daycnt1(-1,data1),val1(0,data1);
var : h1(0,data1),l1(0,data1);
Var : nday2(0,data2),week2(0,data2),cond2(false,data2),daycnt2(-1,data2),val2(0,data2);
var : h2(0,data2),l2(0,data2);
nday1 = data1(Date - Int(Date/100)*100);
week1 = data1(DayOfWeek(Date));
If nday1 >= 8 And nday1 <= 14 And week1 == 4 Then
Cond1 = true;
Else
Cond1 = false;
if data1(date != date[1] and cond1 == false and cond1[1] == true) Then
daycnt1 = 0;
if data1(date != date[1]) Then
{
daycnt1 = daycnt1+1;
if daycnt1 == 1 Then
{
H1 = data1(h);
L1 = data2(L);
}
}
if daycnt1 == 1 Then
val1 = data1(lowd(0));
if daycnt1 >= 1 then
{
if data1(H) > h1 Then
h1 = data1(h);
if data1(L) < L1 Then
L1 = data1(L);
}
nday2 = data2(Date - Int(Date/100)*100);
week2 = data2(DayOfWeek(Date));
If nday2 >= 8 And nday2 <= 14 And week2 == 4 Then
Cond2 = true;
Else
Cond2 = false;
if data2(date != date[1] and cond2 == false and cond2[1] == true) Then
daycnt2 = 0;
if data2(date != date[1]) Then
{
daycnt2 = daycnt2+1;
if daycnt2 == 1 Then
{
h2 = data2(h);
l2 = data2(l);
}
}
if daycnt2 == 1 Then
val2 = data2(lowd(0));
if daycnt2 >= 1 then
{
if data2(H) > h2 Then
h2 = data2(h);
if data2(L) < L2 Then
L2 = data2(L);
}
plot1(data1(highD(1)),"d1전일고가");
plot2(data1(LowD(1)),"d1전일저가");
plot3(val1,"d1첫날저가");
plot4(h1,"d1월고");
plot5(l1,"d1월저");
plot6(data2(highD(1)),"d2전일고가");
plot7(data2(LowD(1)),"d2전일저가");
plot8(val2,"d2첫날저가");
plot9(h2,"d2월고");
plot10(l2,"d2월저");
----------------------------------------------------------
아래 수식도 만들어 주신건데 콜풋 교차시 동일가발생하면 라인이 그어지게 되어 있는데 셀제 적용하면 아무것도 나타나지 않습니다!
제가 뭐 잘못 적용한것일까요?
var : value(0,data1);
if data1(c) == data2(c) Then
value = data1(c);
plot1(value1);
---------------------------------------------------------------------------------
임의의 가격선을 아래와 같이 직접 만들어 출력하고 싶습니다
제가 원하는 가격선에 (예: 콜월저, 콜월고.....등등 ) 텍스트를 추가 할 수 있도록 수정을 부탁드립니다!
plot1(1.20); "콜월고"
plot2(2.50); "콜월저"
plot3(3.50); "풋월고"
plot4(4.85); "풋월저"
-------------------------------------------------------------------------
아래 수식은 몸통보다 아래 꼬리가 긴 봉을 찾는 강조식입니다
이 수식을 양봉 음봉 산관 없이 몸통보다 3배이상 긴 아래 꼬리 와 윗꼬리가 긴 봉을 찾는 식으로 수정을 부탁드려요! 봉이 완성 되면 알람도 울릴 수 있도록 수정 부탁드립니다.
if min(C,O)-L > abs(C-O) then
plotpaintbar(H,L,"강조");
2019-11-26
211
글번호 133907