커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4653
글번호 230811
답변완료
함수변환요청(251호 SK증권)
안녕하세요?
아래는 SK증권에서 사용했던 함수입니다.
YT로 변환요청드립니다.
감사합니다.
Input : xtime(60000);
Var : xt(0), st(0), tcond(false), cond1(false), cond2(false);
//6시를 넘어가는 봉이 생기면 Tcond는 false
If time == xtime or (time > xtime and time[1] < Xtime)
Then
Begin
Tcond = false;
End;
//써머타임 적용여부가 반영된 영업일 계산
If (Month(Date) = 3 And ((DayofWeek(Date) = MONDAY And DayofMonth(Date) > 7) Or DayofMonth(Date) > 14))
Or (Month(Date) = 11 And ((DayofWeek(Date) = MONDAY And DayofMonth(Date) < 8) Or DayofMonth(Date) < 7))
Or (Month(Date) > 3 And Month(Date) < 11)
Then
Begin
st = 070000; // 장시작 시간
xt = 060000; // 장종료 시간
End
Else
Begin
st = 080000; // 장 시작 시간
xt = 070000; // 장 종료 시간
End;
//영업일이 변경되면 Tcond는 true Condition1,Condition2는 false
If IntPortion(ceiling(Time/10000)) == IntPortion((st + 10000)/10000)
Then
Begin
Tcond = true;
Condition1 = false;
Condition2 = false;
End;
var1 = ma(c,5);
var2 = ma(c,20);
//종가> 5이평> 20이평이면 true 아니면 false
cond1 = C > var1 and var1 > var2;
//종가< 5이평 < 20이평이면 true 아니면 false
cond2 = C < var1 and var1 < var2;
//정배열이 아니다가 정배열이 되면 Condition1은 true
If cond1 == true and cond1[1] == false then Condition1 = true;
//역배열이 아니다가 역배열이 되면 Condition2는 true
If cond2 == true and cond2[1] == false then Condition2 = true;
//tcond는 true상태이고
//당일정배열이 발생했고 현재도 정배열이고
//2개이평이 상승중이면 매수
If Tcond == true
And Condition1 == true and cond1 == true
And var1 > var1[1] and var2 > var2[1]
Then buy("B");
//tcond는 true상태이고
//당일역배열이 발생했고 현재도 역배열이고
//2개이평이 하락중이면 매도
If Tcond == true
And Condition2 == true
And Cond2 == true
And var1 < var1[1]
And var2 < var2[1]
Then Sell("S");
2016-04-05
170
글번호 96848
답변완료
지표식 부탁드립니다
data1 : 연결선물
data2 : 콜
data3 : 풋
그림과 같이
data2와 data3의 교차챠트에서
1. 옵션 월물첫날 기준가(매뭘 두번째 금요일의 당일저가)와
2. 월물첫날부터 현재까지의 월고가, 월저가를
3. 교차챠트 콜, 풋에 각각 표시하기를 원합니다.
수고하십시오~!
2016-04-05
265
글번호 96847
답변완료
251호 질문
안녕하세요?
시스템 성능보고서상의 질문입니다.
1. 스크립트상 신호는 buy와 sell 그리고 강제청산(SetStopLoss, SetStopProfittarget, SetStopInactivity)으로 이루어졌습니다.
그런데 거래내역상 "ExitShort_#0"과 "ExitLong_#1"이 있습니다. 논리상 "Exit"가 나올 수 있는 것이며 뒤에 붙는 지정하지 않는 "_#0"과 "_#1"이 의미하는 바는 무엇인지요?
2. BUY와 SELL로만 이우러진 스크립트에서 SetStopLoss(100,PercentStop)을 넣는 것과 넣지 않는 것의 신호 및 성과가 달라지는 이유는 무엇일까요?
상식적으로 100% 손절이 있을 수 없어 신호 및 성과가 달라지면 안될 것 같습니다.
2016-04-05
180
글번호 96846
답변완료
한번만 더 부탁드립니다.
안녕하세요?
수식 정말 감사히 잘 받았습니다.
염치 없지만 한번만 더 부탁 드립니다.
어제 작성한 수식에서 추가좀 할려고 합니다.(아래참고)
1. 매수 : 200 MA가 상승기울기이면 매수만 진입 매도 진입없슴.
매도 : 200 MA가 하락기울기이면 매도만 진입 매수 진입없슴.
2. 매수 : 30분봉에 60MA가 상승기울기이면 매수만 진입 매도 진입없슴.
매도 : 30분봉에 60MA가 하락기울기이면 매도만 진입 매수 진입없슴.
3. 매수 : 200 MA와 30분봉에 60MA가 상승기울기이면 매수만 진입 매도 진입없슴.
매도 : 200 MA와 30분봉에 60MA가 하락기울기이면 매도만 진입 매수 진입없슴.
진심으로 감사합니다.
var : T(0);
var1 = ma(C,20);
var2 = ma(C,60);
if var2 > var2[1] Then
T = 1;
if var2 < var2[1] Then
T = -1;
if stime >= 230000 or stime < 030000 then{
if MarketPosition <= 0 and T == 1 and NextBarOpen < var1 Then
buy("b",AtStop,NextBarOpen+PriceScale*3,1);
if MarketPosition >= 0 and T == -1 and NextBarOpen > var1 Then
sell("s",AtStop,NextBarOpen-PriceScale*3,1);
}
if MarketPosition == 1 Then{
ExitLong("bp",AtLimit,EntryPrice+PriceScale*50);
ExitLong("bl",AtStop,EntryPrice-PriceScale*25);
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*20 Then{
ExitLong("bx1",AtStop,EntryPrice+PriceScale*1);
}
if CurrentContracts < MaxContracts Then{
ExitLong("bx2",AtStop,EntryPrice+PriceScale*1);
}
}
if MarketPosition == -1 Then{
ExitShort("sp",AtLimit,EntryPrice-PriceScale*50);
ExitShort("sl",AtStop,EntryPrice+PriceScale*25);
if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*20 Then{
ExitShort("sx1",AtStop,EntryPrice-PriceScale*1);
}
}
2016-04-05
169
글번호 96845
답변완료
수식 부탁드립니다
일목균형표에서 현재가가 5캔들 최고가 위치 선행스팬1 값 붕괴시 매도
일목균형표에서 현재가가 5캔들 최저가 위치 선행스팬1 값 돌파시 매수
감사합니다
2016-04-04
203
글번호 96844
답변완료
파라볼릭 지표
안녕하십니까!
파라볼릭 지표를 첨부 파일처럼 돌파가 되면 돌파 되기 직전 마지막 지표값과
돌파되서 새로 생긴 지표의 첫자리값의 차이를 이용해서 볼린져 처럼 다시
돌파되기 전까지 채널처럼 만들수 있나요? 즉 마지막 값에서 첫 값을 차감해서
새로생긴 지표에 + -로 표시 하면 될거 같은데 마지막 값과 첫값을 구하질
못하겟네요 수고하십시요.
2016-04-04
341
글번호 96834
답변완료
수식 요청합니다.
52주 최고가 대비 40% 이상 하락
and
저가대비 7% 상승시 매수
수식 부탁드리겠습니다
2016-04-04
169
글번호 96833
답변완료
문의 드립니다.
수식 감사합니다.
하지만...
시장가로 해서 돌려보니 그래도 20일선을 하향돌파한후 종가로 팔립니다.(종가 시장가 인가요?)
예를 들어서 20일선을 터치하고 다시 양봉을 만들면 청산이 안됩니다.
20일선을 하향 터치만 해도 청산이 되게 부탁드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식문의 드립니다.
>
안녕하세요
예스스탁입니다.
시장가와 같은 실제 주문가격은 수식안에서 지정되지 않습니다.
시스템 적용시 시스템 트레이딩 설정창의 매매탭에서
진입청산가격을 시장가로 지정하고 적용하시면 됩니다.
input : 진입시작일(20160401), 진입시작시간(90000);
input : 매수가격(10000),수량(1000),이평기간(20);
var : Tcond(false),mav(0);
mav = ma(C,이평기간);
if sdate == 진입시작일 and stime >= 진입시작시간 Then
tcond = true;
if Tcond == true and TotalTrades == 0 and C > mav Then{
if NextBarOpen < 매수가격 Then
buy("b1",AtStop,매수가격,수량);
Else
buy("b2",Atlimit,매수가격,수량);
}
if MarketPosition == 1 and CrossDown(c,mav) Then
exitlong("bx");
즐거운 하루되세요
> 부산사람 님이 쓴 글입니다.
> 제목 : 수식문의 드립니다.
> 진입 : 현재가가 10,000원을 돌파하면 시장가로 1,000주 매수
청산 : 현재가가 20일선 하향돌파하면 시장가로 1,000주 매도(항상 20일선 위에서 매수함)
부탁드리겠습니다.
2016-04-04
181
글번호 96832
답변완료
간단 질문있습니다.
일봉검색식에 현재봉이 120선에 근접한 것을 찾아라 라고 한다면,
검색허용 봉갯수를 500 --> 120봉으로 변경해도 되나요?
그리고 검색허용 봉갯수를 감소시키면 검색속도가 빨라지는지 궁금합니다.
2016-04-04
190
글번호 96830