커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1631
글번호 230811
답변완료
지표 질문입니다
(금일 저가)> (전일 고가) 일때 금일 저가(A).. 전일 고가(B)
(금일 고가)< (전일 저가) 일때 금일 고가(C).. 전일 저가(D)
과거 A,B,C,D 가운데 금일 종가로부터 가장 가까운 순서로부터 10개를 표시한다
감사합니다
2022-11-09
714
글번호 163641
답변완료
7분횡보
1.지표:7개 봉의 저점이 0.1p(2틱)내에서 횡보하면 하단에 동그라미 표시.(고점 무관)
계속 연이어 횡보할 때 횡보 봉마다 표시되는걸 방지하기 위해, 동그라미가 표시되면 다음 봉은 전봉과 연관짓지 않고 새로 카운트 시작.
이후 7개 봉 후에 동그라미 표시되니까 계속 횡보한다 해도 14봉에 최대 2개 동그라미.
0.1p , 7개 봉은 변수 처리.
2.시스템:동그라미에 매수. 다음봉에 바로 매수청산. 감사합니다.
2022-11-09
696
글번호 163640
답변완료
수식 부탁드립니다.
1. 이평선 10일 선이 20일선 크로스업 매수 2계약
2. 손절선 1% 하락시 2계약 손절
3. 익절 3%로 설정
4. 2% 상승시 1계약 익절
5. 4번 성립시 2번 손절선을 진입값으로 돌아왔을시 손절
--------------------------------------------------
1-1. 매도도 똑같은 방식으로 적용 부탁드립니다. 20일 10일 하락 시
고맙습니다
2022-11-08
769
글번호 163639
답변완료
문의 드립니다
수고 하십니다.
첨부 그림처럼
TL1과 TL2사이를 색으로 채우려면 어떻게 해야 하나요?
수고하세요.
#### 당일 시가 ######################################################
var : dop1(0), TL1(0);
var : 당일시가(0) ;
input :추세선두께1(3),추세선색상1(black) ;
당일시가 = DayOpen(0) ;
##시가를 숫자로 표시
Text_Delete(dop1);
dop1 = Text_New(sdate,stime,당일시가,NumToStr(당일시가,2));
if bdate != bdate[1] then
{
##시가라인 표시
TL_Delete(TL1);
TL1 = TL_new(sdate,stime,당일시가,NextBarSdate,NextBarStime,당일시가);
//TL = TL_new(sdate,stime,dayopen,NextBarSdate,NextBarStime,dayopen);
TL_setExtRight(TL1,true);
TL_setExtLeft(TL1,true);
TL_SetSize(TL1,추세선두께1);
TL_SetColor(TL1,추세선색상1);
}
#### 당일 현재가 #############################################
Var : 현재가3(0), TL2(0);
var : tpstC(0);
input :현재가TL두께3(1);
현재가3 = c;
##라인 표시
TL_Delete(TL2);
TL2 = TL_new(sdate,stime,현재가3, NextBarSdate,NextBarStime,현재가3);
//TL = TL_new(sdate,stime,dayopen,NextBarSdate,NextBarStime,dayopen);
TL_setExtRight(TL2,true);
TL_setExtLeft(TL2,true);
TL_SetSize(TL2,현재가TL두께3);
if c>o Then
TL_SetColor(TL2,red);
if c==o Then
TL_SetColor(TL2,black);
if c<o Then
TL_SetColor(TL2,blue);
2022-11-08
749
글번호 163638
답변완료
수식 부탁드립니다.
안녕하세요~
지표수식 부탁드립니다.
틱차트(300틱)에서 당일의 총 봉 갯수를 현재봉(마지막봉)에 좀 큰 글씨로 볼드체로 넣는 수식 부탁드립니다.
그런데, 봉이 바뀌면 지난 봉의 글씨는 없어져야 할 것 같은데, 가능할까요?
감사합니다!!
2022-11-08
699
글번호 163637
관리자에 의해 프로그램 사용법 QnA로 이동되었습니다
2022-11-08
4
글번호 163636
답변완료
문의 드립니다
1.
300분봉 매매에서 청산시간을 임의대로 지정하는게 가능한지요.
해외선물이 섬머타임으로 8시 시작이면 특정시간을 지정해서 청산식이 안될듯하고
300분봉의 특성상 5시간 마디로 시간설정을해서 청산시간이 정해지는거
아닌가 생각해서 문의드립니다.
아래 수식어에서
매매시간 (13 :00 ~ 익일 04 :00 ) , 청산시간 익일 04 :00
포함한 수식어로 부탁드립니다.
input : starttime(130000),endtime(400000),n(30);
var : Tcond(false),hh(0),h1(0),ll(0),l1(0);
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
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 h > hh Then
hh = h;
if l < ll Then
ll = l;
if tcond == true and h1 > 0 and l1 > 0 then
{
if crossup(C,l1+(h1-l1)*1.236+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*1.000+PriceScale*n) Then
buy();
if crossup(C,l1-(h1-l1)*0.618+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*0.500+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*0.236+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*0.000+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*-0.236+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*-0.382+PriceScale*n) Then
buy();
if CrossDown(C,l1+(h1-l1)*1.236-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*1.000-PriceScale*n) Then
sell();
if CrossDown(C,l1-(h1-l1)*0.618-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*0.500-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*0.236-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*-0.000-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*-0.236-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*-0.382-PriceScale*n) Then
sell();
}
if MarketPosition == 1 then
{
if crossup(c,h1+PriceScale*10) Then
exitlong();
if CrossDown(c,l1-PriceScale*10) Then
exitlong();
}
if MarketPosition == -1 then
{
if crossup(c,h1+PriceScale*10) Then
ExitShort();
if CrossDown(c,l1-PriceScale*10) Then
ExitShort();
}
2.
아래 수식어는 180분봉 매매자료입니다.
매수 매도 각각 진입2회및 손절 100틱을 추가로 부탁드립니다.
input : starttime(110000),endtime(500000),n(30);
var : Tcond(false),hh(0),h1(0),ll(0),l1(0);
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
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 NextBarSdate == sDate Then
{
if NextBarOpen >= C Then
{
Buy("b2",AtStop,NextBarOpen+PriceScale*20);
Sell("s2",AtStop,NextBarOpen-PriceScale*20);
}
if NextBarOpen <= C Then
{
ExitLong("bx2",AtStop,NextBarOpen-PriceScale*10);
ExitShort ("sx2",AtStop,NextBarOpen+PriceScale*10);
}
}
if MarketPosition > 1 Then
Sell("sss",AtStop,EntryPrice-10);
if MarketPosition < -1 Then
Buy("sss1",AtStop,EntryPrice+10);
if NextBarSdate == sDate Then
{
if NextBarOpen <= C Then
{
Buy("b3",AtStop,NextBarOpen+PriceScale*20);
Sell("s3",AtStop,NextBarOpen-PriceScale*20);
}
if NextBarOpen >= C Then
{
ExitLong("bx3",AtStop,NextBarOpen-PriceScale*10);
ExitShort ("sx3",AtStop,NextBarOpen+PriceScale*10);
}
if MarketPosition > 1 Then
Sell("ssss",AtStop,EntryPrice-10);
if MarketPosition < -1 Then
Buy("ssss1",AtStop,EntryPrice+10); }
if NextBarSdate != sDate Then
{
if NextBarOpen <= C Then
{
Buy("b4",AtStop,NextBarOpen+PriceScale*20);
Sell("s4",AtStop,NextBarOpen-PriceScale*20);
}
if NextBarOpen >= C Then
{
ExitLong("bx4",AtStop,NextBarOpen-PriceScale*10);
ExitShort ("sx4",AtStop,NextBarOpen+PriceScale*10);
}
if MarketPosition > 1 Then
Sell("sssss",AtStop,EntryPrice-10);
if MarketPosition < -1 Then
Buy("sssss1",AtStop,EntryPrice+10); }
3.
해외선물매매에서 150분봉 캔들의 완성시 고점과 저점이 높아지는 150분봉 캔들이
6회 상승시 매도 , 150분봉 캔들 고점 저점이 낮아지는 4회 하락시 청산되는 수식어
손절40틱 매매시간 08:00~익일 06:00 미청산시 익일 06:00시 동시청산
4.
해외선물매매에서 150분봉 캔들의 완성시 고점과 저점이 낮아지는 150분봉 캔들이
6회 하락시 매수 , 150분봉 캔들 고점 저점이 높아지는 3회 상승시 청산되는 수식어
손절40틱 매매시간 08:00~익일 06:00 미청산시 익일 06:00시 동시청산
5.
해외선물매매에서 150분봉 캔들의 완성시 고점과 저점이 낮아지는 150분봉 캔들이
3회 하락시 매수 , 150분봉 캔들 고점 저점이 높아지는 6회 상승시 청산되는 수식어
손절40틱 매매시간 08:00~익일 06:00 미청산시 익일 06:00시 동시청산
6.
해외선물매매에서 150분봉 캔들의 완성시 고점과 저점이 낮아지는 150분봉 캔들이
3회 상승시 매도 , 150분봉 캔들 고점 저점이 낮아지는 6회 하락시 청산되는 수식어
손절40틱 매매시간 08:00~익일 06:00 미청산시 06:00시 동시청산
2022-11-09
848
글번호 163631
답변완료
함수요청
안녕하세요?
아래 전략에 대해 스크립트 작성 요청드립니다.
data1 : 1분봉
data2 : 일봉으로 놓고
data1의 전일 종가 < data1의 당일 시가 < data2의 전일 종가이면서
data1의 당일 30분봉상 음봉발생하면 익봉시가 매수 진입
data1의 전일 종가 > data1의 당일 시가 > data2의 전일 종가이면서
data1의 30분봉상 양봉발생하면 익봉 시가 매도 진입
매수든 매도든 최대 1번 진입하고 15시에 강제청산하고자 합니다.
2022-11-08
855
글번호 163629
답변완료
동시 크로스 신호 지표 부탁드립니다.
차트에 지표가 동시 크로스인 경우 봉에 화살표를 나타나게 하고 싶은데요..
1> MACD와 DMI 크로스가 현재봉에서 동시에 일어난 경우 현재봉에 표시
2> 1봉전에 MACD 크로스가 나고 현재봉에 DMI크로스가 난 경우 현재봉에 표시
3> 1봉전에 DMI 크로스가 나고 현재봉에 MACD 크로스가 난 경우 현재봉에 표시
3가지 경우에 현재봉에 화살표를 나타나게 하고 싶은데 어떤 수식을 사용하여야 할까요..
항상 도움 감사드립니다.
2022-11-08
709
글번호 163627