커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4754
글번호 230811
답변완료
44235 관련 질문
기존에 0900-1500 를 단위로 데이트레이딩을 햇다면
현재는 야간장을 추가하여 0900-2330 을 "하루"로 보고 ,0900-새벽0100을 "하루"로보고
2330시 와 0100시 에강제청산하는 "데이트레이딩"식으로 변경하는겁니다
If C>openD+(highD(1)-lowD(1))/3 Then buy 식에서
0900-2330 종목에적용할때 openD 는 당일 0900시시가 로 highD(1)-lowD(1)는 전일 0900-23300 사이 최고가-최저가로 변경해야합니다
0900-0100 종목에적용할때 openD 는 당일 0900시시가 로 highD(1)-lowD(1)는 전일 0900-0100 사이 최고가-최저가로 변경해야합니다
0900-2330 종목에서 당일(0900-2330사이) 고 저 종 , 0900-0100 종목에서 당일(0900-0100사이) 고,저,종 은 어떻게 표현되나요 ?
한번만 더 확인해주세요
감사합니다
영업일 변경시간기준이 야간장시작시간2100인가요 ? 다음날 주간장시작시간 0900인가요 ?
0900-2330 ,0900-0100 종목에 DAY 함수를 사용하는게 맞나요 ?
2015-10-01
113
글번호 90824
답변완료
지표식 부탁합니다
스토캐스틱 (12,5,5) 골든크로스때 주가 기록
골든크로스 후 주가 상승하여 골든크로스 발생시 주가 대비 15핍 이상 상승시 지표식
(골든크로스 후 데드크로스 발생전 상승 기준으로 15핍 이상 상승)
스토캐스틱 (12,5,5) 데드크로스때 주가 기록
데드크로스 후 주가 상승하여 데드크로스 발생시 주가 대비 15핍 이상 하락시 지표식
(데드크로스 후 골든크로스 발생전 하락 기준으로 15핍 이상 하락)
2015-09-30
116
글번호 90822
답변완료
수식작성을 부탁드립니다.
아래 수식좀 부탁 드립니다.
1. 선차트에서 5일선이동평균선이 20일선이동평균선을 돌파즉시 2계약 종가매수진입한후
20틱상승시 1계약 매수청산하고,나머지 1계약은 5일선이동평균선이 20일선이동평균선을
이탈하면 매수청산과 동시에 2계약을 종가매도진입 한후
20틱하락시 1계약 매도청산하고, 나머지1계약은 5일선이동평균선이 20일선이동평균선을
돌파즉시 매도청산후 2계약을 종가매수진입을 반복적으로 실행되는 수식좀 부탁드립니다.
(단,진입계약수는 2계약 또는 3계약 또는 5계약과 같이 임의로 수정가능함)
2015-09-30
116
글번호 90821
답변완료
Text_New 함수로 전일의 고가/저가 표시
안녕하세요?
선물 복합장 틱차트에서 Text_New 함수로 전일의 고가 및 저가의 봉 위치에 가격을 문자로 입력하고자 합니다.
전일 고점/저점의 봉번호(index)를 알고 있을 때, sdate와 stime을 어떻게 표현하면 가능한 지 알려 주시기 바랍니다. 감사합니다.
2015-09-30
183
글번호 90820
답변완료
문의
Sell();
2015-10-01
114
글번호 90819
답변완료
44243 재문의입니다.
Sell();
2015-10-01
113
글번호 90818
답변완료
질문 다시 올립니다
지난번에 드린 질문에 아래와 같이 수식을
작성해 주셨습니다 . 그런데 잘못이해하신부분이
금일 시가선 (dayopen)이 아닌 30분 시가선입니다
input : Minutes(90);
var1 = TimeToMinutes(stime)%Minutes;
위와 같은 수식이 필요할 것 같습니다
다시 한번 부탁 드립니다
30분 시가선을 음봉으로 뚫었을시 매도하라
30분 시가선을 양봉으로 뚫었을시 매수하라
안녕하세요
예스스탁입니다.
if c < O and crossdown(c,dayopen) Then
sell();
if c > O and crossup(C,dayopen) Then
buy();
즐거운 하루되세요
> 백스톰 님이 쓴 글입니다.
> 제목 : 안녕하세요 시스템식 문의 드립니다
> 안녕하세요 ?
수식 질문드립니다
30분봉 시가선을 음봉으로 뚫었을시 매도하라
30분봉 시가선을 양봉으로 뚫었을시 매수하라
감사합니다
2015-09-30
99
글번호 90817
답변완료
글번호 44230번 재질문
답변주신 아래의 함수 검증 요청드립니다.
if date != date[1] Then{
NP1 = NetProfit[1];#전일까지의 총수익
NP2 = NP1;#전전일까지의 총수익
}
if MarketPosition <= 0 and NP1 < NP2 Then{
if MarketPosition == 0 and (TotalTrades == 0 or (PositionProfit(1) < 0 and PositionProfit(1) < 0)) Then
buy("b1",AtStop,highest(H,10)+priceScale);
if MarketPosition == -1 and PositionProfit < 0 and PositionProfit(1) < 0 Then
buy("b2",AtStop,highest(H,10)+priceScale);
}
2015-09-30
114
글번호 90816
답변완료
지표 부탁 드립니다.
항상 만족 할만한 답변에 감사드립니다.
그림과 같이 지표의
고점좌표: A(x1,y1)
전고점좌표:C(x3,y3)
그사이의 저점 좌표:B(x2,y2)
저점좌표 :B(x2,y2)
전저점좌표:D(x4,y4)
그사이의 고점 죄표 :C(x3,y3)
라 할 때
각각 삼각형의 외적을 구하고
HS1=1/2 |x1(y2-y3)+x2(y3-y1)+x3(y1-y2)|
LS1=1/2 |x2(y3-y4)+x3(y4-y2)+x4(y2-y3)|
HS2=
LS2=
.
.
.
HSi=
LSi=
HSsum=HS1+HS2+-------+HSi
LSsum=LS1+LS2+-------+LSi
hsls=HSsum-LSsum
(또는 accumn(hsls,20)
를 구하고자 합니다.
미리 감사 드립니다.
Var:j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0);
Array:valArr[10](0),barArr[10](0),turnPntArr[10]("");
For j = 0 To 9
{
barArr[j] = barArr[j] + 1;
}
Condition1 = Min(valArr[1],valArr[2]) * (1 + (0.5/100)) < H and lastHiVal < H;
Condition2 = Max(valArr[1],valArr[2]) * (1 - (0.5/100)) > L and (lastLoVal > L || lastLoVal == 0);
If Condition1 Then { lastHiVal = H; lastLoVal = 0; }
If Condition2 Then { lastLoVal = L; lastHiVal = 0; }
turnPntBit = "";
If Condition1 and Condition2 Then
{
If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then
turnPntBit = "HiLo";
Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi";
Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo";
}
Else If Condition1 Then turnPntBit = "Hi";
Else If Condition2 Then turnPntBit = "Lo";
If turnPntBit <> "" Then
{
If turnPntBit == "HiLo" Then
{
valArr[1] = IFF(turnPntArr[1] == "Hi",H,L);
barArr[1] = 0;
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
If turnPntArr[1] == "Hi" Then
turnPntBit = "Lo";
Else
turnPntBit = "Hi";
}
If turnPntBit <> turnPntArr[1] Then
{
for j = 8 downto 1
{
valArr[j+1] = valArr[j];
barArr[j+1] = barArr[j];
turnPntArr[j+1] = turnPntArr[j];
}
}
If turnPntBit <> turnPntArr[1] or
(turnPntBit == turnPntArr[1] and
((turnPntBit == "Hi" and valArr[1] < H) or
(turnPntBit == "Lo" and valArr[1] > L))) Then
{
valArr[1] = IFF(turnPntBit == "Hi",H,L);
barArr[1] = 0;
turnPntArr[1] = turnPntBit;
If turnPntArr[1][1] <> turnPntArr[1][0] Then
TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
Else
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
}
}
TL_SetSize(TL1,2);
TL_SetColor(TL1,GREEN);
var : TL11(0),TL12(0),TL21(0),TL22(0);
if turnPntArr[1][0] == "Hi" Then{
TL_Delete(TL11);
TL11 = TL_New(sDate[barArr[3]],sTime[barArr[3]],valArr[3],sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
TL_SetColor(TL11,red);
if turnPntArr[1][0] != turnPntArr[1][1] Then{
TL12 = TL_New(sDate[barArr[4]],sTime[barArr[4]],valArr[4],sDate[barArr[2]],sTime[barArr[2]],valArr[2]);
TL_SetColor(TL12,blue);
}
}
if turnPntArr[1][0] == "Lo" then{
TL_Delete(TL11);
TL11 = TL_New(sDate[barArr[3]],sTime[barArr[3]],valArr[3],sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
TL_SetColor(TL11,blue);
if turnPntArr[1][0] != turnPntArr[1][1] Then{
TL22 = TL_New(sDate[barArr[4]],sTime[barArr[4]],valArr[4],sDate[barArr[2]],sTime[barArr[2]],valArr[2]);
TL_SetColor(TL22,red);
}
}
2015-09-30
197
글번호 90815