커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4398
글번호 230811
답변완료
수식작성 부탁드립니다.
안녕하세요? 아래 내용으로 부탁드리겠습니다.
감사합니다.
* 틱차트조건이며, 외부변수 또한 틱임.
**진입조건
1. Day high에서 몸통 길이가 같은 양봉뒤 바로 음봉 매도
(진입봉의 고점과 간격 (외부변수)보다 작은것 까지도허용)
2. Day low에서 몸통 길이가 같은 음봉뒤 바로 양봉 매수
(진입봉의 저점과 간격이 (외부변수)보다 큰것 까지도 허용)
# 단, 진입조건에 몸통이 1틱봉은 제외
**역진입조건
1.음봉 진입후 양봉종가가 음봉시가와 같거나 돌파시 청산 후 청산방향 진입
2.양봉 진입후 음봉종가가 양봉시가와 같거나 돌파시 청산 후 청산방향 진입
# 단, 역진입은 1회로 종료
**청산조건
1.손절 : 외부변수 (틱)
2.익절 : 외부변수 (틱)
#진입후 청산 이후 재진입 반복. (익절이든 손절이든 하기전에 신규진입 금지)
2018-06-16
197
글번호 119763
답변완료
신고가 돌파
if c>highest(h,20) Then
{
buy();
}
if crossdown(ema(c,5),ema(c,60)) Then
{
exitlong();
}
이게 왜 안될까요? 화살표가 안나오네요
20일 신고가 돌파 진입
5이평 60이평 데드 크로스 청산
전략식 부탁 드립니다.
2018-06-15
233
글번호 119762
답변완료
수식 문의드립니다.
1분봉으로 아래 전략으로 시뮬레이션 해보면,
dayopen+(dayhigh(1)-daylow(1))*0.5 가격을 돌파하는 봉이 아닌, 그 다음봉에서
매수하는걸로 되어있는데, 왜 그런지 궁금합니다.
실제 매매에서도 그런지요 ?
if MarketPosition <= 0 and dayhigh >= dayopen+(dayhigh(1)-daylow(1))*0.5 Then
buy("b",AtStop,dayopen+(dayhigh(1)-daylow(1))*0.5);
if MarketPosition == 1 Then{
if NextBarSdate > sdate Then
exitlong("bx2",AtMarket);
}
2018-06-15
183
글번호 119760
답변완료
신호,수식문의
신호문의드립니다.
1.당일 최고거래량 대비 원하는 %발생시 신호[캔들차트에 신호 표시예정]
2.당일 중심선 수식[캔들차트에 선으로 표시할예정]
3.전일대비 총 거래량 대비 원하는 %발생시 신호[캔들차트에 신호 표시예정]
4.캔들 1개에 발생한 거래대금 수식[막대그래프로 거래량과 겹칠예정]
-만약 캔들한개의거래대금이 100억5천만원이면 이면 100.5로 표시원함
5.분봉에 적용할수있는 당일 누적 거래대금 수식[선으로 표시예정]
-만약 장중 실시간 거래대금이 500억5천만원이면 이면 500.5로 표시원함
문의가 많아 껄끄러우시겠지만 답변부탁드립니다 수고하세요^^
2018-06-15
225
글번호 119759
답변완료
식 문의드립니다.
안녕하세요, 아래 식 수정해주셨는데 적용되지 않아 다시문의드립니다.
1.
제가 지정한 일자와 시간부터(예로 5일 10시)
지정한 고점,저점의 값에서 조정대를 설정하고
이후부터는 (6일,7일,8일...)계속해서
진입값(0.652)으로 설정한 부분에서 진입
만약 6일에서 완성된 분봉이 5일10시때 지정한 고점의 값보다 높을시
5일10시에 지정한 저점값은 그대로 두고 6일 완성된 분봉의 고점으로 갱신해서
조정대 값을 재설정합니다.
이때 진입값(0.652)는 그대로지만 조정대값이바뀌니 진입가격은 달라집니다
*추가로 하루에 한번만진입 요청드립니다.
2.
예로 5일10시때 이후로 지정한 고점과 저점에서
6일날 진입설정값(0.652)보다 가격이 낮게 나타날시
무조건 진입하고
진입한 가격을 진입설정값(0.652)으로 잡습니다.
조정대는 5일10시때 지정한 고점과 저점을 기준으로 그대로 유지합니다
그러면 청산설정값은 그대로지만 청산가격은 바뀝니다
위 부분 부탁드립니다
감사합니다!
--------------------------------
안녕하세요
예스스탁입니다.
input : ndate(20180601),ntime(90000),수량(1),고점(100),저점(90);
input : 매매구분(1),rate(0.652),청산1(0.7),청산2(0.6),청산조건가격(0.4),손절(0.3);
var : Tcond(false),HH(0),LL(0);
if sdate == ndate and stime == ntime Then
{
Tcond = true;
hh = 고점;
ll = 저점;
}
if Tcond == true then
{
if H > hh Then
hh = h;
if l < ll Then
ll = l;
var1 = hh-(hh-LL)*rate;
if 매매구분 == 1 and H < var1 and stime < 144000 Then
buy("b",AtStop,var1,수량);
if 매매구분 == -1 and H < var1 and stime < 144000 Then
sell("s",AtLimit,var1,수량);
}
if MarketPosition == 1 Then
{
if lowest(L,BarsSinceEntry) > hh-(hh-LL)*청산조건가격 then
ExitLong("bp1",atlimit,hh-(hh-LL)*청산1);
Else
ExitLong("bp2",atlimit,hh-(hh-LL)*청산2);
ExitLong("bl",AtStop,hh-(hh-LL)*손절);
}
if MarketPosition == -1 Then{
if highest(H,BarsSinceEntry) < hh-(hh-LL)*청산조건가격 Then
ExitShort("sp1",AtLimit,hh-(hh-LL)*청산1);
Else
ExitShort("sp2",AtLimit,hh-(hh-LL)*청산2);
ExitShort("sl",AtStop,hh+(hh-LL)*손절);
}
SetStopEndofday(151500);
즐거운 하루되세요
> 스누피독 님이 쓴 글입니다.
> 제목 : 식문의드립니다.(
>
안녕하세요, 아래식 작성해주셔서 감사합니다.
제가 문의드린거랑 다른부분이 있어 수정부탁드리고자 다시 문의드립니다.
1. 청산부분
청산도 비율로 부탁드립니다.
청산시 옵션이 하나 더 붙는데
가령 청산값을 0.7로 하고 손절을 0.3으로 했을시
진행되는 가격값이 0.4에 다았을때
청산값을 0.6으로 조정되도록 부탁드립니다.
2.
매입 수량설정 부탁드립니다.
3.
다음날 고점이 갱신되면 저점은 그대로고 완성봉의 고점에서 비율에 대한 값을
재조정합니다.
감사합니다
--------------------------------------------------
안녕하세요
예스스탁입니다.
input : ndate(20180601),ntime(90000),고점(100),저점(90),rate(0.652),매매구분(1),청산값(100);
var : Tcond(false),HH(0),LL(0);
if sdate == ndate and stime == ntime Then
{
Tcond = true;
hh = 고점;
ll = 저점;
}
if Tcond == true then
{
if H > hh Then
hh = h;
if l < ll Then
ll = l;
var1 = hh-(hh-LL)*rate;
if 매매구분 == 1 and H < var1 and stime < 144000 Then
buy("b",AtStop,var1);
if 매매구분 == -1 and H < var1 and stime < 144000 Then
sell("s",AtLimit,var1);
}
if MarketPosition == 1 Then
ExitLong("bx",atlimit,청산값);
if MarketPosition == -1 Then
ExitShort("sx",atlimit,청산값);
SetStopEndofday(151500);
즐거운 하루되세요
> 스누피독 님이 쓴 글입니다.
> 제목 : 식 문의드립니다
> 안녕하세요, 식부탁드립니다.
.제가 지정한 일자와 시간(분봉기준), 지정한 값에
피보나치조정대 0(고점)과 1(저점)을 설정하고
설정한 0과1 안에 진입설정값을 잡아 진입,청산을 합니다.
고점을 설정한 날보다 앞으로 진행되는 날들에서(지나온 시간에서의 고점은 무시)
높은 값이 나오면 완성봉의 고점을 0(고점)으로 갱신하여 인식하고 1은
그대로 유지하여 조정대 값을 변경설정합니다.
.진입은 설정 값(예 0.652)에 진입하고 14시40분 이전에만 진입합니다
(설정한 선 값에 가까운 윗 한호가 가격값으로 진입,
진입수량, 매수.매도설정, 진입은 시장가진입)
설정한 값보다 아래에서 값이 시작할시 진입하되
위 설정된 조정대값의 간격을 그대로 유지하여
진입한 시작한 값이 진입설정값이 되도록 부탁드립니다.
.청산은 설정값에 진입하되
조건으로로 설정한 선값에 가격봉이 닫고 청산값으로 향할시 다른 설정값을 정하여 청산한다
손절값은 따로 설정합니다.
(설정한 선값에 가까운 윗호가 가격값으로 진입,
진입한 수량 전량청산, 시장가)
청산은 당일 15시15분에 무조건 전량청산합니다
청산,손절이되면 재진입(진입에서 설정한 수량을 다 매수하지못하여도) 하지않습니다.
위 식 부탁드립니다.
2018-06-15
210
글번호 119758
답변완료
부탁드립니다.
1. 58197과 관련하여, 마지막 최종적인 추세선이 우측으로 계속하여 연장되어 다음 시간대까지 나타나지 않고 단절되어 있습니다. 한번 살펴봐 주세요, 감사합니다.
2018-06-14
190
글번호 119757
답변완료
매도식 수정 요청
* 매도 식 수정 요청 드립니다. 잘 안되네요..... -.-
* <요청 사항> 50.0피보선(var93) 에 오면 매수후
가격이 var88 선 보다 더 하락 하면
var93 가격에 올라오면 매도
* input : Per1(23.6),Per2(38.2),Per3(50.0),Per4(61.8),Per5(76.4);
var : HH(0),LL(0);
HH = dayhigh(0);
LL = daylow(0);
var91 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per1/100));
var92 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per2/100));
var93 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per3/100));
var94 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per4/100));
var95 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per5/100));
var88 = var93*0.97 ;
if c>ma(c,5) and c < var93 Then buy();
if MarketPosition == 1 and C < var88 Then ExitLong("피보매도 ",AtLimit,var93 );
항상 많은 도움에 고맙습니다. 좋은 주말 되십시요.
2018-06-14
169
글번호 119756
답변완료
수식 점검 부탁드립니다.
아래의 로직을 사용하고 있는데요.
다른 종목에서는 오류가 없는데 유독 에이씨티에서만 발생하는 오류입니다.
어떤 문제가 있는건지??
점검 좀 부탁드립니다.
- 아 래 -
input : n(120);
input : 지정일(20180614);
var : 매수금액(3000000);
var : hh(0),ll(0),rr(0),cnt(0),EL(0),EH(0);
if DayHigh(n) > 0 and DayLow(n) > 0 and sdate >= 지정일 then{
hh = dayhigh(1);
ll = daylow(1);
for cnt = 1 to n
{
if dayhigh(cnt) > hh Then
hh = DayHigh(cnt);
if daylow(cnt) < ll Then
ll = daylow(cnt);
}
rr = hh-ll;
var1 = hh;
var2 = hh - rr*0.236;
var3 = hh - rr*0.382;
var4 = hh - rr*0.500;
var5 = hh - rr*0.618;
var6 = hh - rr*0.700;
var7 = ll;
if MarketPosition == 0 and (crossup(c,var4)) and ExitDate(1) != sdate Then
Buy("매수0.5",OnClose,def,Floor(매수금액/C));
if MarketPosition == 0 and (crossup(c,var5)) and ExitDate(1) != sdate Then
Buy("매수0.618",OnClose,def,Floor(매수금액/C));
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
EH = H;
EL = L;
if H > EH Then
EH = H;
if L < EL Then
EL = L;
}
if EL > var6 Then
ExitLong("손절",AtStop,var6);
if MarketPosition == 1 and C > AvgEntryPrice Then
ExitLong("수익",Atlimit,EntryPrice*1.05);
}
}
2018-06-14
191
글번호 119755
답변완료
부탁 드립니다.
도움 주심에 감사 드립니다.
1)
다음 수식이 분차트에는 잘 구현되나
틱차트에는 나오지 않아 틱차트에도 잘 나오도록 수정 부탁 드립니다.
2)
예를 들어
현재 시간인 08:00를 입력할 경우
어제의 08:00와 연결되는 두선만 나오도록 수정 부탁 드립니다.
미리 감사드립니다.
input:시간(080000);
if sTime == 시간 Then{
var1 = max(H,H[1]);
var2 = min(L,L[1]);
var3 = sdate;
if H > H[1] Then
var4 = stime;
Else
var4 = stime[1];
if L < L[1] Then
var5 = stime;
Else
var5 = stime[1];
var11 = var1[1];
var21 = var2[1];
var31 = var3[1];
var41 = var4[1];
var51 = var5[1];
value1 = TL_New(var31,var41,var11,var3,var4,var1);
value2 = TL_New(var31,var51,var21,var3,var5,var2);
value11 = value1[1];
value21 = value2[1];
value12 = value11[1];
value22 = value21[1];
value13 = value12[1];
value23 = value22[1];
value14 = value13[1];
value24 = value23[1];
TL_Delete(value14);
TL_Delete(value24);
}
2018-06-14
182
글번호 119754