커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6137
글번호 230811
답변완료
수식 보완
수고하십니다. 지난번 문의드려 답변주신 수식을 아주 약간수정하여 사용중입니다만[참조수식],
기준시간(한국시간 22시30분~05시00분) 사이의 값을 활용하여 구한 지표를 챠트에 표시하는데, 05:00시간부터 22시30분까지 로 구현하는 수식보완 부탁드립니다.
예] 7월5일 22시 30분 ~ 7월6일 05시00분 까지의 값으로 지표값 산출 하여
이 값을 7월6일 05시00분 부터 7월7일 05시00분까지 표시
아래 수식에서 시가, 당일중심 로 산출된 값은 매일 22시 30분에 갱신되어 챠트에 표시되는 것으로 부탁드립니다.(22:30~22:30)
참조수식]
input : 미국시작(223000),미국종료(050000);
var : Tcond(false),cnt(0), 시가(0);
Array : OO[10](0),HH[10](0),LL[10](0),CC[10](0);
If stime == 미국시작 or (stime > 미국시작 and stime[1] < 미국시작) Then
{
Tcond = true;
OO[0] = O;
HH[0] = H;
LL[0] = L;
for cnt = 1 to 9
{
OO[cnt] = OO[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
If stime == 미국종료 or (stime > 미국종료 and stime[1] < 미국종료) Then
{
Tcond = false;
}
if Tcond == true Then
{
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
CC[0] = C;
}
plot1(HH[1],"전일고가");
plot2(LL[1],"전일저가");
plot3(CC[1],"전일종가");
plot4((HH[1]+LL[1])/2,"전일중심");
plot5((HH[0]+LL[0])/2,"당일중심");
Var : Pivot(0),R1(0),R2(0),S1(0),S2(0);
Pivot = (HH[1]+LL[1]+CC[1])/3;
R1 = 2*Pivot-LL[1];
R2 = Pivot+HH[1]-LL[1];
S1 = 2*Pivot-HH[1];
S2 = Pivot-HH[1]+LL[1];
if (stime == 미국시작 or (stime > 미국시작 and stime[1] < 미국시작)) then
시가 = O;
plot1(HH[1],"전일고가");
plot2(LL[1],"전일저가");
plot3(CC[1],"전일종가");
plot4((HH[1]+LL[1])/2,"전일중심");
plot5((HH[0]+LL[0])/2,"당일중심");
Var : Pivot(0),R1(0),R2(0),S1(0),S2(0);
Pivot = (HH[1]+LL[1]+CC[1])/3;
R1 = 2*Pivot-LL[1];
R2 = Pivot+HH[1]-LL[1];
S1 = 2*Pivot-HH[1];
S2 = Pivot-HH[1]+LL[1];
Plot6(Pivot, "피봇포인트");
Plot7(R1, "1차저항");
Plot8(R2, "2차저항");
Plot9(S1, "1차지지");
Plot10(S2, "2차지지");
plot11(시가,"시가");
2018-07-07
274
글번호 120352
답변완료
볼린저밴드 수식
볼린저밴드에서 상단을 벗어난 상태에서 전봉이 양봉일때 그 양봉의 고가를 갱신 후
윗꼬리 단 음봉으로 마무리하는 봉 매도 신호
하단을 벗어난 상태에서 전봉이 음봉일때 그 음봉의 저가를 갱신후
아래꼬리 단 양봉으로 마무리하는 봉 매수 신호
부탁드리립니다.
2018-07-06
300
글번호 120351
답변완료
수식문의
안녕하세요
1.
하기 수식에서 몇가지 전략을 추가하고 싶은데,
적용이 되지 않고 있습니다. 검토 부탁드립니다.
input : Period(20),dv(2);
input : ADXP(14);
var : ADXv(0,data1),DP(0,data1),DM(0,data1);
var : BBmd1(0,data1),BBdn1(0,data1),bbup1(0,data1);
var : BandB1(0,data1),HH1(0,data1),LL1(0,data1);
var : BBmd2(0,data2),BBdn2(0,data2),bbup2(0,data2);
var : T(0,data1);
BBmd1 = data1(ma(C,Period));
BBdn1 = data1(BollBandDown(Period,Dv));
BBUp1 = data1(BollBandUp(Period,Dv));
BandB1 = data1(((C-BBDn1)/(BBUp1-BBdn1))*100);
BBmd2 = data2(ma(C,Period));
BBdn2 = data2(BollBandDown(Period,Dv));
BBUp2 = data2(BollBandUp(Period,Dv));
ADXv = data1(ADX(ADXP));
DP = data1(DiPlus(ADXP));
DM = data1(DiMinus(ADXP));
if crossup(BandB1,90) Then
HH1 = BandB1;
if BandB1 > 90 and BandB1 > HH1 Then
HH1 = BandB1;
if CrossDown(BandB1,10) Then
LL1 = BandB1;
if BandB1 < 10 and BandB1 < LL1 Then
LL1 = BandB1;
if CrossDown(BandB1,90) Then
{
T = 0;
if HH1 > 100 Then
T = -1;
if BBup2 < BBup1 then
T = -2;
}
if CrossUp(BandB1,10) Then
{
T = 0;
if HH1 < 0 Then
T = 1;
if BBdn2 > BBdn1 then
T = 2;
}
if T == -1 and BBup2 < BBup1 then
T = -2;
if T == 1 and BBdn2 > BBdn1 then
T = 2;
if T == -2 and T != T[1] and DP < ADXv Then
{
T = 0;
sell("s4");
}
if T == 2 and T != T[1] and DM < ADXv Then
{
T = 0;
buy("b4");
}
if MarketPosition == 1 and CrossDown(C,bbdn1) Then
exitlong();
if MarketPosition == -1 and CrossUp(C,bbup1) Then
ExitShort();
상기 수식에 하기 전략을 추가하고 싶습니다.
var1 = ADX(P);
if H >= BBup and BBup >=L Then
Condition1 = true;
Else
Condition1 = false;
if H >= BBdn and BBdn >=L Then
Condition2 = true;
Else
Condition2 = false;
if (Condition1 == true or Condition1[1] == true) and
abs(C-O) > abs(C[1]-O[1]) and
C < O and C[1] > O[1] Then
sell("s3");
if (Condition2 == true or Condition2[1] == true) and
abs(C-O) > abs(C[1]-O[1]) and
C > O and C[1] < O[1] Then
buy("b3");
var1 = ADX(P);
if var1 >= var1[1]+0.85 and DP > DM and ADXV < 50 and c >= O and H >= BBup and BBup >= L Then
{ buy("b1"); }
if var1 >= var1[1]+0.85 and DP < DM and ADXV < 50 and C <= O and H >= BBdown and BBdown >= L Then
{ sell("s1"); }
value1 = MACD(short, long);
value2 = ema(value1, Period);
# 매수/매도청산
If CrossUP(value1, value2) and C <= bbmd-PriceScale*10 Then
{
buy("b2");
}
# 매도/매수청산
If CrossDown(value1, value2) and C >= bbmd+PriceScale*10 Then
{
sell("s2");
}
감사합니다.
2018-07-08
192
글번호 120350
답변완료
문의합니다
if (TotalTrades == 0 or (TotalTrades >= 1 and var1 == 1 )) and A 수식 then
buy("A 매수");
if (TotalTrades == 0 or (TotalTrades >= 1 and var1 == 2)) and B 수식 Then
buy("B 매수");
if (TotalTrades == 0 or (TotalTrades >= 1 and var1 == 3)) and C 수식 Then
sell("C 매도");
if (TotalTrades == 0 or (TotalTrades >= 1 and var1 == 4)) and D 수식 Then
sell("D 매도");
청산식
#청산완료
if TotalTrades > TotalTrades[1] then
{
var1 = 0;
var2 = 0;
if IsEntryName("A 매수",1) == true Then
{
if PositionProfit(1) > 0 then
var1 == 2;
else
var1 == 4;
}
if IsEntryName("C 매도",1) == true then
{
if PositionProfit(1) > 0 Then
var1 == 4;
Else
var1 == 2;
}
if IsEntryName("B 매수",1) == true then
{
if PositionProfit(1) > 0 Then
{
var1 == 1;
var1 == 3;
}
Else
{
var1 == 1;
var1 == 3;
}
}
if IsEntryName("D 매도",1) == true then
{
if PositionProfit(1) > 0 Then
{
var1 == 1;
var1 == 3;
}
Else
{
var1 == 1;
var1 == 3;
}
}
}
1.
위의 식은
A 매수해서 이익이나면 B 매수로 손실이나면 D 매도로 진입하고
C 매도해서 이익이나면 D 매도료 손실이나면 B 매수로 진입하고
C 매수해서 이익과 손실이나도 A 매수나 C 매도나 빠른신호로 진입하고
D 매도해서 이익과 손실이나도 A 매수나 C 매도나 빠른신호로 진입하라라고
만든 함수인데 원하는데로 신호가 안나오네요
수정 부탁드립니다
2.
5 이평선과 10 이평선이 골드가 났을때 그때의 종가를 기준으로 이 종가를 201이평선이 돌파하면 5이평선과 10이평선이 골드가 났을때의 종가로 매수하라라는 함수를 알고 싶습니다
감사합니다
늘 승리하세요
2018-07-09
200
글번호 120349
답변완료
중심선 질문좀 드릴게요
현재 정배열인 종목이 120일의 고가와 저가의 중심선을 터치했을때 매수 함수좀 부탁드릴게요^^
2018-07-06
229
글번호 120347
답변완료
OBV 수식 부탁드립니다
OBV에서 시그널선이 추가되어 상승돌파시 매수 신호,하락 돌파시 매도 신호를
구현하고 싶습니다.
수식 부탁드립니다.
2018-07-06
245
글번호 120342
답변완료
20선 기준 상승 하락 구간 설정
안녕하세요?
20선을 기준으로 현재봉(3분)의 돌파와 이탈을 기점으로(수직선으로) 상승구간과 하락구간을 색상으로 나타낸는 방법을 문의드립니다.
감사합니다.
2018-07-06
218
글번호 120341
답변완료
수정 부탁드립니다.
아래 수식을 작성해주셔서 고맙습니다.
차트 우측 끝에 아래 선들이 위치한 가격도 표시되게 해주시면 고맙겠습니다.
------------------------------------
고정 숫자이므로 추세선으로 출력하시면 됩니다.
input : upLine1(7162.20),upLine2(7157.25),upLine3(7089.38),upLine4(7076.82),upLine5(7066.20),upLine6(7060.27),upLine7(6961.80),upLine8(6931.92);
var : tl1(0),tl2(0),tl3(0),tl4(0),tl5(0),tl6(0),tl7(0),tl8(0);
if index == 1 Then
{
tl1 = TL_New(sdate[1],stime[1],upline1,sdate,stime,upline1);
TL_SetExtRight(tl1,true);
tl2 = TL_New(sdate[1],stime[1],upline2,sdate,stime,upline2);
TL_SetExtRight(tl2,true);
tl3 = TL_New(sdate[1],stime[1],upline3,sdate,stime,upline3);
TL_SetExtRight(tl3,true);
tl4 = TL_New(sdate[1],stime[1],upline4,sdate,stime,upline4);
TL_SetExtRight(tl4,true);
tl5 = TL_New(sdate[1],stime[1],upline5,sdate,stime,upline5);
TL_SetExtRight(tl5,true);
tl6 = TL_New(sdate[1],stime[1],upline6,sdate,stime,upline6);
TL_SetExtRight(tl6,true);
tl7 = TL_New(sdate[1],stime[1],upline7,sdate,stime,upline7);
TL_SetExtRight(tl7,true);
tl8 = TL_New(sdate[1],stime[1],upline8,sdate,stime,upline8);
TL_SetExtRight(tl8,true);
}
즐거운 하루되세요
> 천왕봉 님이 쓴 글입니다.
> 제목 : 선 긋는 방법
> input : upLine1(7162.20),upLine2(7157.25),upLine3(7089.38),upLine4(7076.82),upLine5(7066.20),upLine6(7060.27),upLine7(6961.80),upLine8(6931.92);
plot1(upline1,"up1",BLACK);
plot2(upline2,"up2",BLACK);
plot3(upline3,"up3",BLACK);
plot4(upline4,"up4",BLACK);
plot5(upline5,"up5",BLACK);
plot6(upline6,"up6",BLACK);
plot7(upline7,"up7",BLACK);
plot8(upline8,"up8",BLACK);
위 괄호안의 가격이(예:7162.20) 첨부 그림B 같이 차트 우측 끝까지 선리 그려지고 가격이 표시되게 수정좀 해주세요.
일목균형표 때문에 선이 차트 우측 끝까지 표시가 안되는데 이것을 차트 우측 끝까지 표시되게 하려고 합니다.
2018-07-06
197
글번호 120338
답변완료
문의 드립니다.
질문 번호 58495에 관한 것인데
죄송하지만 600분봉 고가와 저가의 누적이평을
10분봉에 나타내고 싶으며
특정한 일부터 현재까지의 일봉의 고가와 저가의
누적이평을 분봉에 나타내고 싶습니다.
감사합니다.
2018-07-06
194
글번호 120337