커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1662
글번호 230811
크라켄 님에 의해서 삭제되었습니다.
2021-06-09
16
글번호 149804
ycchoi17 님에 의해서 삭제되었습니다.
2021-06-09
10
글번호 149803
답변완료
지표식 부탁합니다.
수고하십니다.
어제 질문내용이 표현이 부족하여 잘못 전달된듯합니다.
아래처럼 내용을 수정해 보았습니다.
***
옵션 월물이 바뀌고 나서부터
이전 월물의 월고가와 월저가가 아니라
바뀐 월물의 어제까지의 월고가와 월저가가
금일 분봉에서 선으로 자동 생성되는 수식을 부탁드립니다.
즉, 예를들면 새 월물이 바뀐 이후
첫날의 월고가와 월저가가 M+1일에 표시되고...
M+1일까지의 월고가와 월저가가 M+2일에 표시되고...
M+2일까지의 월고가와 월저가가 M+3일에 표시되고...
.....
이런 식으로 부탁합니다...
*바뀐 월물의 첫날에는 이전 월물의 고가/저가가 표시 되지 않게 부탁합니다..
*****
번거롭게 해드려서 죄송합니다.
수고하세요...
2021-06-09
757
글번호 149802
타이탄 님에 의해서 삭제되었습니다.
2021-06-09
40
글번호 149801
답변완료
쌍봉 수식좀 수정바랍니다.
아래 식으로 쌍봉, 쌍바닥 식을 쓰고 있는데요..
60선이 240선 아래위에서 쌍봉, 쌍바닥인데요..
1. 60선의 쌍바닥, 쌍봉을 만드는 두 변곡이 둘다 240 아래나 위에 있게..
쌍바닥, 쌍봉의 첫번째 변곡을 만들고 240선을 돌파하고 두번째 변곡을 만드는경우는 쌍봉, 쌍바닥이 아니게 하고 싶습니다. < 사진 첨부했습니다.
2. 그리고 쌍바닥 쌍봉의 두 변곡간은 캔들로 30캔들 이상이 차이가 났을때로 하고 싶습니다.
var26 <- 5선
var27 <- 20선
var28 <- 60선
var29 <- 240선
if var28 < var28[1] and var28[1] > var28[2] and Condition61 == true Then
{
HH601 = Var28;
HH602 = HH601[1];
i1 = Index;
i2 = i1[1];
if HH602 >= HH601 Then
STT60 = 2;
}
Else STT60 = 0;
if STT60 != STT60[1] and STT60 == 2 Then Exitlong("60쌍봉");
//////////////////////////////
if var28 > var28[1] and var28[1] < var28[2] and Condition60 == true Then
{
LL601 = Var28;
LL602 = LL601[1];
i1 = Index;
i2 = i1[1];
if LL602 <= LL601 Then
BTT60 = 2;
}
Else BTT60 = 0;
if BTT60 != BTT60[1] and BTT60 == 2 and C > O and (C+O)/2 >= Var27 Then Exitshort("60쌍바닥");
2021-06-09
839
글번호 149798
답변완료
다시 부탁드립니다
만들어 주신 식으로 적용했더니 3% 수익 청산하고 재 진입이 되네요
수익 청산했으면 재진입 금지가 필요하네요
부탁드립니다
아래 만들어주신 수식입니다
안녕하세요
예스스탁입니다.
input : lossper(3);
var1 = ma(C,5);
Var2 = ma(C,20);
if CrossUp(var1,Var2) Then
Buy();
if MarketPosition == 1 Then
ExitLong("bx",AtStop,Highest(H,BarsSinceEntry)*(1-lossPer/100));
즐거운 하루되세요
> 안미남 님이 쓴 글입니다.
> 제목 : 늘 고맙습니다
> 만들어 주신 덕분에 잘 사용하고 있습니다 고맙습니다
고점에서 끌려 내려와 수익의 대부분을 반납하거나 손실로 마감하는 경우가 많아
트레일링 스탑을 사용하고 싶습니다
예를 들면 어제 20% 상승 오늘 장중 10% 상승후 다시 하락해 수익을 거의 반납하는 경우가
많아서
고점서 3% 하락시 청산식을 부탁드립니다
5.20골든 크로스를 예로 만들어주세요
미리 감사드립니다
2021-06-09
780
글번호 149795
234fsdae 님에 의해서 삭제되었습니다.
2021-06-09
26
글번호 149794
답변완료
수식 의뢰드립니다!
안녕하세요!
수식 도움을 받고 싶습니다!
콜과 풋의 교챠 챠트에서 data1, data2의 현재가 가격선 2가지가 모두 나타날 수 있도록 만들고 싶습니다!
선의 굵기와 색상을 조정할 수 있도록 부탁드립니다!
항상 노고에 감사드립니다!
2021-06-09
1170
글번호 149793
답변완료
부탁드립니다
아래 수식에서 파동의 고점 저점에 수치를 표시할 수 있도록 도움부탁드립니다.
수치표시 예) 432.10(1.25) 430.70(-1.15)
수치표시 설명 : 해당고점 저점의 지수 ( 저점대비상승폭, 고점대비하락폭)
//===================================================//
Input:ChgRate(0.25),굵기(1),크기(11);
Var:TL1(0),TL2(0),TL2_exist(0),color(0),
종가사용여부(0), // 종가로 계산하려면 1로 설정한다.
TL_NewBit(0), // 1:NewLine 2:SetEndLine
slope(0),mid_idx(0),mid_val(0),text1(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
Value1 = ChgRateZigZag(ChgRate,종가사용여부,고,저,TL_NewBit);
If Value1 == 1 Then { // 고점
If TL_NewBit == 1 Then { // 신규
If 고[2,1] < 고[1,1] Then {
slope = (고[1,1] - 저[1,1]) / (고[1,2] - 저[1,2]);
mid_idx = Floor((고[2,1] - 저[1,1]) / slope);
mid_val = slope * mid_idx + 저[1,1];
Var1 = Index - (저[1,2] + mid_idx);
TL1 = TL_New(저[1,3],저[1,4],저[1,1],sDate[Var1],sTime[Var1],mid_val);
TL2 = TL_New(sDate[Var1],sTime[Var1],mid_val,고[1,3],고[1,4],고[1,1]);
Var2 = Index - 저[1,2];
TL_SetColor(TL1,color[Var2]);
color = RED;
TL_SetColor(TL2,color);
TL2_exist = 1;
} Else {
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetColor(TL1,color);
TL2_exist = 0;
}
}
If TL_NewBit == 2 Then { // 연장
TL_Delete(TL1);
If TL2_exist == 1 Then TL_Delete(TL2);
If 고[2,1] < 고[1,1] Then {
slope = (고[1,1] - 저[1,1]) / (고[1,2] - 저[1,2]);
mid_idx = Floor((고[2,1] - 저[1,1]) / slope);
mid_val = slope * mid_idx + 저[1,1];
Var1 = Index - (저[1,2] + mid_idx);
TL1 = TL_New(저[1,3],저[1,4],저[1,1],sDate[Var1],sTime[Var1],mid_val);
TL2 = TL_New(sDate[Var1],sTime[Var1],mid_val,고[1,3],고[1,4],고[1,1]);
Var2 = Index - 저[1,2];
TL_SetColor(TL1,color[Var2]);
color = RED;
TL_SetColor(TL2,color);
TL2_exist = 1;
} Else {
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetColor(TL1,color);
TL2_exist = 0;
}
}
} Else If Value1 == -1 Then { // 저점
If TL_NewBit == 1 Then { // 신규
If 저[2,1] > 저[1,1] Then {
slope = (저[1,1] - 고[1,1]) / (저[1,2] - 고[1,2]);
mid_idx = Floor((저[2,1] - 고[1,1]) / slope);
mid_val = slope * mid_idx + 고[1,1];
Var1 = Index - (고[1,2] + mid_idx);
TL1 = TL_New(고[1,3],고[1,4],고[1,1],sDate[Var1],sTime[Var1],mid_val);
TL2 = TL_New(sDate[Var1],sTime[Var1],mid_val,저[1,3],저[1,4],저[1,1]);
Var2 = Index - 고[1,2];
TL_SetColor(TL1,color[Var2]);
color = BLUE;
TL_SetColor(TL2,color);
TL2_exist = 1;
} Else {
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetColor(TL1,color);
TL2_exist = 0;
}
}
If TL_NewBit == 2 Then { // 연장
TL_Delete(TL1);
If TL2_exist == 1 Then TL_Delete(TL2);
If 저[2,1] > 저[1,1] Then {
slope = (저[1,1] - 고[1,1]) / (저[1,2] - 고[1,2]);
mid_idx = Floor((저[2,1] - 고[1,1]) / slope);
mid_val = slope * mid_idx + 고[1,1];
Var1 = Index - (고[1,2] + mid_idx);
TL1 = TL_New(고[1,3],고[1,4],고[1,1],sDate[Var1],sTime[Var1],mid_val);
TL2 = TL_New(sDate[Var1],sTime[Var1],mid_val,저[1,3],저[1,4],저[1,1]);
Var2 = Index - 고[1,2];
TL_SetColor(TL1,color[Var2]);
color = BLUE;
TL_SetColor(TL2,color);
TL2_exist = 1;
} Else {
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetColor(TL1,color);
TL2_exist = 0;
}
}
}
TL_SetSize(TL1,굵기);
TL_SetSize(TL2,굵기);
2021-06-09
1242
글번호 149784