커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1557
글번호 230811
답변완료
수식좀 만들어주시면 감사합니다.
매수신호
1. 이전달 보다 5이동평균선의 가격이 올라가고
2. 현 종가와 7개 이전의 종가가 비교해서 종가끼리 비교해서 현재 종가 금액적으로 위 여야 하고
3. 양봉이어야 하고
4. 1번의 이동평균선 위에 종가가 위치할 것.
이 4가지가 만족할 때 매수 신호가 나오도록 부탁드립니다.
4이동평균선을 캔들이 깰 경우 (캔들 데드크로시 매도)
2023-02-15
1062
글번호 166333
답변완료
7 Binary Wave로 종목검색 부탁드립니다..
안녕하세요..7 Binary Wave로 종목검색하는 수식 부탁드립니다..
아래는 키움으로 구현한 수식입니다..
1) 본선 수식
B1=if(eavg(C,12)-eavg(C,26) > eavg(eavg(C,12)-eavg(C,26),9), 1,-1);
B2=if(C > avg(C, 20), 1, -1);
B3=if((C - C(12)) / C(12) * 100 > 0, 1, -1);
B4=if(eavg((C-lowest(L, 5)) / (highest(H, 5) - lowest(L, 5)) * 100, 3)>50, 1, -1);
B5=If(CCI(20) > 0,1,-1);
B6=If(C > SAR(0.02,0.2),1,-1);
B7=If((eavg(sum(((C -L)-(H- C))/ (H-L)*V), 3)-eavg(sum(((C -L)-(H- C))/(H-L)*V), 10))>0,1,-1);
A=B1+B2+B3+B4+B5+B6+B7;
eavg(A,12)-eavg(A,26)
2) 시그널선 수식
B1=if(eavg(C,12)-eavg(C,26) > eavg(eavg(C,12)-eavg(C,26),9), 1,-1);
B2=if(C > avg(C, 20), 1, -1);
B3=if((C - C(12)) / C(12) * 100 > 0, 1, -1);
B4=if(eavg((C-lowest(L, 5)) / (highest(H, 5) - lowest(L, 5)) * 100, 3)>50, 1, -1);
B5=If(CCI(20) > 0,1,-1);
B6=If(C > SAR(0.02,0.2),1,-1);
B7=If((eavg(sum(((C -L)-(H- C))/ (H-L)*V), 3)-eavg(sum(((C -L)-(H- C))/(H-L)*V), 10))>0,1,-1);
A=B1+B2+B3+B4+B5+B6+B7;
eavg(A,9)
3) 조건검색
2)번 시그널선이 -5를 돌파하거나, 2)번 시그널선이 1)번 본선을 돌파하는 종목을 검색하고 싶습니다..
감사합니다..
2023-02-15
1592
글번호 166325
답변완료
참조데이터
plot1(data1(c)-data2(c),"가격차");
위와 같이 참조데이터 두 종목의 단순히 가격차를 분봉에서 나타내고자 하는데 참조데이터에서 거래가 없어 가격이 안찍히는 경우 직전 값을 참조하여 가격차를 나타내려고 하면 어떻게 해야 할까요? 가격이 없는 경우 왜곡이 심하네요.
2023-02-15
1354
글번호 166324
신대륙발견 님에 의해서 삭제되었습니다.
2023-02-15
18
글번호 166323
답변완료
지표
항상감사합니다.
표현이 부족해서 죄송합니다.
[저가에서+1.25,+2.5가아니라]
1]진동폭
고점에서 저가진동폭에서1/2,1/2,1/2,1/2의표시를 부탁드립니다.
2] 가격지표표시
+ 2[72.43]=4176.17
+ 3[62.08]=4165.82
+ 4[51.73]=4155.48
=5[41.38]=4145.13
-4[31.04]=4134.78
-3[20,69]=4207.19
-2[10.35]=4196.85
예]진동폭 82.75라면
저가4103.75~고가4186.50에서
반값=82.75/2=41.38[4145.13]
41.38/2=20.69[4165.82]
20.69/2=10.35[ ]
진동폭82.75라면
챠트상표시는[진동폭/8.75의값]= + 2[72.43]=4176.17
[진동폭/7.50의값]= + 3[62.08]=4165.82
[진동폭/6.25의값]= + 4[51.73]=4155.48
[진동폭/5.00의값]= =5[41.38]=4145.13
[진동폭/3.75의값]= -4[31.04]=4134.78
[진동폭/2.50의값]= -3[20,69]=4207.19
[진동폭/1.25의값]= -2[10.35]=4196.85
[주신수식]
input:length(6),글자크기(14);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),
Text1(0),처리구분(""),t(0),text2(0);
Array:고점[10,2](0),저점[10,2](0); //가격,위치
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
T = 1;
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],
sDate[eBar],sTime[eBar],고점[1,1]);
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],
NumToStr((고점[1,1]-저점[1,1]),2)+NewLine+ NumToStr(고점[1,1],2));
Text_SetStyle(Text1, 2, 1);
Text_SetSize(text1,12);
Text_SetColor(text1,Blue);
}
}
If 처리구분 == "저점처리" Then
{
T = -1;
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],
sDate[eBar],sTime[eBar],저점[1,1]);
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],
NumToStr((고점[1,1]-저점[1,1]),2)+NewLine+
NumToStr(저점[1,1],2));
Text_SetStyle(Text1, 2, 0);
Text_SetSize(text1,글자크기);
Text_SetColor(text1,Red);
}
}
TL_SetSize(TL1,2);
TL_SetColor(TL1,LightGray);
Plot1(T);
var : text3(0),text4(0),text5(0),text6(0),text7(0),text8(0),text9(0);
Text_Delete(text2);
Text_Delete(text3);
Text_Delete(text4);
Text_Delete(text5);
Text_Delete(text6);
Text_Delete(text7);
Text_Delete(text8);
Text_Delete(text9);
if T == 1 Then
{
Text2 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-1.25," 고-1.25:"+NumToStr(고점[1,1]-1.25,2));
Text3 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-2.50," 고-2.50:"+NumToStr(고점[1,1]-2.50,2));
Text4 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-3.75," 고-3.75:"+NumToStr(고점[1,1]-3.75,2));
Text5 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-5.00," 고-5.00:"+NumToStr(고점[1,1]-5.00,2));
Text6 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-6.25," 고-6.25:"+NumToStr(고점[1,1]-6.25,2));
Text7 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-7.50," 고-7.50:"+NumToStr(고점[1,1]-7.50,2));
Text8 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-8.75," 고-8.75:"+NumToStr(고점[1,1]-8.75,2));
Text_SetStyle(Text2,0,2) ;
Text_SetStyle(Text3,0,2) ;
Text_SetStyle(Text4,0,2) ;
Text_SetStyle(Text5,0,2) ;
Text_SetStyle(Text6,0,2) ;
Text_SetStyle(Text7,0,2) ;
Text_SetStyle(Text8,0,2) ;
}
Else
{
Text2 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+8.75," 저+8.75:"+NumToStr(저점[1,1]+8.75,2));
Text3 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+7.50," 저+7.50:"+NumToStr(저점[1,1]+7.50,2));
Text4 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+6.25," 저+6.25:"+NumToStr(저점[1,1]+6.25,2));
Text5 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+5.00," 저+5.00:"+NumToStr(저점[1,1]+5.00,2));
Text6 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+3.75," 저+3.75:"+NumToStr(저점[1,1]+3.75,2));
Text7 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+2.50," 저+2.50:"+NumToStr(저점[1,1]+2.50,2));
Text8 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+1.25," 저+1.25:"+NumToStr(저점[1,1]+1.25,2));
Text_SetStyle(Text2,0,2) ;
Text_SetStyle(Text3,0,2) ;
Text_SetStyle(Text4,0,2) ;
Text_SetStyle(Text5,0,2) ;
Text_SetStyle(Text6,0,2) ;
Text_SetStyle(Text7,0,2) ;
Text_SetStyle(Text8,0,2) ;
}
Text_SetSize(text2,10);
Text_SetSize(text3,10);
Text_SetSize(text4,10);
Text_SetSize(text5,10);
Text_SetSize(text6,10);
Text_SetSize(text7,10);
Text_SetSize(text8,10);
2023-02-15
1569
글번호 166322
답변완료
지표수정
안녕하세요
늘 도움 감사드립니다.
아래의 지표 에서 피보나치수치를 제하고 연속봉 다음봉에 고점 과 저점 그리고 음봉 이든 양봉이든 몸통중심에 선이 그려지도록 부탁드립니다.
그리고 연속봉 다음봉에서 음봉이면 매도 신호 양봉이면 매수 신호가 나오도록 추가 부탁드립니다.
input : N(1);
if C > O and CountIf(C<O,N)[1] == N Then
{
var1 = H;
Var2 = L;
}
if C < O and CountIf(C>O,N)[1] == N Then
{
var1 = H;
Var2 = L;
}
if var1 > 0 and Var2 > 0 Then
{
Plot1(var1);
Plot2(var2+abs(var1-var2)*0.236);
Plot3(var2+abs(var1-var2)*0.382);
Plot4(var2+abs(var1-var2)*0.500);
Plot5(var2+abs(var1-var2)*0.618);
Plot6(var2);
}
2023-02-15
1543
글번호 166321
답변완료
수식
안녕하세요.
하기 조건에 수식 부탁드립니다.
#1 (분봉/틱봉 기준)
현재봉을 포함해서 5봉의 고가중에서 가장 낮은 고가 표현
현재봉을 포함해서 5봉의 저가중에서 가장 높은 저가 표현
#2 (일봉 기준)
현재봉을 포함해서 5봉의 고가중에서 가장 낮은 고가 표현
현재봉을 포함해서 5봉의 저가중에서 가장 높은 저가 표현
감사합니다.
2023-02-15
1333
글번호 166320
답변완료
함수요청
안녕하세요?
국내선물 10분봉으로 일중거래를 하고자 합니다.
당일의 시가선 < 60ma < 10분봉 완성 종가이되 당일에 당일 시가선과 60ma가 크로스된 적이 없으면 익봉 시가 매수 진입
(크로스의 의미가 당일에 당일 시가선 < 60ma < 10분봉 완성 종가 이전에 시가선 > 60ma이었던 적이 없어야 합니다.)
10분봉 완성 종가 > 60ma 또는 60ma > 당일 시가선이면 매수청산
당일의 시가선 > 60ma > 10분봉 완성 종가이되 당일에 시가선과 60ma가 크로스된 적이 없으면 익봉 시가 매수 진입
(크로스의 의미가 당일에 당일 시가선 > 60ma > 10분봉 완성 종가 이전에 시가선 < 60ma이었던 적이 없어야 합니다.)
10분봉 완성 종가 < 60ma 또는 60ma < 당일 시가선이면 매도청산
하루 1번 진입할 것이며 15시 20분 강제청산입니다.
상기 전략에 대해 스크립트 작성 요청드립니다 .
감사합니다.
2023-02-15
989
글번호 166316
약수삼천 님에 의해서 삭제되었습니다.
2023-02-15
11
글번호 166313