커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5492
글번호 230811
답변완료
항생본장의 고저가출력
안녕하세요?
항생시장의 ""1015분부터 1730분 까지""의 "본장"의 "고가와 저가"를 화면에 라인출력하는 지표를 부탁드립니다.
1. Highest 라인 A위치가 아닌 B의 위치(임의)에 출력될 수 있도록 부탁드립니다.
2. Lowest 라인도 B의 위치라인의 상단에 출력될 수 있도록 부탁드립니다,
그동안 답변주신 다른분들의 글도 읽어보았는데 위치나 상하단에 출력조정이 불가하다면 라인출력과 택스트 출력이 될 수 있도록만 부탁드립니다.
2020-09-21
943
글번호 142526
답변완료
부탁드려요~
안녕하세요 다시한번 부탁드립니다.
1.당일 첫번째 캔들차트 스킵
2.직전 캔들봉 고점 보다 현재 캔들봉이 0.5를 돌파하면 돌파시점 현재가 매수 진입
3.진입 종가에 청산
---------------------------------------------------------------
1.당일 첫번째 캔들차트 스킵
2.직전 캔들봉 고점 보다 현재 캔들봉이 0.5를 돌파하면 전고점+0.5에 매수 진입
3.매수진입 가격보다 0.2틱 높게 청산
---------------------------------------------------------------
1.당일 첫번째 캔들차트 스킵
2.직전 캔들봉 저점 보다 현재 캔들봉이 -0.5를 돌파하면 매도 진입
3. 진입 종가에 청산
---------------------------------------------------------------
1.당일 첫번째 캔들차트 스킵
2.직전 캔들봉 저점 보다 현재 캔들봉이 -0.5를 돌파하면 전저점 + -0.5 매도 진입
3.매도진입보다 -0.2틱 낮게 매도청산
---------------------------------------------------------------
감사합니다
2020-09-23
826
글번호 142525
답변완료
수식 좀 부탁 드립니다.(목표수익)
* 많은 도움에 고맙 습니다.
* <요청1> 04시 부터 다음날 08시 까지는 보유 및 진임금지 수식 좀 요청 드립니다.
즉 새벽 04시 되면 모든 계약 을 청산(매수진입, 매도진입 모두 청산) 하고
아침 08시 까지 대기후 08시1분 되면 조건에 맞게 매매시작 하는 로직 좀 부탁 드립니다.
* <요청2> 다음 수식에서 어느 부분이 잘못했는지 지도 좀 요청 드림니다.
## 30봉 경과후 수익이 "0" 이면 청산
if MarketPosition == 1 and IsEntryName("SS1") == true and BarsSinceEntry >= 30 Then {if highest(H,BarsSinceEntry) > EntryPrice+PriceScale Then ExitLong ("SSSWDD3");}
if MarketPosition == -1 and IsEntryName("DD1") == true and BarsSinceEntry >= 30 Then {if Lowest(L,BarsSinceEntry) < EntryPrice-PriceScale Then ExitShort("DDSWSS3");}
어느 부분이 잘못 되었는지 청산이 안됨니다.
* <요청3> 즉 아래 세개 수식을 하나로 합처 주시면 고맙겠습니다.
아래 수식으로 매수후
var1 = ma(c,5) ;
var2 = ma(c,10) ;
var3 = ma(c,20) ;
if crossup(var1,var2) then buy("aa1") ;
if crossdowwn(var1,var2) then sell("bb1") ;
1차 목표 수익후 바로 청산 하는것이 아니라
1차 목표 수익 달성후 2차 목표 수익 까지 대기 2차 목표 수익 달성
아니면
1차 목표 수익 달성후 1차 목표 수익이 줄어들어 청산로직 까지 오면 청산 요청 드립니다.
즉 아래 세개 수식을 하나로 합처 주시면 고맙겠습니다.
아래 기준 수식)
.1차 목표 수익 달성(70틱)
.2차 목표 수익 달성(100틱)
.1차 목표 수익 달성후 손실 발생 하면 최종 40틱 까지 오면 청산 입니다.
## 1차 목표 수익 청산
if MarketPosition == 1 Then { if highest(H,BarsSinceEntry) > EntryPrice+PriceScale*70 Then ExitLong("수청1",AtLimit,EntryPrice+PriceScale*60);}
if MarketPosition == -1 Then { if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*70 Then ExitShort("도청1",AtLimit,EntryPrice-PriceScale*60);}
## 2차 목표 수익 청산
if MarketPosition == 1 Then { if highest(H,BarsSinceEntry) > EntryPrice+PriceScale*100 Then ExitLong("수청1",AtLimit,EntryPrice+PriceScale*80);}
if MarketPosition == -1 Then { if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*100 Then ExitShort("도청1",AtLimit,EntryPrice-PriceScale*80);}
## 1차 목표 수익후 아래 수익까지 줄어들면 최종 청산
if MarketPosition == 1 and IsEntryName("SS1") == true Then {if highest(H,BarsSinceEntry) > EntryPrice+PriceScale*60 Then ExitLong ("수청3",AtStop,EntryPrice+PriceScale*40);}
if MarketPosition == -1 and IsEntryName("DD1") == true Then {if Lowest(L,BarsSinceEntry) < EntryPrice-PriceScale*60 Then ExitShort("도청3",AtStop,EntryPrice-PriceScale*40);}
* 많은 지도에 고맙습니다. 수고하십시요.
2020-09-21
956
글번호 142524
답변완료
일목균형표_Data2 수식 검토 좀 부탁드립니다.
안녕하세요?
Data2의 일목균형표를 만들어 보았는데 맞지를 않아서 부탁 드립니다.
=================================================================
Inputs: TurnLen(9), StdLen(26), PrdLen(52);
Variables: 기준선(0,Data2), 전환선(0,Data2), 후행스팬(0,Data2), 선행스팬1(0,Data2), 선행스팬2(0,Data2);
전환선 = (Data2(Highest(High, TurnLen)) + Data2(Lowest(Low, TurnLen))) / 2;
기준선 = (Data2(Highest(High, StdLen)) + Data2(Lowest(Low, StdLen))) / 2;
후행스팬 = Data2(Close) ;
선행스팬1 = (전환선 + 기준선) / 2 ;
선행스팬2 = (Data2(Highest(High, PrdLen)) + Data2(Lowest(Low, PrdLen))) / 2;
Plot1(전환선, "전환선");
Plot2(기준선, "기준선");
Plot3(후행스팬, "후행스팬");
Plot4(선행스팬1,"선행스팬1");
Plot5(선행스팬2, "선행스팬2");
2020-09-18
821
글번호 142523
답변완료
수식 부탁드립니다.
이런 서비스를 하다니 놀라며 감사드립니다.
<문의>
종목:국내선물
사용지표 : 캔들. 거래량
□ 캔들 : 5분봉
□ 진입 : 시초거래량(9:00-9:05분)이후 전거래량 대비 많은 거래량(전거래량 대비 양봉)
이 처음 나왔을때 그 캔들의 중앙값에서 진입
(캔들이 양봉이면 매수, 음봉이면 매도)
* 단, 하락형 양봉(위꼬리가 몸통보다 길거나 같은 양봉)은 매수 진입하지 않으며
상승형 음봉(아래꼬리가 몸통보다 길거나 같은 음봉)은 매도 진입하지 않음.
□ 청산 : 손절1.2P, 청산1.5P, 청산되지 않았을시 3시 30분 청산
※ 시스템신호(상하화살표)도 같이 부탁드립니다.
2020-09-19
1224
글번호 142517
답변완료
수식으로 짜여진 검색식을 부탁합니다.
검색식 문의 드립니다.
1.이평선이 10<5>20 일 것.
2.20일 이전에 10<20일선이 데드크로스 1회 발생
3.20일안에 데드크로스 발생한 날의 같은 위치에서 10>20 일선이 골든크로스가 나오는 종목
4.주가범위-1000~50000이하
5.최소거래량 50000주이상
6.증거금100%제외,은행/증권/보험주제외,ETF제외,정리매매제외,거래정지제외,우선주제외,투자경고/위험제외,관리종목제외,투자주위제외,불성실공시제외,스팩제외,ETN제외
2020-09-18
1049
글번호 142516
뮬리 님에 의해서 삭제되었습니다.
2020-09-18
0
글번호 142513
답변완료
문의드립니다!
안녕하세요!
1, 아래 "수식1"은 얼마전에 답변해주신 수식인데요
이수식을 교차챠트를 만들어 콜캔들에 적용시는 세로선등이 제대로 작동이 되는데
풋캔들에 적용시는 세로선등이 틀리게 나오네요
풋캔들에 적용시는 수식이나 기타 어떤설정등을 달리해야하나요?
2, 아래 "수식2"를 기반으로해서 이 수식을 좀더 범위를 넓혀서 아래와같이 수정해주시면
감사하겠습니다
(1) 콜풋봉 각각 3개씩 해서 총 6개의 봉으로 교차챠트를 만들었습니다
* data1 콜1, data2 풋1, data3 콜2, data4 풋2,.......
(2) 이 6개의 봉이 각각 상대봉의 고점 저점을 만날때 세로선과 음성신호 발생
즉, 콜봉1 이 풋봉 3개의 고점 저점을 각각 만날때로서 여섯곳이 대상이 되겠네요
이런식으로하면 총 36곳이 대상이 됩니다 (6*6=36)
(3) 이렇게해서 어떤봉이던 조건이 만족시 세로선과 음성신호가 발생되도록 부탁드립니다
* 세로선의 두께와 색상 그리고 N틱전 설정은 아래 수식과 똑같이 작성바랍니다
* 단순작업이 반복되는 구간이 많아 번거로우시다면 첫 예시만 작성해주시면 이후는 제가 작성하겠습니다
항상 감사드립니다!!!
------------------------------------------------------------------------------------
(수식 1)
input : 굵기1(2),굵기2(2),굵기3(2),색상1(RED),색상2(BLUE),색상3(GREEN);
var : 당일시가(0),전일시가(0),금일종가(0),전일종가(0);
var : 금일고가(0),전일고가(0),금일저가(0),전일저가(0);
var : 금일중간가격(0),전일중간가격(0),천정대칭가격(0),바닥대칭가격(0);
var : Tx1(0),tx2(0),tx3(0),tx4(0),tx5(0),tx6(0);
var : Tx7(0),tx8(0),tx9(0),tx10(0),tx11(0),tx12(0),TL1(0),TL2(0),TL3(0);
당일시가 = dayopen;
전일시가 = dayopen(1);
금일종가 = dayclose;
전일종가 = dayclose(1);
금일고가 = dayhigh;
전일고가 = dayhigh(1);
금일저가 = daylow;
전일저가 = daylow(1);
금일중간가격 = (dayhigh + daylow)/2;
전일중간가격 = (dayhigh(1)+daylow(1))/2;
천정대칭가격 = dayhigh + (dayhigh - dayhigh(1));
바닥대칭가격 = daylow - (daylow-daylow(1));
Plot1(당일시가);
Plot2(전일시가);
Plot3(금일종가);
Plot4(전일종가);
Plot5(금일고가);
Plot6(전일고가);
Plot7(금일저가);
Plot8(전일저가);
Plot9(금일중간가격);
Plot10(전일중간가격);
Plot11(천정대칭가격);
Plot12(바닥대칭가격);
if Index == 1 or Bdate != Bdate[1] Then
{
tx1 = Text_New_Self(sDate,sTime,당일시가,"당일시가 "+NumToStr(당일시가,2));
tx2 = Text_New_Self(sDate,sTime,전일시가,"전일시가 "+NumToStr(전일시가,2));
tx3 = Text_New_Self(sDate,sTime,금일종가,"금일종가 "+NumToStr(금일종가,2));
tx4 = Text_New_Self(sDate,sTime,전일종가,"전일종가 "+NumToStr(전일종가,2));
tx5 = Text_New_Self(sDate,sTime,금일고가,"금일고가 "+NumToStr(금일고가,2));
tx6 = Text_New_Self(sDate,sTime,전일고가,"전일고가 "+NumToStr(전일고가,2));
tx7 = Text_New_Self(sDate,sTime,금일저가,"금일저가 "+NumToStr(금일저가,2));
tx8 = Text_New_Self(sDate,sTime,전일저가,"전일저가 "+NumToStr(전일저가,2));
tx9 = Text_New_Self(sDate,sTime,금일중간가격,"금일중간가격 "+NumToStr(금일중간가격,2));
tx10 = Text_New_Self(sDate,sTime,전일중간가격,"전일중간가격 "+NumToStr(전일중간가격,2));
tx11 = Text_New_Self(sDate,sTime,천정대칭가격,"천정대칭가격 "+NumToStr(천정대칭가격,2));
tx12 = Text_New_Self(sDate,sTime,바닥대칭가격,"바닥대칭가격 "+NumToStr(바닥대칭가격,2));
}
Else
{
Text_SetLocation(tx1,NextBarSdate,NextBarStime,당일시가);
Text_SetLocation(tx2,NextBarSdate,NextBarStime,전일시가);
Text_SetLocation(tx3,NextBarSdate,NextBarStime,금일종가);
Text_SetLocation(tx4,NextBarSdate,NextBarStime,전일종가);
Text_SetLocation(tx5,NextBarSdate,NextBarStime,금일고가);
Text_SetLocation(tx6,NextBarSdate,NextBarStime,전일고가);
Text_SetLocation(tx7,NextBarSdate,NextBarStime,금일저가);
Text_SetLocation(tx8,NextBarSdate,NextBarStime,전일저가);
Text_SetLocation(tx9,NextBarSdate,NextBarStime,금일중간가격);
Text_SetLocation(tx10,NextBarSdate,NextBarStime,전일중간가격);
Text_SetLocation(tx11,NextBarSdate,NextBarStime,천정대칭가격);
Text_SetLocation(tx12,NextBarSdate,NextBarStime,바닥대칭가격);
}
if (H >= 전일고가-PriceScale*3 and H[1] < 전일고가-PriceScale*3) or
(L <= 전일고가+PriceScale*3 and L[1] > 전일고가+PriceScale*3) Then
{
TL1 = TL_New(sDate,sTime,99999999,sDate,sTime,0);
TL_SetColor(TL1,색상1);
TL_SetSize(TL1,굵기1);
PlaySound();
}
if (H >= 천정대칭가격-PriceScale*3 and H[1] < 천정대칭가격-PriceScale*3) or
(L <= 천정대칭가격+PriceScale*3 and L[1] > 천정대칭가격+PriceScale*3) Then
{
TL2 = TL_New(sDate,sTime,99999999,sDate,sTime,0);
TL_SetColor(TL2,색상2);
TL_SetSize(TL2,굵기2);
PlaySound();
}
if (H >= 바닥대칭가격-PriceScale*3 and H[1] < 바닥대칭가격-PriceScale*3) or
(L <= 바닥대칭가격+PriceScale*3 and L[1] > 바닥대칭가격+PriceScale*3) Then
{
TL3 = TL_New(sDate,sTime,99999999,sDate,sTime,0);
TL_SetColor(TL3,색상3);
TL_SetSize(TL3,굵기3);
PlaySound();
}
-----------------------------------------------------------------------------------
(수식 2)
input : N(5),굵기(0);
var : H1(0,data1),L1(0,data1),H2(0,Data1),L2(0,Data1);
var : TL1(0,data1),TL2(0,data1),TL3(0,data1),TL4(0,data1);
H1 = data1(DayHigh(0));
L1 = data1(DayLow(0));
H2 = data2(HighD(0));
L2 = data2(LowD(0));
Plot1(H1,"data1 최고");
Plot2(L1,"data1 최저");
Plot3(H2,"data2 최고");
Plot4(L2,"data2 최저");
#data1가격이 상승해 Data2 최고가-N틱을 만날때
if data1(H) >= H2-PriceScale*N and data1(H[1]) < H2[1]-PriceScale*N Then
{
PlaySound("C:예스트레이더dataSound.wav");
TL1 = TL_new(sDate,sTime,99999999,sDate,sTime,0);
TL_SetSize(TL1,굵기);
TL_SetColor(TL1,RED);
}
#data1가격이 하락해 Data2 최저가+N틱을 만날때
if data1(L) <= L2+PriceScale*N and data1(L[1]) > L2[1]+PriceScale*N Then
{
PlaySound("C:예스트레이더dataSound.wav");
TL2 = TL_new(sDate,sTime,99999999,sDate,sTime,0);
TL_SetSize(TL2,굵기);
TL_SetColor(TL2,BLUE);
}
#data2가격이 상승해 Data1 최고가-N틱을 만날때
if data2(H) >= H1-PriceScale*N and data2(H[1]) < H1[1]-PriceScale*N Then
{
PlaySound("C:예스트레이더dataSound.wav");
TL3 = TL_new(sDate,sTime,99999999,sDate,sTime,0);
TL_SetSize(TL3,굵기);
TL_SetColor(TL3,MAGENTA);
}
#data2가격이 하락해 Data1 최저가+N틱을 만날때
if data2(L) <= L1+PriceScale*N and data2(L[1]) > L1[1]+PriceScale*N Then
{
PlaySound("C:예스트레이더dataSound.wav");
TL4 = TL_new(sDate,sTime,99999999,sDate,sTime,0);
TL_SetSize(TL4,굵기);
TL_SetColor(TL4,CYAN);
}
2020-09-22
850
글번호 142507
답변완료
수식 부탁드립니다.
안녕하세요? 종목 검색 수식 도움 부탁 드립니다.
1.Bollinger band(30.2) 종가가 상한선 돌파
2.Bollinger band(20.2) 종가가 상한선 돌파
3.Envelope(10,5) 종가가 Envelope 상한선 상향돌파
4.Envelope(30,5) 종가가 Envelope 상한선 상향돌파
5.당일시가가 전일고가 돌파
6.당일거래량이 전일 거래량 2배이상
위 내용이 동시 나올때 종목검색 나오 도록 부탁드립니다.
감사합니다.
2020-09-18
918
글번호 142500