커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3669
글번호 230811
답변완료
지표 의뢰드려요
안녕하세요!
수식의뢰를 부탁 드립니다!
이해를 돕기 위해 첨부자료도 올립니다.
1.전일시가 - 당일시가 = 시가진폭
당일시가 + 시가진폭 / 당일시가 - 시가진폭 선이 자동생성 되는 수식을 만들고 싶습니다.
2.당일고점 - 당일저점 = 고저점진폭
당일고가 + 고저점진폭 / 당일저가 - 고저점진폭 선이 자동생성 되는 수식을 만들고 싶습니다.
3.일전에 만들어 주신 < 고저점 진폭수식> 을 올립니다.
장이 시작되고 고저가는 게속 발생합니다! 이때 고저가 진폭만큼(고가 + 진폭/ 저가 - 진폭)
선이 계속 자동으로 만들어지는 수식을 만들고 싶습니다.
고저가 진폭이 선으로 계속 연결되어도 괜찮습니다.
항상 노고에 감사드립니다!!
Input:length(10),종가사용여부(0),파동선두께(2),수치표시(1);
Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),
TL1(0),Text1(0),text2(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
HH = IFF(종가사용여부==1,C,H);
LL = IFF(종가사용여부==1,C,L);
If Index == 0 Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;
Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
If 수치표시 == 1 Then
{
Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2));
Text_SetStyle(Text1, 2, 1);
Text2 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1]-저[1,1],2)+NewLine);
Text_SetStyle(Text2, 2, 1);
Text_SetColor(text2,RED);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,GREEN);
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]);
Text_SetString(Text1,NumToStr(고[1,1],2));
Text_SetLocation(Text2,고[1,3],고[1,4],고[1,1]);
Text_SetString(Text2,NumToStr(고[1,1]-저[1,1],2)+NewLine);
}
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
If 수치표시 == 1 Then
{
Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2));
Text_SetStyle(Text1, 2, 0);
Text2 = Text_New(저[1,3],저[1,4],저[1,1],NewLine+NumToStr(저[1,1]-고[1,1],2));
Text_SetStyle(Text2, 2, 0);
Text_SetColor(text2,RED);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,GREEN);
}
Else If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]);
Text_SetString(Text1,NumToStr(저[1,1],2));
Text_SetLocation(Text2,저[1,3],저[1,4],저[1,1]);
Text_SetString(Text2,NewLine+NumToStr(저[1,1]-고[1,1],2));
}
}
최종꼭지점 = "저점";
}
2020-08-24
971
글번호 141663
답변완료
지표 좀 요청 드립니다.
* 항상 많은 도움에 고맙습니다.
* 3개봉 평균값이 8개봉 최고가 대비 80% 보다 크면 참
수식 좀 부탁 드립니다.
2020-08-21
861
글번호 141662
답변완료
재문의 드립니다
아래 68826번 재문의 드렸습니다
수고스러우시겠지만 한번더 검토 부탁드립니다
2020-08-21
810
글번호 141661
답변완료
문의
data1 선물
data2 콜옵션
data3 콜옵션
data4 콜옵션
data5 풋옵션
data6 풋옵션
data7 풋옵션
일때 data2 ~ data7 중 2.50 보다 (+0.1 or - 0.1) 근접한 옵션 값이 있을때
data1 선물차트에 + 0.1 이면 아래화살표 - 0.1 이면 위화살표
표시 가능할까요 (시스템식으로 해야하나요 아니면 신호검색식 ???)
화살표가 중복으로 나와도 되니까 신호검색식이 낳을듯합니다.
2020-08-21
685
글번호 141655
답변완료
지표 문의 합니다
1. 1봉전 캔들이 양봉조건을 만족할때는 h(1)+l(1)+close(1)+high(1))/2-high(1) 을 사용하고
전일 음봉조건을 만족할때는 (high(1)+low(1)+close(1)+low(1))/2-high(1) 을 사용하며
위 조건을 모두 만족하지 않을 때는 (high(1)+low(1)+close(1)+close(1))/2-high(1)을 사용하여 차트에 표시해 주는 수식선?(지표선?)을 만들고 싶습니다.
(h(1)은 1봉전 고가, l(1)은 1봉전 저가 이런 식입니다.)
2. 위와 마찬가지로
1봉전 캔들이 양봉조건을 만족할때 (h(1)+l(1)+c(1)+h(1))/2-l(1) 을
1봉전 캔들이 음봉조건을 만족할때 (h(1)+l(1)+c(1)+l(1))/2-l(1) 을
위 조건을 모두 만족하지 않을 때 (h(1)+l(1)+c(1)+c(1))/2-l(1) 을
사용하여 차트에 표시하는 수식을 알고 싶습니다.
감사합니다
2020-08-21
569
글번호 141649
답변완료
수식부탁드립니다.
안녕하세요? 간단한 수식2가지 부탁드립니다.
이평선이 있고없고만 다른부분입니다.
항상 감사합니다.
1)
진입 : 양봉(몸통길이 외부변수) 양봉(몸통길이 외부변수) 출현시 매수
<양봉2개모두다 각각 별개의 외부변수>
음봉(몸통길이 외부변수) 음봉(몸통길이 외부변수) 출현시 매도
<음봉2개모두다 각각 별개의 외부변수>
청산 : 익절/손절 (각 외부변수), 하루매매횟수 (외부변수)
재진입 : 익절손절 되기전까지는 신호발생해도 진입금지
2) 정배열에도 매도, 역배열에서 매수
진입 : 양봉(몸통길이 외부변수) 양봉(몸통길이 외부변수) 출현시 매수
<양봉2개모두다 각각 별개의 외부변수>
음봉(몸통길이 외부변수) 음봉(몸통길이 외부변수) 출현시 매도
<음봉2개모두다 각각 별개의 외부변수>
청산 : 익절/손절 (각 외부변수), 하루매매횟수 (외부변수)
재진입 : 익절손절 되기전까지는 신호발생해도 진입금지
2020-08-21
675
글번호 141647
답변완료
수식 부탁드립니다~~
안녕하세요~~
수식좀 부탁드립니다~~
~~~~~~~~~~~~~~~~~~~매 수~~~~~~~~~~~~~~~~
단기100 중기 200 장기 300
매수진입(1)~~~
단기 > 중기 50봉 이후에 단기 > 장기 일때~~~ 매수진입
매수진입(2)~~~
단기 중기 골드 150봉 이후에 단기 > 장기 일때~~~ 매수진입
~~~~~~~~~~~~~~~~~~~~~~~
매수청산(1)~~~
단기 < 중기 50봉 이후에 단기 < 장기 일때~~~ 매수청산
매수청산(2)~~~
단기 중기 데드 150봉 이후에 중기 < 장기 120봉 이후일때~~~ 매수청산
~~~~~~~~~~~~~~~~~~~~~~~~매 도~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
매도진입(1)~~~
단기 < 중기 50봉 이후에 단기 < 장기 일때~~~ 매도진입
매도진입(2)~~~
단기 중기 데드 150봉 이후에 단기 < 장기 일때~~~ 매도진입
~~~~~~~~~~~~~~~~~~~~~~~~~매도청산~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
매도진입(1)~~~
단기 > 중기 50봉 이후에 단기 > 장기 일때~~~ 매도청산
매도진입(2)~~~
단기 중기 골드 150봉 이후에 중기 > 장기 120봉 이후일때~~~ 매도청산
부탁드립니다~~
2020-08-21
665
글번호 141643
답변완료
시스템해석부탁드립니다
안녕하세요?
아래의 시스템이 맞는지 틀렸다면 무엇이 틀린지 주석부탁 드립니다.
Var17 = Var2+(var3*0.168); # var17은 bar2값에 var3의 값에 0.168을 곱한비율을 더하라.
if var17 > var17[1] Then # 만약 var17이 직전봉보다 크다면
T = 1; #T에 1을 저장하여라
if var17 < var17[1] Then #만약 VAR17가 직전보다 적다면
T = -1; #T에 1을 저장하여라
if T == -1 and T != T[1] Then # T기 -1과 같거나 직전봉과 같지아니하면
sell("기"); # 매도 == 여기서 매도주문시 현재가 -2틱에 매도주문하도록 정정 부탁드립니다.
if MarketPosition == -1 and T == 1 Then # 포지션이 직전봉보다 높고 VAR17과 같다면
ExitShort("기x"); # 손절
SetStopLoss(PriceScale*20,PointStop); # 스탑로스는 진입가대비 20틱에 손절하라.
여기서 진입가대비 20틱에 도달하면 +2틱을 더한 가격으로 주문하도록 수정부탁드립니다
2020-08-21
569
글번호 141639
초이진실 님에 의해서 삭제되었습니다.
2020-08-21
16
글번호 141636