커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5467
글번호 230811
답변완료
진입 조건별 청산이 가능할까요?
안녕하세요.. 항상 정성스런 답변 감사합니다.
진입 조건별로 각자 청산이 가능할까요?
예를들면
# 볼밴 10,2 상단을 돌파하고 상승하다가 5선을 crossdown할 경우 매수1
# 볼밴 15,2 상단을 돌파하고 상승하다가 10선을 crossdown할 경우 매수2
매수1인경우 30틱 청산, 손절 30틱
매수2인경우 50틱 청산, 손절 50틱
이렇게 시스템이 가능할까요?
도움말등을 보았을때는 가능 할 것 같은데, 한가지 의문점이 시스템에서 인식은 봉이
완성되었을때라고 보았습니다.
매수 조건이 완성되고 바로 손절까지 왔을때 손절이 되거나, 익절이 되어야 하는데,
봉이 완성되고 인식되면 제가 설정한 범위들을 벗어나는 결과가 나타날 것 같아서요..
제가 만든 시스템에서는 atmarket으로 매수,매도 진입을 하게 설정하였습니다.
이런 경우, 진입이 되었을 경우 바로 가격이 반영되고, 각각의 익절,손절등이
동작이 가능한 것인가요?
2020-03-23
459
글번호 137098
답변완료
매매시간설정과 자동청산
매매시간이 09:00~ 익일05:40 설정 되어 있는데
차트신호들은 07:00부터 나오고 종료시간인 05:40에 청산신호가 나오지만 그 이후 바로 신호가 나옵니다.
05:40 청산신호때 당일 장마감이 되도록 추가 신호가 나오지 않게 할수는 없는지요.
또한 07:00이후에 신호가 나오질않고 09:00부터 신호가 나오게 부탁드립니다.
input : P(230);
var1 = (Highest(High, 10) + Lowest(Low, 10)) / 2;
var2 = Disparity(P);
if var1 > var1[1] and var2 > 99 Then
buy();
if var1 < var1[1] and var2 < 101 Then
sell();
input : starttime(090000),endtime(054000);
var : Tcond(false);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
}
2020-03-22
540
글번호 137096
답변완료
윗꼬리 아랫꼬리
수고하십니다
분봉에서 9시부터 9시30분까지 위꼬리 절대값(고점에서 몸통상단까지)이 아랫꼬리 절대값(저점에서 몸통하단까지)보다 길면 파랑색으로, 반대인 경우는 빨강색으로 , 같을 경우는 녹색으로 표현하는 지표식을 구합니다
감사합니다
2020-03-22
503
글번호 137095
답변완료
예스 랭귀지 분할 매도 방법
안녕하세요. 예스트레이더에 입문한지 2주된 초보입니다.
프로그램을 통해 분할 매도를 하고 싶은데, 1주씩 지정해서 매도를 할수 있는 방법이 있는지 궁금합니다.
if CrossedUp == 1 and C >= (SellPrice) Then {
#Sell();
exitlong("매수청산", OnClose);
SellPrice = C;
#MessageLog("Sell with C:%f",C);
}
2020-03-22
582
글번호 137094
답변완료
수정좀 부탁드려요
수고가 많으십니다 추가좀 부탁드립니다
아래의 수식에서 마지막 신호에만 신호발생캔들의 종가와 중심가에 선과 수치가 나오게 부탁드립니다.
BLO = iff(A ==1 , up_A , down_A);
if crossup(C,BLO) Then
buy("b");
if CrossDown(C,BLO) Then
sell("s");
}
2 전체신호에 직전매도와 매수의 최저값 최고값과 선과 수치도 부탁드립니다.
3. 1번에서 신호직전캔들의 고저가도 부탁드립니다.
2020-03-23
455
글번호 137093
답변완료
수식 부탁드립니다
macd 가 0 선 이상일때 20이평이 주가을 돌파 하고 다시하락을 하면
20이평 근처 에오면 매수 이런수식 가능 할까요
근처(예를 들어 20이평 이 200 이라면 200 에 몇%로 근처에 오면 신호가
나오게 요 수치를 바꿀수 있게요)
매도 도 같이 넣어주세요
감사합니다 ^^...
2020-03-22
532
글번호 137092
답변완료
수식작성 부탁드리겠습니다.
안녕하세요.
시스템트레이딩을 공부중인데, 제가 생각하는 시스템 하나만 작성 부탁드리겠습니다.
[진입조건]
시초가에 1계약 매수
시초가에 1계약 매도
[손절조건]
시초가대비 1.5point 상승시, 매도포지션 청산
시초가대비 1.5point 하락시, 매수포지션 청산
[Exit 조건]
당일 종가에 모든 포지션 Exit
혼자 해보려니까 잘 안되네요...바쁘시겠지만 부탁드리겠습니다 ㅠ
2020-03-22
542
글번호 137091
답변완료
문의드립니다
안녕하세요?
아래수식에서 고점과고점을 이어주는선과 저점과저점을 이어주는선을 삭제하고싶습니다
감사드립니다
input : Left(5),right(5),표시소숫점자리(2),굵기(1),연장(0);
var : T(0),cnt(0),TL(0),HTL1(0),HTL2(0),LTL1(0),LTL2(0);
Array : SHD[5](0),SHT[5](0),SHV[5](0),SHTL[100](0),SHTX[100](0);
Array : SLD[5](0),SLT[5](0),SLV[5](0),SLTL[100](0),SLTX[100](0);
if SwingHigh(1,H,Left,Right,Left+Right+1) != -1 then
{
var2 = 0;
var1 = var1+1;
if var1 == 1 then
{
SHD[0] = sdate[right];
SHT[0] = stime[right];
SHV[0] = H[right];
for cnt = 1 to 4
{
SHD[cnt] = SHD[cnt-1][1];
SHT[cnt] = SHT[cnt-1][1];
SHV[cnt] = SHV[cnt-1][1];
}
if SLV[0] > 0 Then
{
TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]);
TL_SetSize(TL,굵기);
TL_SetColor(TL,red);
}
if SHV[1] > 0 Then
{
#TL_Delete(HTL1);
HTL1 = TL_New(SHD[1],SHT[1],SHV[1],SHD[0],SHT[0],SHV[0]);
TL_SetColor(HTL1,RED);
TL_SetSize(HTL1,굵기);
}
}
if var1 >= 2 and H[right] > SHV[0] then
{
SHD[0] = sdate[right];
SHT[0] = stime[right];
SHV[0] = H[right];
if SLV[0] > 0 Then
{
TL_Delete(TL);
TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]);
TL_SetSize(TL,굵기);
TL_SetColor(TL,red);
}
if SHV[1] > 0 Then
{
#TL_Delete(HTL1);
HTL1 = TL_New(SHD[1],SHT[1],SHV[1],SHD[0],SHT[0],SHV[0]);
TL_SetColor(HTL1,RED);
TL_SetSize(HTL1,굵기);
}
}
SHTL[0] = TL_New(sdate[right],stime[right],H[right],sdate,stime,H[right]);
TL_SetColor(SHTL[0],RED);
TL_SetSize(SHTL[0],굵기);
SHTX[0] = Text_New(sdate,stime,H[right],NumToStr(H[right],표시소숫점자리));
Text_SetColor(SHTX[0],RED);
Text_SetStyle(SHTX[0],2,1);
for cnt = 1 to 99
{
SHTL[cnt] = SHTL[cnt-1][1];
SHTX[cnt] = SHTX[cnt-1][1];
}
}
if SwingLow(1,L,Left,Right,Left+Right+1) != -1 then
{
#plot2(L,"2",blue);
var1 = 0;
var2 = var2+1;
if var2 == 1 then
{
SLD[0] = sdate[right];
SLT[0] = stime[right];
SLV[0] = L[right];
for cnt = 1 to 4
{
SLD[cnt] = SLD[cnt-1][1];
SLT[cnt] = SLT[cnt-1][1];
SLV[cnt] = SLV[cnt-1][1];
}
if SHV[0] > 0 Then
{
TL = TL_New(SHD[0],SHT[0],SHV[0],SLD[0],SLT[0],SLV[0]);
TL_SetSize(TL,굵기);
TL_SetColor(TL,BLUE);
}
if SLV[1] > 0 Then
{
#TL_Delete(LTL1);
LTL1 = TL_New(SLD[1],SLT[1],SLV[1],SLD[0],SLT[0],SLV[0]);
TL_SetColor(LTL1,BLUE);
TL_SetSize(LTL1,굵기);
}
}
if var2 >= 2 and L[right] < SLV[0] then
{
SLD[0] = sdate[right];
SLT[0] = stime[right];
SLV[0] = L[right];
TL_Delete(TL);
if SHV[0] > 0 Then
{
TL = TL_New(SHD[0],SHT[0],SHV[0],SLD[0],SLT[0],SLV[0]);
TL_SetSize(TL,굵기);
TL_SetColor(TL,blue);
}
if SLV[1] > 0 Then
{
#TL_Delete(LTL1);
LTL1 = TL_New(SLD[1],SLT[1],SLV[1],SLD[0],SLT[0],SLV[0]);
TL_SetColor(LTL1,BLUE);
TL_SetSize(LTL1,굵기);
}
}
SLTL[0] = TL_New(sdate[right],stime[right],L[right],sdate,stime,L[right]);
TL_SetColor(SLTL[0],BLUE);
TL_SetSize(SLTL[0],굵기);
SLTX[0] = Text_New(sdate,stime,L[right],NumToStr(L[right],표시소숫점자리));
Text_SetColor(SLTX[0],BLUE);
Text_SetStyle(SLTX[0],2,0);
for cnt = 1 to 99
{
SLTL[cnt] = SLTL[cnt-1][1];
SLTX[cnt] = SLTX[cnt-1][1];
}
}
for cnt = 0 to 99
{
if SHTL[cnt] > 0 then
{
TL_SetEnd(SHTL[cnt],sdate,stime,TL_GetBeginVal(SHTL[cnt]));
if H >= TL_GetBeginVal(SHTL[cnt]) Then
SHTL[cnt] = 연장;
}
if SLTL[cnt] > 0 then
{
TL_SetEnd(SLTL[cnt],sdate,stime,TL_GetBeginVal(SLTL[cnt]));
if L <= TL_GetBeginVal(SLTL[cnt]) Then
SLTL[cnt] = 연장;
}
if SHTL[cnt] > 0 Then
{
Text_SetLocation(SHTX[cnt],sdate,stime,TL_GetBeginVal(SHTL[cnt]));
}
if SLTL[cnt] > 0 Then
{
Text_SetLocation(SLTX[cnt],sdate,stime,TL_GetBeginVal(SLTL[cnt]));
}
}
2020-03-22
598
글번호 137090
새벽에 님에 의해서 삭제되었습니다.
2020-03-22
1
글번호 137089