커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5511
글번호 230811
답변완료
문의드립니다.
var : 분주기(15),P(5),분주기1(5);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),cnt1(0),sum(0),mav(0),tf1(0);
Array : CC[100](0),OO[100](0),HH[100](0),LL[100](0),TT[100](0);
Array : C1[100](0),T1[100](0);
if (sdate != sdate[1] and stime >= 070000) or
(sdate == sdate[1] and (Stime == 070000 or (stime > 070000 and stime[1] < 070000))) Then{
S1 = TimeToMinutes(070000);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%분주기;
if (sdate != sdate[1] and stime >= 070000) or
(sdate == sdate[1] and (Stime == 070000 or (stime > 070000 and stime[1] < 070000))) or
(TF < TF[1]) Then{
OO[0] = o;
HH[0] = H;
LL[0] = L;
TT[0] = stime;
for cnt = 1 to 100{
OO[cnt] = OO[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
TT[cnt] = TT[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
CC[0] = C;
TF1 = TM%분주기1;
if (sdate != sdate[1] and stime >= 070000) or
(sdate == sdate[1] and (Stime == 070000 or (stime > 070000 and stime[1] < 070000))) or
(TF1 < TF1[1]) Then{
T1[cnt1] = stime;
for cnt1 = 1 to 100{
C1[cnt1] = C1[cnt1-1][1];
T1[cnt1] = T1[cnt1-1][1];
}
}
C1[0] = c;
////////////////////////////////////
틱봉에 적용하는 분주기 식인데요~
분주기에서 2분부터는 적용이 되는데
1분이 적용이 안되네요. 수정 부탁드립니다.~
2023-07-24
1141
글번호 170870
답변완료
or 를 쓸 때 질문입니다.
안녕하세요 수고가 많으십니다.
제가 수식을 작성 중에 결과값이 다르게 나오는게 있어서 질문을 드립니다.
1. If var1 == (2 or 3) and var2 >var3 then plot....
2. If (var1 ==2 or var1 ==3) and var2 >var3 then plot ...
제가 알고 있기로 위의 1, 2번은 같을 줄 알았는데 결과가 다르게 나와서
질문을 드립니다.
위의 두 가지가 다른 것인지 아니면 제가 착각을 하는 것인지 가르침을 부탁드립니다.
그리고 위의 1번 괄호의 var1 ==(2 or 3)이 실제적으로 어떤 의미인지도 부탁드립니다(결과적으로 var1이 2나 3인 결과가 나오는 것이 아니라 1인 결과도 나왔거든요. 1, 2, 3이 다 나오는...)
항상 감사드립니다.
2023-07-24
1320
글번호 170869
답변완료
카운트 리셋 문의 드립니다.
안녕하세요..항상 도움 감사드립니다.
(1)번 질문
Var: A_Cnt(0),B_Cnt(0);
if Bdate! = Bdate[1] Then {A_Cnt=0;B_Cnt=0;}
날짜가 변경되면 A,B 변수가 0으로 재카운팅 되게 하고 싶은데 검증을 하면 오류가 납니다.
어떻게 수정해야 할까요?
2023-07-24
1457
글번호 170868
답변완료
수식부탁합니다
그림처럼 꼬리를 제외한 30분봉의 몸통을
1분봉 차트에 그려넣고 싶습니다
색깔도 부탁합니다
감사합니다,,
2023-07-24
1519
글번호 170867
답변완료
부탁드립니다.
당일(d일) 해선차트에서 이틀전 특정시간(예: d-2일 20시)부터 24시간(d-1일 20시)사이의 최대값과 최소값을 구하는 지표식 부탁드립니다.
2023-07-24
1683
글번호 170866
답변완료
문의드립니다.
안녕하세요.
특정 상단값과 하단값을 임의로 입력해두고 그 값을 1틱이라도 돌파(이탈)하면 그때부터 익절 20틱, 손절 20틱으로 매매하는 선물매매식을 만들고자 합니다.
예를 들어 350과 400 2개 가격을 입력한 뒤 400을 돌파하면 매수, 350를 이탈하면 매도를 하고자 합니다.
1. 입력값을 변경하기전까지는 계속 반복해서 매매 가능하게 되길 원합니다.
2. 돌파(이탈)후 진입이 익절 또는 손절 되기전까지는 동일 또는 반대신호가 나오면 안됩니다.
2023-07-24
1275
글번호 170865
답변완료
문의드립니다
1,
200봉동안 5일선과20일선이 골든크로스가났을때 의 가격중에서 가장낮은 현재가가 오늘 발생한종목
2,
200봉동안 5일선과20일선이 골든크로스가났을때 의 가격중에서 가장높은 현재가가 오늘 발생한종목
2023-07-23
1505
글번호 170864
답변완료
시스템 작성의뢰
수고 하십니다 !
1.증거금의 금액을 10 으로 나누어 거래량 5 이평선이 40 이상 상승하면 신호로 알려주고 on balance price 지표가 - 86 이하로 내려가고 obv 지표가 -
1800 이하로 하락하고 pvi지표가 99.40 이하로 하락하고 120,240,480,960 ,1920 이동평균선이 역배열이 되고 960
이평선과 1920 이평선의 간격이 7틱이상 벌어지고 120 이평선이 240 이평선을 업크로스할때 증거금10으로 나눈 금액중 5 의 금액으로 매수를 하고 30 틱 이상 하락하고 다음 120
이평선이 240 이평선을 업크로스 할때 증거금 중 2 의 금액으로 재 매수를하고 또다시 30틱이상 하락하고 120 이평선이 240 이평선을 업크로스할때 증거금10으로 나눈 금액중 3 의 금액으로 또 재 매수를 하고 50 틱 이상 상승하고 120 이평선이 240 이평선을 다운크로스할때 청산을 한다
2.증거금의 금액을 10으로 나누어 거래량 5 이평선이 40 이상 상승하면 신호로 알려주고 on balance price 지표가 180 이상 상승하고 obv 지표가 2800
이상 상승 하고 pvi지표가 100.30 이상 상승 하고 er bear power 지표가 - 0.00 이하로 하락 하고
120,240,480,960 ,1920 ,3840 이동평균선이 정배열이 되고 1920 이평선과 3840 이평선의 간격이 16 틱이상 벌어지고 120 이평선이 240 이평선을 다운크로스할때 증거금10으로 나눈 금액중 5 의 금액으로 매도를 하고 30 틱 이상 상승 하고 다음 120
이평선이 240 이평선을 다운크로스 할때 증거금 중 2 의 금액으로 재 매도를하고 또다시 30틱이상 상승 하고 120 이평선이 240 이평선을 다운크로스할때 증거금10으로 나눈 금액중 3 의 금액으로 또 재 매도를 하고 50 틱 이상 하락 하고 120 이평선이 240 이평선을 업크로스할때 청산을 한다
2023-07-23
1661
글번호 170863
답변완료
지표 또는 시스템식으로 부탁드립니다
안녕하세요
아래와 같은 수식을 찿았는데 예스로 변환이 가능한지요?
우선, QQE 지표의 시그널을 구현하기 위해 다음과 같은 함수를 작성합니다.
복사
function qqe_signal(qqe_period, ma_period, buy_signal, sell_signal)
{
qqe = QQE(qqe_period);
ma = MA(qqe, ma_period);
if (CrossOver(qqe, ma))
return buy_signal;
else if (CrossUnder(qqe, ma))
return sell_signal;
else
return 0;
}
위 함수는 qqe_period 기간 동안의 QQE 지표를 계산하고, 그 결과에 대해 ma_period 기간 동안의 이동평균선을 적용합니다. 그리고 qqe와 ma의 교차 시점에 따라 매수신호와 매도신호를 반환합니다.
이제, 이 함수를 이용하여 매매 시스템을 구현할 수 있습니다. 예를 들어, 다음과 같은 함수를 작성하여 매매 시스템을 구현할 수 있습니다.
복사
function trading_system(qqe_period, ma_period, buy_qty, sell_qty)
{
signal = qqe_signal(qqe_period, ma_period, 1, -1);
if (signal == 1)
Buy(buy_qty);
else if (signal == -1)
Sell(sell_qty);
}
위 함수는 qqe_period 기간 동안의 QQE 지표와 ma_period 기간 동안의 이동평균선을 이용하여 매수신호와 매도신호를 계산하고, 그에 따라 buy_qty와 sell_qty 만큼 매수와 매도를 수행합니다.
2023-07-23
1624
글번호 170862