커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8052
글번호 230811
답변완료
종목 검색 수식 부탁드립니다..
안녕하세요 늘 고생이많으십니다...
검색 조건은 이렇습니다.
조건 :
당일 상승률 10%이상,
거래대금 50억 이상인 장대양봉이,
어떤 고점을 찍은 뒤 하락하여
그 고점을 최소 4분이상 돌파하지 못하다가 1분봉 상으로 고점이 갱신되면
해당 종목이 검색되는 종목 검색식이 가능할까요???
예시도 올립니다.
2019-02-20
228
글번호 126394
푸른 님에 의해서 삭제되었습니다.
2019-02-20
49
글번호 126393
답변완료
문의드립니다.
수고하십니다.
10분봉기준으로 이동평균선 5일선이 볼린져밴드의 중심선을 상향 돌파시 1계약 매수 진입,
볼린져밴드의 상한선 터치후 현재 가격과 볼린져밴드의 상한선 가격을 비교후
5일선이 볼린져밴드의 상한선보다 높으면 매수포지젼 유지 이고, 상한선 터치후 5틱 하락시 청산
그리고 위의 청산 조건이 성립 하지 않았을시 아래의 방법으로 청산
(현재 10분봉과 바로 전의 10분봉을 비교 하여, 현재 10분봉의 가격이 높으면
매수 유지 , 이보다 5틱 낮으면 청산 )
매도 진입도 위와 같은 형식으로
수식부탁 드립니다.
수고하세요.
2019-02-20
166
글번호 126392
답변완료
음봉 청산 요청
* 좋은 하루 되십시요^^
<요청사항>
. 목표 수익시 청산 할려면 2가지 경우가 있습니다.
case1 경우
if countif(C >= EntryPrice+PriceScale*17,BarsSinceEntry) >= 1 and C < O Then
ExitLong("익절");
## 17틱 이상수익시 다음봉이 양봉이면 그다음봉까지 홀딩 결국 음봉으로 봉이 끝날때 청산
case2
SetStopProfittarget(PriceScale*17,PointStop);
SetStopLoss(PriceScale*17,PointStop);
▶ 이경우에는 어떻게 문장을 구성하면 case1 처럼 음봉청산을 할수 있습니까?
CASE2 경우 목표수익봉(17틱) 이후 청산안하고 계속 가다가 음봉 2번째 에서 매도 할려고 합니다.
지도 요청 드립니다.
고맙습니다.
2019-02-20
199
글번호 126391
답변완료
수정부탁드립니다.
안녕하세요?
아래의 답변 잘 받았습니다. 감사합니다.
안되는 부분 수정 부탁드립니다.
1. 몸통길이가 같은봉이 연속으로 나와야함
-현재 몸통길이가 다른 봉들시 들쑥날쑥하게 나온후 체결됨
2. 외부변수에 지정한 몸통길이 값이 맞지 않게 나옴
- 1번과 연관된 현상입니다. 지정해놓은 몸통길이 틱수와 다르게 되고,
때로는 제대로 될때도 있습니다.
3. 외부변수로 지정한 손절값은 일치하게 나오는데, 익절은 틀림
- 익절폭이 손절지정해놓은 값에따라 매매됩니다.
------------------------------------------------------------------------
안녕하세요
예스스스탁입니다.
input : 매도양봉길이(5),매도음봉길이(5),매도양봉갯수(5);
input : 매수양봉길이(5),매수음봉길이(5),매수음봉갯수(5);
input : 손절틱수(10),익절틱수(10);
var : idx(0);
if bdate != bdate[1] Then
idx = 0;
Else
idx = idx+1;
if MarketPosition == 0 and
idx >= 매도양봉갯수+1 and
countif(C>=O+PriceScale*매도양봉길이,매도양봉갯수)[1] == 매도양봉갯수 and
C <= O-PriceScale*매도음봉길이 Then
sell();
if MarketPosition == 0 and
idx >= 매수음봉갯수+1 and
countif(C<=O-PriceScale*매수음봉길이,매수음봉갯수)[1] == 매수음봉갯수 and
C >= O+PriceScale*매수양봉길이 Then
Buy();
SetStopLoss(PriceScale*손절틱수,PointStop);
SetStopProfittarget(PriceScale*손절틱수,PointStop);
즐거운 하루되세요
> 대구어린울프 님이 쓴 글입니다.
> 제목 : 수정요청 드립니다.
> 담당자님, 안녕하세요?
얼마전 아래와같은 답변을 받았고, 안되는점들 수정요청 드립니다.
1. 매도매수 구분하여 외부변수로 수식작성
2. 봉이 연속 발생치 않았는데 진입되고있음 (중간 도지는 무시)
3. 필히 양봉이 연속 발생후 음봉매도, 음봉이 연속발생후 양봉 매수임
4. 설정된 손절,익절폭 도달전에 청산되고 있음
5. 봉 당일분만 적용 (전일과 연결되지 않도록)
감사합니다.
----------------------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
input : 양봉길이(5),양봉갯수(5),음봉길이(5),음봉갯수(5);
input : 손절틱수(10),익절틱수(10);
if countif(C>=O+PriceScale*양봉길이,양봉갯수)[1] == 양봉갯수 and
C <= O-PriceScale*음봉길이 Then
sell();
if countif(C<=O+PriceScale*음봉길이,음봉갯수)[1] == 음봉갯수 and
C >= O+PriceScale*양봉길이 Then
Buy();
SetStopLoss(PriceScale*손절틱수,PointStop);
SetStopProfittarget(PriceScale*손절틱수,PointStop);
즐거운 하루되세요
> 대구어린울프 님이 쓴 글입니다.
> 제목 : 수식작성 부탁드립니다.
> 안녕하세요?
추운날씨 고생많으십니다. 오랜만에 질문드립니다.
*진입조건
1. 몸통길이가 (외부변수)틱 양봉이 연달아서 (외부변수)번 발생 이후,
몸통길이(외부변수)틱 음봉이 나올시 매도
2. 몸통길이가 (외부변수)틱 음봉이 연달아서 (외부변수)번 발생 이후,
몸통길이(외부변수)틱 양봉이 나올시 매도
* 청산조건
1. 익절 (외부변수)틱
2. 손절 (외부변수)틱
* 재진입 조건
먼저 진입한 포지션이 손,익절 완성후 재진입
2019-02-20
201
글번호 126390
하이엔드 님에 의해서 삭제되었습니다.
2019-02-20
1
글번호 126389
답변완료
선물만기 주
안녕하세요?
선물 만기주 월-금 이면 1 을 리터
아니면 0 을 리턴하는
함수를 부탁합니다.
감사합니다
2019-02-20
268
글번호 126387
답변완료
재질문드립니다. T.T
안녕하십니까?T.T
해외선물 크루드 오일을 거래중인데 당일 누적 손실이 50틱 이상이면 더이상 진입이 되지 않게 하는(당일거래종료) 수식을 알고 싶습니다.
정말 초보라 아무것도 모르겠습니다. T.T
거래 시간대는 3파트로 나눠져 있습니다.
11:00~15:00
17:00~23:30
00:00~03:00
input :시작시간1(110000),종료시간1(150000);
input :시작시간2(170000),종료시간2(233000);
input :시작시간3(000000),종료시간3(030000);
매도조건만 들어가 있으니 매수는 필요없습니다.
매도, 매도청산1, 매도청산2, 매도청산3
이게 진입조건 같습니다만...
If (UPDOWN_Flag == -1) && (LMSADXSTKPGP_Flag == -1) Then
{
If (MarketPosition(0) == 0) Then
{
If (호가청산_Flag == 0) Then
{
Sell("매도", OnClose, DEF, 매도_수량);
매매조건_K_Flag = 1;
}
}
}
If (LMSADXSTKPGP_Color == 1) || (ADX_2015_Flag == 1) Then
{
호가청산_Flag = 0;
}
}
진입조건도 시간대별로 3군데 작성되어 있습니다.
=================================
안녕하세요
예스스탁입니다.
매수진입조건, 매도진입조건은 진입조건을 넣으시면 됩니다.
시간이나 당일손실은 Xcond와 Tcond로 제어됩니다.
Input : 당일손실틱수(50);
input : start1(110000),end1(150000);
input : start2(170000),end2(233000);
Var : N1(0),dayPl(0),당일손실(0),Xcond(false);
var : Tcond(false);
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit[1];
}
if (sdate != sdate[1] and stime >= start1) or
(sdate == sdate[1] and stime >= start1 and stime[1] < start1) then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= end1) or
(sdate == sdate[1] and stime >= end1 and stime[1] < end1) then
{
Tcond = false;
}
if (sdate != sdate[1] and stime >= start2) or
(sdate == sdate[1] and stime >= start2 and stime[1] < start2) then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= end2) or
(sdate == sdate[1] and stime >= end2 and stime[1] < end2) then
{
Tcond = false;
}
당일손실 = PriceScale*당일손실틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and
(IsExitName("dbl",1) == true or
IsExitName("dsl",1) == true or
daypl <= -당일손실) then
Xcond = true;
if Xcond == false and Tcond == true then
{
if 매수진입조건 Then{
buy("b");
}
if 매도진입조건 Then{
sell("s");
}
}
if MarketPosition == 1 then{
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
즐거운 하루되세요
> 에쓰엠씨 님이 쓴 글입니다.
> 제목 : 거래종료 수식부탁드립니다.
> 해외선물 크루드 오일을 거래중인데 당일 누적 손실이 50틱 이상이면 더이상 진입이 되지 않게 하는(당일거래종료) 수식을 알고 싶습니다.
정말 초보라 아무것도 모르겠습니다. T.T
거래 시간대는 2파트로 나눠져 있습니다.
11:00~15:00
17:00~23:30
각각1개의 파일에 매수,청산 매도,청산의 조건이 들어 있습니다.
그리고
아래수식에서
각각 별개의 파일에 매수,청산 매도,청산이 있으므로
매수에는
if Xcond == false then{
if 매수진입조건 Then{
buy("b");}
을
넣으면 되는데 매수진입조건에는 무엇을 입력해야 하나요? 각각 시간별로 매수진입이 있으므로 시작시간과 종료시간을 같이 적용하여 진입조건만 넣으면 되는건지? 청산 조건도 같이 넣어야 하는지 알고 싶고 buy("b")를 왜 설정하는지요?
초보라서 죄송합니다.
Input : 당일손실틱수(50);
Var : N1(0),dayPl(0),당일손실(0),Xcond(false);
당일손실 = PriceScale*당일손실틱수;
if Bdate != Bdate[1] Then{
Xcond = false;
N1 = NetProfit[1];
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or
IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
if Xcond == false then{
if 매수진입조건 Then{
buy("b");
}
if 매도진입조건 Then{
sell("s");
}
}
if MarketPosition == 1 then{
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
2019-02-20
200
글번호 126381
2wnwn 님에 의해서 삭제되었습니다.
2019-02-20
49
글번호 126373