커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7661
글번호 230811
답변완료
다시문의드립니다..
답변 감사드립니다.
하나만 더질문드릴게요
그렇다면 청산거래미체결시 수식에서는 이를 인지하지 못하므로
시스템식으로는 미체결된 오버수량을 컨트롤하지 못하므로
미체결된 수량은 수동으로 직접 청산하여야하는거가 맞는지요??
---------------------------------------------------------------
안녕하세요
예스스탁입니다.
1.
작성하신 식은 당일 첫봉에 이전에 진입신호가 있으면 청산한다는 내용이며
atmarket은 신호가격을 설정하는 타입이 아니므로 아래와 같이 작성하셔야 합니다.
If MarketPosition == 1 and sTime==090000 Then
ExitLong("매수당일청산0",AtMarket,def);
If MarketPosition == -1 and sTime==090000 Then
ExitShort("매도당일청산0",AtMarket,def);
2.
수식에서는 잔고의 상태를 알수 없어
미체결등의 내용을 인지하여 식으로 작성할 수 없습니다.
위 식은 단지 차트상의 이전에 진입신호가 있고 청산되지 않고 오버한 신호가
있을 때 발동합니다.
3.
수식에서는 주문가격을 지정하는 부분이 없습니다.
atmarket은 신호타입으로 if조건만족하는 봉이 완성시
(봉완성은 다음봉 시가 수신) 신호와 주문이 발생하고
신호상 진입이나 청산가격으로 다음봉 시가를 사용한다는 타입입니다.
주문가격의 시장가와는 관계가 없는 내용입니다.
위 내용들은 모의와 실전 모두 같은 내용입니다.
4.
모의투자는 체결등의 내용이 거래소와 같이 복잡한 구조가 아닌
단순화된 원칙으로 체결이 되며 증거금계산등의 복잡성으로
시장가등은 제공하지 않습니다.
즐거운 하루되세요
> 껀맨 님이 쓴 글입니다.
> 제목 : 재문의...
>
다시 질문드립니다. 만약 체결안된 잔량을 다음날 아침에 무조건 청산하려고
If MarketPosition == 1 and sTime==090000 Then
ExitLong("매수당일청산0",AtMarket,C);
If MarketPosition == -1 and sTime==090000 Then
ExitShort("매도당일청산0",AtMarket,C);
이런식으로 조건식 하나를 추가했는데요
수동매매에서 모의투자에서는 시장가주문이 안된다고 뜨는데
그럼 시스템식으로 atmarket주문이 모의투자에서는 먹히지않는건가요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 당일강제청산체결문제...
> 안녕하세요
예스스탁입니다.
수식에서 체결문제는 컨트롤이 되지 않습니다.
시스템은 지정한 조건만족시 신호를 발생하고
시스템 트레이딩 설정창에 지정한 매매가격으로 주문을 발생합니다.
매매가격을 체결에 유리한 가격으로 설정해 보시기 바랍니다.
현재가+-3호가로 설정하시면 매수주문은 현재가에서 3틱높게
매도주문은 3틱낮은 가격으로 주문되서 좀더 체결에 유리하게 됩니다.
즐거운 하루되세요
> 껀맨 님이 쓴 글입니다.
> 제목 : 당일강제청산체결문제...
> 안녕하세요
모의투자로 day전략을 시험운용중인데요
당일강제청산식이 가끔씩 체결되지 않아서..(한두달에 한번꼴로....)
질문드립니다.
//당일청산
If MarketPosition == 1 and sTime >143000 Then
ExitLong("매수당일청산1",AtLimit,C);
If MarketPosition == -1 and sTime >143000 Then
ExitShort("매도당일청산1",AtStop,C);
If MarketPosition == 1 and sTime >144400 Then
ExitLong("매수당일청산2",AtLimit,C);
If MarketPosition == -1 and sTime >144400 Then
ExitShort("매도당일청산2",AtStop,C);
If MarketPosition == 1 and sTime >144500 Then
ExitLong("매수당일청산3",AtMarket,C);
If MarketPosition == -1 and sTime >144500 Then
ExitShort("매도당일청산3",AtMarket,C);
이런식으로 당일강제청산이 혹시나 체결되지 않을 경우를 대비해서 수식을 짰고
시스템설정에서도 2:45분 조건만족즉시 당일강제청산에 체크를 해놓았는데요.
실제 시스템차트에서는 청산신호가 나왔음에도 불구하고 계좌평가/체결내역에는
주문이 들어가지 않았습니다. 시스템불안으로 인한건지... 수식이나 뭐에 문제가 있어서 그런건지 답변좀부탁드립니다.
2012-04-17
370
글번호 50181
답변완료
추가 문의
친절한 답변에 감사드리며
추가 문의드립니다.
참조 데이타가 모두 4가지인 경우에
'data2(0)+data3(0)+data4(0)+data(5)' 의
오전 9시부터 11시까지의 (최고값 - 최저값)의 80%를
하향돌파하면 매도, 상향돌파하면 매수하는
시스템식을 만들고 싶습니다.
초보라 잘 되지 않습니다.
부탁드립니다.^^
감사합니다.^^
안녕하세요
예스스탁입니다.
var : D2H(0),D2L(0);
if data2(stime>=90000 and stime < 110000) Then{
D2H = data2(highd(0));
D2L = data2(lowd(0));
}
plot1(D2H);
plot2(D2L);
즐거운 하루되세요
> 대호 님이 쓴 글입니다.
> 제목 : 9시부터 11시까지의 참조 데이타 최고값, 최저값 표현하는 식을 알고 싶습니다.
> 수고가 많습니다.
9시부터 11시까지의(5분봉 기준)
참조 데이타 최고값, 최저값을 어떻게 표현하나요?
참조 데이타 값이 9시부터 11시까지 최고값의 80%에 해당하는 값을
하향돌파하면 매도!
이런 시스템 식을 만들고 싶은데,
잘 안되네요...
부탁드립니다.
고맙습니다.^^
2012-04-17
345
글번호 50180
답변완료
늦은시간까지 수고가 많으십니다~^^ 냉무
시간이 많이 늦었는데 답 해주느라 고생이 많으십니다
건강 챙기면서 하세요~~^^
2012-04-17
363
글번호 50179
답변완료
재 질문
고점:5 이평선이 상승하다 하락반전하면 현재봉에서부터 이전 5개봉까지의
제일 고점을형성한 봉의 종가
저점:5 이평선이 하락하다 상승 반전하면 현재봉에서부터 이전 5개 봉까지의
제일 저점을형성한 봉의 종가
고점과저점 연장선은 고점은 다음 저점이 나올때까지
저점은 다음 고점이 나올때까지
위는 이전 질문 내용입니다 지표식을 적용해보니 또 안맞는군요
다시질문드림니다
고점: 현재봉에서 5이평선이 상승하다 하락반전하면 현재봉에서 부터 이전 5개봉중에
제일 고점을 형성한 봉의 종가( 지표식을 적용해보니 고점이 5 이평이 하락반전
한 종가 에 표시됩니다)
저점: 현재봉에서 5 이평이 하락하다 상승반전하면 현재봉에서부터 이전 5개 봉중에
제일 저점을 형성한 봉의 종가(이도 마찬가지로 5 이평이 상승 반전한 봉의
종가 지점에 표심됨)
이밖에 고점이 아닌데도 고점이표시되고 저점이아닌데도 저점 표시되고 저점에 고점이 표시, 고점에 저점 표시 .... 암튼 여러가지로 안맞는군요~~
지표식이 안맞으니까 시스템도 안맞는 신호따라 가버리네요~~
번거롭더라도 다시한번 검토바랍니다
감사합니다
2012-04-17
514
글번호 50178
답변완료
수식부탁드립니다------
value = v;
cvcha = value/1.5 - (c*10);
cvchacha = ( cvcha - 2300 ) / 2000;
jisucha = c - DayOpen;
goldt = cvchacha - jisucha;
//if dayindex == 2 then aa - c - goldjisu;
goldjisu = c+ (goldt+aa) ;
위식을 적용하면 goldjisu 가 첨부의 노란선으로 표시되는데요
goldjisu 의 아침첫봉을 선물지수의 아침첫봉종가와 같은위치에서 시작 하려고
if dayindex == 2 then aa - c - goldjisu;
를추가해서 적용 해봤는데 그대로네요
goldjisu의 아침첫봉시작을 선물지수의 아침첫봉종가와 같은위치에서 시작 하게
해주세요
부탁드림니다
2012-04-17
390
글번호 50174
답변완료
24065번 글 처리부탁드립니다.
말씀드린대로 신호가 전혀 다르게 나오고 있습니다.
주석으로 설명 부탁드립니다.
2012-04-17
347
글번호 50172
답변완료
부탁합니다.
안녕하세요
수식지왕님의 보고 수정부탁드립니다.
삼각형이 그려지는데 에서 매수매도 가능할수있도록 부탁합니다.
고점표시에서 매도
저점표시에서매수
고점추세선이탈시 매수
저점추세선이탈시 매도
input:좌(5),우(5);
var:j(0),예비고(0),예비저(0),예비고bar(0),예비저bar(0),고점표시(0),저점표시(0),
고점추세선(0),저점추세선(0);
array:고[50](0),저[50](0),고bar[50](0),저bar[50](0);
#==============================================================================#
# 변곡점 계산
#==============================================================================#
if highest(h,좌)==h and iff(예비고bar<우,예비고<h,1) then
{
예비고=h;
예비고bar=0;
}
else
예비고bar=예비고bar+1;
if lowest(l,좌)==l and iff(예비저bar<우,예비저>l,1) then
{
예비저=l;
예비저bar=0;
}
else
예비저bar=예비저bar+1;
고점표시=(o[우]+c[우])/2;
저점표시=(o[우]+c[우])/2;
for j=1 to 49 begin
고bar[j]=고bar[j]+1;
저bar[j]=저bar[j]+1;
end;
if 예비고bar==우 then
{
if 저bar[1]>고bar[1] then
{
if 고[1]<예비고 then
{
고점표시=예비고*1.0005;
고[1]=예비고;
고bar[1]=예비고bar;
}
}
else
{
for j=49 downto 2 begin
고[j]=고[j-1];
고bar[j]=고bar[j-1];
end;
고점표시=예비고*1.0005;
고[1]=예비고;
고bar[1]=예비고bar;
}
}
if 예비저bar==우 then
{
if 고bar[1]>저bar[1] then
{
if 저[1]>예비저 then
{
저점표시=예비저*0.9995;
저[1]=예비저;
저bar[1]=예비저bar;
}
}
else
{
for j=49 downto 2 begin
저[j]=저[j-1];
저bar[j]=저bar[j-1];
end;
저점표시=예비저*0.9995;
저[1]=예비저;
저bar[1]=예비저bar;
}
}
#==============================================================================#
# 자동추세선 계산
#==============================================================================#
고점추세선 = 0;
for j = 2 to 49 begin
if 고[j] > 고[1] and 고점추세선 == 0 then
{
고점추세선=((고[1]-고[j])/(고bar[j]-고bar[1]))*고bar[j]+고[j];
}
end;
저점추세선 = 0;
for j = 2 to 49 begin
if 저[j] < 저[1] and 저점추세선 == 0 then
{
저점추세선=((저[1]-저[j])/(저bar[j]-저bar[1]))*저bar[j]+저[j];
}
end;
#==============================================================================#
# 지표출력
#==============================================================================#
if 고점표시 > h[우] then plot1(고점표시,"전고점",BLUE);
if 저점표시 < l[우] then plot2(저점표시,"전저점",RED);
if 고점추세선>0 then plot3(고점추세선,"고점추세선",BLUE);
if 저점추세선>0 then plot4(저점추세선,"저점추세선",RED);
2012-04-17
372
글번호 50170
답변완료
부탁드립니다.
(3개봉 모두 음봉이고,
3개봉 중 첫번째 봉의 시가와 3번째 봉의 종가의 폭이 2.5%이상)
and (볼린저밴드(20.2) 하단선이하에 현재가가 위치) => X
(2개의 봉 모두 음봉이고 2개봉 중 첫번째 봉의 시가와 2번째봉의 종가의 폭이 2.5%이상) and (볼린저밴드 (20.2) 하단선 이하에 현재가가 위치) => Y
(1개의 봉이 음봉, 봉의 시가와 종가의 폭이 2.5%이상) and (볼밴(20.2) 하단선 이하에 현재가 위치) => Z
1차 매수조건 -> X or Y or Z 매수금액 1000000원
2차 매수조건 -> 매수시점에서 2%하락시 매수 매수금액 1000000원
3차 매수조건 -> 2차매수시점에서 2%하락시 매수, 매수금액 2000000원
단 매수조건 만족후 3봉이내에서 매수 되어야 되며 체결안될시 매수 취소
수익실현조건 -> 1차 매수시 : 1.1% 수익발생시 매도
or [볼린저밴드(20.2)의 중심선 반매도 상단선에 닿을시 반매도]
2차매수시 : 0.84% 수익 발생시 매도
or [볼린저밴드 (20.2)의 중심선에서 반매도 상단선에서 반매도]
3차매수시 : 0.63%수익 발생시 매도
or [볼밴 (20.2)의 중심선에서 반매도, 상단선에서 반매도]
부탁드립니다.
2012-04-17
465
글번호 50164
답변완료
추가로 부탁드리겠습니다.
3분봉 매매를 하려고 합니다.
첫번째. 최근 3일간 손실이 있는 경우에는 매수 금지식을 부탁드립니다.
두번째. 매수시에 주가와 20이평선의 이격이 3% 이상 벌어진 경우에는 매수 금지식을
부탁드립니다.
감사합니다.
2012-04-17
347
글번호 50163