커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7520
글번호 230811
답변완료
신호추가
아래는 수식지왕님이 블로그에 올려주신 당일파동선입니다.
http://yahoosir.blog.me/150182371951
이 파동선의 변화에 따른 신호를 추가할수있을까요..?
2014-02-21
196
글번호 72801
답변완료
조건식 검토 부탁드립니다.
안녕하세요.
아래조건대로 시스템식 만들려고 하는데요.
적용해보니 에러가 나고 이해가 안되는 부분이 있습니다.
#===== 설명 부탁(아래 내용 이해 불가) ==# 부터
설명좀 부탁드립니다.
좋은하루 되세요.
감사합니다.
------------------
조 건 계 산 식
-------------------
금일 시가>전일 종가
-------------------
목표 고가=(전일고가+전일종가+2*전일저가)/2-전일저가
목표 저가=(전일고가+전일종가+2*전일저가)/2-전일고가
금일 시가<전일 종가
-------------------
목표 고가=(2*전일고가+전일종가+전일저가)/2-전일저가
목표 저가=(2*전일고가+전일종가+2*전일저가)/2-전일고가
금일 시가=전일 종가
--------------------
목표 고가=(전일고가+2*전일종가+전일저가)/2-전일저가
목표 저가=(전일고가+2*전일종가+전일저가)/2-전일고가
======================================================
시가에 디마크 목표 고가와 목표 저가의 폭의 일정 비율을
가감해서 돌파 전략으로 사용한다.
======================================================
Input: len(2.7), len1(0.37);
var : var1(0), var2(0), var3(0), cond1(false),cond2(false);
If open > close[1] Then {
{
Var1 = (high[1] + close[1] + 2 * low[1]) / 2 - low[1];
Var2 = (high[1] + close[1] + 2 * low[1]) / 2 - high[1];
}
Else if open < close[1] Then
{
Var1 = (2 * high[1] + close[1] + low[1]) / 2 - low[1];
Var2 = (2 * high[1] + close[1] + low[1]) / 2 - high[1];
}
Else
{
Var1 = (high[1] + 2 * close[1] + low[1]) / 2 - low[1];
Var2 = (high[1] + 2 * close[1] + low[1]) / 2 - high[1];
}
}
Var3 = (Var1 - var2);
#===== 설명 부탁(아래 내용 이해 불가) ==#
Cond1 = tdate = exitdate(1) And position(1) = 1;
Cond2 = tdate = exitdate(1) And position(1) = -1;
If stime < 150000 Then {
If Cond1 == False Then {
buy("매수1", Atstop, Def, open + var3 * len1);
}
}
If Cond2 = False Then {
sell("매도1", Atstop, Def, open - var3 * len1);
}
If position <> 0 Then
{
exitlong("매수청산", Atstop, hhv(1, high, barnumsinceentry + 1) - atr(20) * len);
exitshort("매도청산", Atstop, llv(1, low, barnumsinceentry + 1) + atr(20) * len);
}
2014-02-21
199
글번호 72797
답변완료
for 문 사용법 문의
항상 신속하고 상세한 답변 주셔서 많은 도움을 받고 있습니다.
감사합니다.
제가 아직도 배열과 for문에 대해서
잘 이해 하지 못하고 있습니다.
for 와 배열을 사용해서 아래의 소스 길이를 줄이고 싶은데
잘안되는 군요!
//@@@@@@@ <= 이 표시된 부분부터
//@@@@@@@ <= 이 표시된 부분까지 간소화하는 방안 좀 부탁드립니다.
------- 아 래 --------
//■■■옵션 여러개
var : 콜내기준(4.85), 콜외기준(3.5), 풋내기준(6.85), 풋외기준(2.5);
var : 순번(0), 콜내V(0), 콜외V(0), 풋내V(0), 풋외V(0);
array : 콜[23](0), 풋[23](0), 콜V[23](0), 풋V[23](0);
//@@@@@@@
콜[1] = data2(C); 풋[1] = data2(C);
콜[2] = data3(C); 풋[2] = data3(C);
콜[3] = data4(C); 풋[3] = data4(C);
콜[4] = data5(C); 풋[4] = data5(C);
콜[5] = data6(C); 풋[5] = data6(C);
콜[6] = data7(C); 풋[6] = data7(C);
콜[7] = data8(C); 풋[7] = data8(C);
콜[8] = data9(C); 풋[8] = data9(C);
콜[9] = data10(C); 풋[9] = data10(C);
콜[10] = data11(C); 풋[10] = data11(C);
콜[11] = data12(C); 풋[11] = data12(C);
콜[12] = data13(C); 풋[12] = data13(C);
콜[13] = data14(C); 풋[13] = data14(C);
콜[14] = data15(C); 풋[14] = data15(C);
콜[15] = data16(C); 풋[15] = data16(C);
콜[16] = data17(C); 풋[16] = data17(C);
콜[17] = data18(C); 풋[17] = data18(C);
콜[18] = data19(C); 풋[18] = data19(C);
콜[19] = data20(C); 풋[19] = data20(C);
콜[20] = data21(C); 풋[20] = data21(C);
콜[21] = data22(C); 풋[21] = data22(C);
콜[22] = data23(C); 풋[22] = data23(C);
콜[23] = data24(C); 풋[23] = data24(C);
콜V[1] = data2(V); 풋V[1] = data2(V);
콜V[2] = data3(V); 풋V[2] = data3(V);
콜V[3] = data4(V); 풋V[3] = data4(V);
콜V[4] = data5(V); 풋V[4] = data5(V);
콜V[5] = data6(V); 풋V[5] = data6(V);
콜V[6] = data7(V); 풋V[6] = data7(V);
콜V[7] = data8(V); 풋V[7] = data8(V);
콜V[8] = data9(V); 풋V[8] = data9(V);
콜V[9] = data10(V); 풋V[9] = data10(V);
콜V[10] = data11(V); 풋V[10] = data11(V);
콜V[11] = data12(V); 풋V[11] = data12(V);
콜V[12] = data13(V); 풋V[12] = data13(V);
콜V[13] = data14(V); 풋V[13] = data14(V);
콜V[14] = data15(V); 풋V[14] = data15(V);
콜V[15] = data16(V); 풋V[15] = data16(V);
콜V[16] = data17(V); 풋V[16] = data17(V);
콜V[17] = data18(V); 풋V[17] = data18(V);
콜V[18] = data19(V); 풋V[18] = data19(V);
콜V[19] = data20(V); 풋V[19] = data20(V);
콜V[20] = data21(V); 풋V[20] = data21(V);
콜V[21] = data22(V); 풋V[21] = data22(V);
콜V[22] = data23(V); 풋V[22] = data23(V);
콜V[23] = data24(V); 풋V[23] = data24(V);
//@@@@@@@
콜내V = 0;
콜외V = 0;
풋내V = 0;
풋외V = 0;
for 순번 = 1 to 23 {
if 콜[순번] > 콜내기준 then 콜내V = 콜내V + 콜V[순번];
if 콜[순번] < 콜외기준 then 콜외V = 콜외V + 콜V[순번];
if 풋[순번] > 풋내기준 then 풋내V = 풋내V + 풋V[순번];
if 풋[순번] < 풋외기준 then 풋외V = 풋외V + 풋V[순번];
}
//== 모두
plot11(콜내V, "콜내");
2014-02-21
180
글번호 72795
답변완료
검색
안녕하세요
상한가후 날자와관계없이 이후 상한가날의 캔들의 중앙지점이나 최저점을 이탈하는 종목검색식부탁합니다
예을들어서 상한가후 이틀후에 내려올수도있구 한달뒤에도 내려올수도 있갰죠
2014-02-21
174
글번호 72790
답변완료
부탁합니다.
Input : shortPeriod(1), longPeriod(20) ;
Var : value(0);
value = OSCP(shortPeriod, longPeriod);
# 매수/매도청산
If CrossUP(value, 0)
Then
{ Buy(); Exitshort(); }
볼린저 밴드 상단을고가가상향돌파시 다음봉에따른다
# 매도/매수청산
If CrossDown(value, 0)
Then { Sell(); Exitlong(); }
볼린저 밴드 하단을저가가하항돌파시 다음봉에따른다
2014-02-21
130
글번호 72789
답변완료
검색식부탁합니다
과거20일간 평균거래량1.5배 < 오늘거래량
오늘봉은 양봉이고 60일이평 상향돌파
2014-02-21
118
글번호 72788
답변완료
검색식부탁합니다
과거20일간 평균거래량1.5배 < 오늘거래량
오늘봉은 양봉이고 60일이평 상향돌파
2014-02-21
114
글번호 72787
답변완료
부탁합니다
Input : shortPeriod(1), longPeriod(20) ;
Var : value(0);
value = OSCP(shortPeriod, longPeriod);
# 매수/매도청산
If CrossUP(value, 0)
Then
{ Buy(); Exitshort(); }
볼린저 밴드 상단을종가가상향돌파시이익실현한다
# 매도/매수청산
If CrossDown(value, 0)
Then { Sell(); Exitlong(); }
볼린저 밴드 하단을종가하항돌파시이익실현한다
2014-02-21
125
글번호 72786
답변완료
문의드립니다.
35062 번 글에 답변 달아주신 것에 대해서 의문점이 하나 있어서 질문드립니다.
그떄 답변 달아주신 아래 수식대로라면 신호발생시 시장가로 바로 진입하나요 하니면 신호 발생한 그 포인트에 지정가로 진입하나요?
만약 시장가로 바로 진입한다면 지정가로 진입하게는 어떻게 하는지,
만약 신호발생한 그 포인트로 지정가로 진입한다면, C 개 캔들동안 체결이 안되었을 시에는 주문 취소 들어가게 할 수 있는지(체결이 안되었을 시 주문 취소되고 다음 신호 발생시 신호대로 진입).
가능하다면 수식 수정좀 부탁드리겠습니다. 감사합니다.
var : T1(0),T2(0),T3(0),T4(0),T5(0);
var : X(0),W(0),cnt(0),count(0),NP(0),PreNP(0),dayPL(0);
input : dayentry(4),당일손실(-1.4),loss(100),Profit(100);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
NP = NetProfit;
if date != date[1] Then{
Condition1 = False;
PreNP = NP[1];
}
dayPL = (NP-PreNP)+PositionProfit;
X = min(T1,T2,T3,T4);
W = iff(T5[1]<T5,X,T5);
if Condition1 == false and T1 > W and T1[1] <= W[1] and dayindex > 0 Then
Condition1 = true;
if Condition1 == false and T1 <= W and T1[1] > W[1] and dayindex > 0 Then
Condition1 = true;
if count < dayentry and dayPL > 당일손실 Then{
if T1 > W and dayindex > 0 and Condition1 == true Then{
if count == 0 or
(count >= 1 and MarketPosition == -1) Or
(Count >= 1 and MarketPosition == 0 and MarketPosition(1) != 1) Then{
buy();
}
}
if T1 <= W and dayindex > 0 and Condition1 == true then {
if count == 0 or
(count >= 1 and MarketPosition == 1) Or
(Count >= 1 and MarketPosition == 0 and MarketPosition(1) != -1) Then{
sell();
}
}
}
SetStopProfittarget(Profit,PointStop);
SetStopLoss(loss,PointStop);
SetStopEndofday(150000);
if MarketPosition == 1 and T1 <= W Then
ExitLong("daybx2",Atstop,EntryPrice+(당일손실-DayPL));
if MarketPosition == -1 and T1 > W Then
ExitShort("daysx2",Atstop,EntryPrice-(당일손실-DayPL));
if MarketPosition == 1 and T1 <= W Then
ExitLong();
if MarketPosition == -1 and T1 > W Then
ExitShort();
2014-02-21
137
글번호 72784