커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1551
글번호 230811
답변완료
문의
문의 드립니다.
게시판에서 찾은 추세선 지표인데 아래 지표식에서 텍스트(숫자)가 안 나오게 부탁드립니다.
감사합니다.
input : Left(5),right(5),색1(red),색2(blue),굵기(1);
var : SHcnt(0),SLcnt(0);
var : SHV(0),SHD(0),SHT(0),HTL(0),HTX(0);
var : SHV1(0),SHD1(0),SHT1(0);
var : SLV(0),SLD(0),SLT(0),LTL(0),LTX(0);
var : SLV1(0),SLD1(0),SLT1(0);
if Bdate != bdate[1] Then
{
SHcnt = 0;
SLcnt = 0;
TL_Delete(HTL);
TL_Delete(LTL);
Text_Delete(HTX);
Text_Delete(LTX);
}
if SwingHigh(1,h,left,right,left+right+1) != -1 Then
{
TL_Delete(HTL);
Text_Delete(HTX);
SHcnt = SHcnt+1;
SHV = H[right];
SHD = sDate[right];
SHT = sTime[right];
SHV1 = SHV[1];
SHD1 = SHD[1];
SHT1 = SHT[1];
if SHcnt >= 2 Then
{
HTL = TL_new(SHD1,SHT1,SHV1,SHD,SHT,SHV);
TL_SetColor(HTL,색1);
TL_SetExtRight(HTL,true);
TL_SetSize(HTL,굵기);
HTX = Text_New(NextBarSdate,NextBarStime,SHV,NumToStr(SHV,2));
Text_SetStyle(HTX,0,1);
}
}
Else
{
Text_SetString(HTX,NumToStr(TL_GetValue(HTL,sDate,sTime),2));
Text_SetLocation(HTX,NextBarSdate,NextBarStime,TL_GetValue(HTL,sDate,sTime));
}
if SwingLow(1,L,left,right,left+right+1) != -1 Then
{
TL_Delete(LTL);
Text_Delete(LTX);
SLcnt = SLcnt+1;
SLV = L[right];
SLD = sDate[right];
SLT = sTime[right];
SLV1 = SLV[1];
SLD1 = SLD[1];
SLT1 = SLT[1];
if SLcnt >= 2 Then
{
LTL = TL_new(SLD1,SLT1,SLV1,SLD,SLT,SLV);
TL_SetColor(LTL,색2);
TL_SetExtRight(LTL,true);
TL_SetSize(LTL,굵기);
LTX = Text_New(NextBarSdate,NextBarStime,SLV,NumToStr(SLV,2));
Text_SetStyle(LTX,0,0);
}
}
Else
{
Text_SetString(LTX,NumToStr(TL_GetValue(LTL,sDate,sTime),2));
Text_SetLocation(LTX,NextBarSdate,NextBarStime,TL_GetValue(LTL,sDate,sTime));
}
2023-03-14
832
글번호 167146
답변완료
수식 문의 드립니다.
매수: 20 이평선 통과 함과 동시에 매수
메도: 10 이평선 하향함과 동시에 매도
2023-03-14
1212
글번호 167143
답변완료
분봉에서 일봉데이터 불러오기 관련 문의 드립니다.
안녕하세요?
data1 : 분봉
data2 : 일봉
이렇게 쓰고 있는데,, 매번 data2 종목을 바꿔주는게 불편해서
분봉에서 data2 띄우지 않고 전일의 시/고/저/종가 이평을 불러와서 동일하게 쓰려고 합니다.
value1 = ma(closed(1),5);
value2 = data2(ma(closed(0),5)) ;
Plot1(value1);
plot2(Value2);
이렇게 작성하면 value1은 분봉마다 가격이 달라지고 value2는 분봉이 변해도 당일중에는 당일중에는 변동이 없는데
data2를 쓰지않고 value2와 같이 당일은 동일한 값을 표현하는 방법이 있는지요?
2023-03-14
1079
글번호 167142
답변완료
부탁드립니다
### 매도청산신호 추가부탁드립니다 ###
input : length(12),reverse(false);
input : Period1(5),Period2(10),d1(2),period(40);
Input : P(3),P1(4),P2(5),P3(6),P4(7), LPercent(30), SPercent(65);
var : hh(0),ll(0),ps(0),pssig(0);
var : RSIv(0),rsis(0),stdv(0),t1(0),t2(0),b(0),s(0);
var : Relative(0),Relative1(0),Relative2(0),Relative3(0),Relative4(0);
Var : value(0);
var : s1(0),s2(0),s3(0),s4(0);
hh = highest(high, length);
ll = lowest(low, length);
if C > hh[1] Then
ps = 1;
if C < ll[1] Then
ps = -1;
pssig = iff(reverse and ps == 1, -1, iff(reverse and ps == -1, 1, ps));
if s1 <= 0 and pssig == 1 then
{
s1= 1;
buy("b1");
}
if s1 <= 0 and pssig == -1 then
{
s1 = -1;
}
RSIv = RSI(Period1);
RSIs = ema(RSIv,period2);
stdv = std(rsiv,period2);
t1 = ema(ema(ema(C,5),5),5);
t2 = ema(ema(ema(C,10),10),10);
var1 = lrl(c,period)+lrs(c,period);
b = 0;
if RSIV > rsis+d1*stdv Then
b = b+1;
if t1 > t2 Then
b = b+1;
if var1 > var1[1] Then
b = b+1;
s = 0;
if RSIV < rsis-d1*stdv Then
s = s+1;
if t1 < t2 Then
s = s+ 1;
if var1 < var1[1] Then
s = s+ 1;
if s2 <= 0 and b >= 2 Then
{
s2 = 1;
buy("b2");
}
if s2 >= 0 and s >= 2 Then
s2 = -1;
Relative = RSI(P);
Relative1 = RSI(P1);
Relative2 = RSI(P2);
Relative3 = RSI(P3);
Relative4 = RSI(P4);
value = RSI(P);
# 매수/매도청산
If s3 <= 0 and
Relative > 65 && Relative1 > 65 && Relative2 > 65 && Relative3 > 65
&& Relative4[1] < 65
&& CrossUP(Relative4, sPercent) Then
{
s3 = 1;
Buy("b3");
}
# 매도/매수청산
If s3 >= 0 and CrossDown(Relative1, lPercent) Then
{
s3 = -1;
}
input : dayLen(18);
var : ii(0),v1(0),v2(0),v3(0),v4(0),v5(0);
v1 = (close - close[DayLen - 1]) / (DayLen - 1);
v2 = 0;
For ii = 2 To DayLen - 1 begin
v2 = v2 + abs(close[DayLen - ii] - Close[DayLen - 1] - (ii - 1) * v1);
end;
If v2 <> 0 Then
{
If DayLen / 2 == 0 Then
v3 = accumN(close, DayLen) - DayLen * close[DayLen - 1] - (DayLen * (DayLen - 2) / 2 + DayLen / 2) * v1;
Else
v3 = accumN(close, DayLen) - DayLen * close[DayLen - 1] - DayLen * (DayLen - 1) / 2 * v1;
If v3 > 0 Then
v4 = (v2 - v3) / 2 + v3;
Else
v4 = (v2 + v3) / 2;
v5 = v4 / v2 * 100;
If s4 <= 0 and v1 > 0 And v5 < 20 Then
{
s4 = 1;
buy("b4", Atmarket);
}
If V1 < 0 And V5 > 80 Then
{
s4 = -1;
}
}
2023-03-14
793
글번호 167141
답변완료
수식부탁드립니다
수식 부탁드립니다.
0. timelow() 는 특정시간동안중 저가이고
timelowex()는 특정시간동안의 매봉마다 발생하는 저가로 이해하면 되나요
1.
if 조건1 then exitlong("청산1");
청산1이 발생하면, 청산1 시점의 시가, 종가
2.
청산1 이후 최저가
3.
청산1이후 if crossup(c , 청산1이후 최저가) then buy();
청산1이후 if crossdown(c , 청산1이후 최저가) then exitlong("청산2");
4.
청산2 발생하면,, 위와 동일하게 // 이후 청산도 동일하게 발생하도록
수식부탁드립니다.
2023-03-14
890
글번호 167133
답변완료
재문의
답변 수식을 진입수식에 적용했는데 하락(200) exitlong 시뮬레이션 결과값이 없습니다.
수식 살펴주십시요.
input : fs(100);
input : 하락(200),상승(200),st(140000);
if data2(c>lowD(0)+fs) Then
Buy();
var : Tcond(false,Data2),h2(0,Data2),L2(0,Data2);
if Data2(Bdate != Bdate[1]) Then
Tcond = False;
if Data2((sdate != sdate[1] and stime >= st) or
(sdate == sdate[1] and stime >= st and stime[1] < st)) Then
{
Tcond = False;
h2 = Data2(h);
l2 = Data2(l);
}
if Tcond == true Then
{
if Data2(H) > h2 Then
h2 = Data2(h);
if Data2(L) < l2 Then
l2 = Data2(l);
if data2(c<h2-하락) then
exitlong();
if data2(c>l2+상승) then
exitshort();
}
*******************************************************************************
안녕하세요
예스스탁입니다.
input : 하락(200),상승(200),st(140000);
var : Tcond(false,Data2),h2(0,Data2),L2(0,Data2);
if Data2(Bdate != Bdate[1]) Then
Tcond = False;
if Data2((sdate != sdate[1] and stime >= st) or
(sdate == sdate[1] and stime >= st and stime[1] < st)) Then
{
Tcond = False;
h2 = Data2(h);
l2 = Data2(l);
}
if Tcond == true Then
{
if Data2(H) > h2 Then
h2 = Data2(h);
if Data2(L) < l2 Then
l2 = Data2(l);
if data2(c<h2-하락) then
exitlong();
if data2(c>l2+상승) then
exitshort();
}
즐거운 하루되세요
> 목마와숙녀 님이 쓴 글입니다.
> 제목 : 문의
> 아래 수식을 입력한 시간(14시) 이후 발생한 봉부터 고점과 저점을 계산한다는 내용으로 변경바랍니다.
****************************************************************************************
input : 하락(200),st(140000);
if stime>=st and data2(c<highd(0)-하락) then
exitlong();
input : 상승(200),st(140000);
if stime>=st and data2(c>lowd(0)+상승) then
exitshort();
2023-04-24
684
글번호 167132
아트정 님에 의해서 삭제되었습니다.
2023-03-14
25
글번호 167131
답변완료
거래대금 오류, bigpointvalue
연결선물 거래대금 중 2009/12/10, 2010/01/22 잘못 되어 있습니다
그리고 bigpointvalue가 과거 상황(선물/옵션 승수변경 역사)에 따라
100,000 / 250,000 / 500,000으로 바뀌었으면 좋겠습니다.
2023-03-14
496
글번호 167130
답변완료
수고하십니다.
PlaySound("C:₩예스트레이더₩data₩Sound₩시세포착.wav");
시세포착이라는 wav.를 만들었는데 미디어에서는 시세포착이 나오는데 예스편집기로 실행하면 띵띵소리만 나옵니다 이유는 무었인지 알여주세요..
2023-03-14
637
글번호 167129