커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7368
글번호 230811
답변완료
문의드립니다
틱90 차트에서
기준선; 시초가
그이후봉; 종가 - 기준선
봉이생길때 마다 (종가 - 기준선) 의 누적을 표현하고싶읍니다.
기준선은 다른기준이 적용할수도 있게 작성을 부탁드립니다.
수고하십시요
2016-12-03
133
글번호 104600
답변완료
부탁드려요
가.매수진입(진입명:매수선봉)
1). a선과 b선이 c선보다 작다
2). c선 아래에서 a선이 b선을 크로스다운한다.("크로스다운입니다")
3). 1)과 2)의 조건이 동시에 한번이라도 만족되어서 진행되고 있거나(현재)
진행되었졌으면(과거)...
4). 이후에 현재가가 c선을 크로스업하면 매수진입.("크로스업입니다")
나.매수진입(진입명:매수1)
1). a선과 b선이 c선보다 작다
2). c선 아래에서 a선이 b선을 크로스다운한다.("크로스다운입니다")
3). 1)과 2)의 조건이 동시에 한번이라도 만족되어서 진행되고 있거나(현재)
진행되었졌으면(과거)...
4). 이후에 현재가가 c선을 크로스업상태를 유지한다.("크로스업입니다")
5). 현재가가 c선을 크로스업상태를 유지하고 있으면서 현재가가 d선을
크로스업하면 매수진입("크로스업입니다")
-1),2),3),4)네가지 조건만족후 매수진입입니다.
다.매도진입(진입명:매도선봉)
1). a선과 b선이 c선보다 크다
2). c선 위에서 a선이 b선을 크로스업한다.("크로스업입니다")
3). 1)과 2)의 조건이 동시에 한번이라도 만족되어서 진행되고 있거나(현재)
진행되었졌으면(과거)...
4). 이후에 현재가가 c선을 크로스다운하면 매도진입.("크로스다운입니다")
라.매도진입(진입명:매도1)
1). a선과 b선이 c선보다 크다
2). c선 위에서 a선이 b선을 크로스업한다.("크로스업입니다")
3). 1)과 2)의 조건이 동시에 한번이라도 만족되어서 진행되고 있거나(현재)
진행되었졌으면(과거)...
4). 이후에 현재가가 c선을 크로스다운상태를 유지한다.("크로스다운입니다")
5). 현재가가 c선을 크로스다운상태를 유지하고 있으면서 현재가가 d선을
크로스다운하면 매도진입("크로스다운입니다")
-1),2),3),4)네가지 조건만족후 매도진입입니다.
감사합니다......
2016-12-03
148
글번호 104599
답변완료
부탁 드립니다.
도움 주심에 깊이 감사 드립니다.
수식에서
var27 을 대칭기준선으로 하고
var7을 대칭(mirror)하는 새로운 지표선을 만들고자 합니다.
미리 감사 드립니다.
INPUT:P21(21),P3(3),SIG(9);
VAR: BEAR(0),RA(0),ST(0);
VAR: BEAR1(0),RA1(0),ST1(0);
BEAR=ACCUMN(ABS(H-H[1]),P21)/P21;
RA=ACCUMN(C-H,P21)/P21;
ST=C-(BEAR+RA)*P3;
VAR7=EMA(ST,SIG);
BEAR1=ACCUMN(ABS(L-L[1]),P21)/P21;
RA1=ACCUMN(C-L,P21)/P21;
ST1=C-(BEAR1+RA1)*P3;
vaR17=EMA(ST1,SIG);
var27=(var7+var17)/2;
PLOT11(VAR17);
plot21(var27);
2016-12-03
146
글번호 104598
방향 님에 의해서 삭제되었습니다.
2016-12-03
3
글번호 104597
답변완료
문의
1.디마크 의0.618 0.236선과 종가선 부탁드려요
2.당일의 고점저점 로그 피보나치를 이어가는데요 만약 상승중 23.6를 1틱이라도때렷다면 그때그부분의 저점 고점을 또 하락중 반대도 하락중 고점의23.6퍼를찍으면 그부분을 고점으로부탁드립니다.
3.이건 파동선인데 제가 소수점자릿수를 지정가능했으면 좋겠고요
상승시 빨강 하락시 파랑으로 부탁드립니다.
그리고 계속 어떤조건에 맞으면 소리가들리는데 이것을 제거부탁드립니다.
Var:jjjjj(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0),Tx(0),trnd(0),tx22(0);
Array:valArr[10](0),barArr[10](0),turnPntArr[10]("");
For jjjjj = 0 To 9
{
barArr[jjjjj] = barArr[jjjjj] + 1;
}
Condition1 = Highest(H,26) == H and lastHiVal <> H;
Condition2 = Lowest(L,26) == L and lastLoVal <> L;
If Condition1 Then lastHiVal = H;
If Condition2 Then lastLoVal = L;
// 전환점구분 null값으로 초기화;
turnPntBit = "";
If Condition1 and Condition2 Then
{
If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then
turnPntBit = "HiLo";
Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi";
Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo";
}
Else If Condition1 Then turnPntBit = "Hi";
Else If Condition2 Then turnPntBit = "Lo";
If turnPntBit <> "" Then
{
If turnPntBit == "HiLo" Then
{
valArr[1] = IFF(turnPntArr[1] == "Hi",H,L);
barArr[1] = 0;
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
If turnPntArr[1] == "Hi" Then
turnPntBit = "Lo";
Else
turnPntBit = "Hi";
}
If turnPntBit <> turnPntArr[1] Then
{
for jjjjj = 8 downto 1
{
valArr[jjjjj+1] = valArr[jjjjj];
barArr[jjjjj+1] = barArr[jjjjj];
turnPntArr[jjjjj+1] = turnPntArr[jjjjj];
}
}
If turnPntBit <> turnPntArr[1] or
(turnPntBit == turnPntArr[1] and
((turnPntBit == "Hi" and valArr[1] < H) or
(turnPntBit == "Lo" and valArr[1] > L))) Then
{
valArr[1] = IFF(turnPntBit == "Hi",H,L);
barArr[1] = 0;
turnPntArr[1] = turnPntBit;
If turnPntArr[1][1] <> turnPntArr[1][0] Then
{
Tx = Text_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],NumToStr(valArr[2],2));
Text_SetStyle(tx,0,2);
TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
if turnPntArr[1][0] == "Lo" Then
trnd = -1;
if turnPntArr[1][0] == "hi" Then
trnd = 1;
}
}
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
Text_Delete(tx22);
tx22 = Text_New(sDate[barArr[1]],sTime[barArr[1]],valArr[1],NumToStr(valArr[1],2));
TL_SetSize(TL1[1],1);
TL_SetColor(TL1[1],BLACK);
if Trnd == -1 and Trnd[1] == -1 and L == TL_GetValue(TL1,sdate,stime) and L < L[1] Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
if Trnd == 1 and Trnd[1] == 1 and H == TL_GetValue(TL1,sdate,stime) and H > H[1] Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
2016-12-03
201
글번호 104596
답변완료
오래전 분봉을 보고싶네요
질문이 몇가지있습니다
1분봉으로했는데 최고 10000개 밖에 안되더라구요
그게 한달치정도인데
더 오래전으로 볼수없을까요? 1년정도전까지요
그리고 틱봉도요 틱봉은 분봉보다 더 적게 보내요
더 길게 볼 방법없나요?
하이투자증권 정회원으로 보고있는데
다른곳은 더 길게볼수있는지요
그리고 두번째 질문은
보조지표가 크로스업
골든크로스가 나면 매수
데드크로스가 나면 매도
를 하는 수식이라면
바로 윗호가로 사지는건지
아니면 아래호가에 걸리는건지도 알고싶습니다
바로 체결되는거 맞나요?
그리고 5틱에 청산신호를 걸면
체결되자마자 청산신호가 걸리는건가요?
# 매수/매도청산
If CrossUP(value1, value2) Then
{
Buy("b");
}
# 매도/매수청산
If CrossDown(value1, value2) Then
{
Sell("s");
}
SetStopProfittarget(PriceScale*5,PointStop);
저번에 알려주신 이 수식에서
저 신호가뜨면 바로 매수 매도가 되고
되자마자 청산호가에 제 청산주문이 걸리는건지 알고싶어요
제 주문이 체결되고 5틱 위의 호가에 다달아서 주문이 걸리는것이 아니라
체결되자마자 바로 청산주문이 들어가는것이요
만약 저 위의 수식이 아니라면 되는 수식으로 알려주세요
잘부탁드립니다
수고하세요
2016-12-03
150
글번호 104595
답변완료
bids asks 지표문의드려요
호가 참조데이터를 이용한 전략을 사용하려고 하였는데요,
첫봉과 두번째서만 진입하고 매수총잔량>매도총잔량, 총매수건수>총매도건수 일때 매수하고
매도총잔량> 매수총잔량, 총매도건수>총매수건수 일때 매도하며 13시 이후 청산, 진입과 반대의 경우가 발생할 경우 청산하는 시스템 식을 찾아서 이렇게 작성된 것을 사용했습니다.
var: buycond(false), sellcond(false);
buycond = bids>asks and data2 (c) > data3 (c);
sellcond = bids <asks and data2(c) < data3(c);
if dayindex <= then {
if buycond == true then
buy();
if sellcond then
sell();
}
if stime > 13000 then {
if sellcond then
exitlong();
if buycond then
exitshort();
}
setstopendofday();
그런데 이 식이 제가 직접 작성한 식이 아니다 보니 사용방법을 잘 모르겠네요;
2 데이터 3데이터를 사용할 bids/asks 지표 코딩을 어떻게 해야할지 모르겠네요
2016-12-02
170
글번호 104594
답변완료
지표 문의 드립니다
안녕하세요
지표 질문드립니다.
1.
45일 이동평균선의 종가가 아닌 중간값을 구하려고
선언문 제외하고
HH = dayhigh;
LL = daylow;
HH1 = dayhigh(1);
LL1 = daylow(1);
HH2 = dayhigh(2);
LL2 = daylow(2);
HH3 = dayhigh(3);
LL3 = daylow(3);
HH4 = dayhigh(4);
LL4 = daylow(4);
HH5 = dayhigh(5);
LL5 = daylow(5);
HH6 = dayhigh(6);
LL6 = daylow(6);
HH7 = dayhigh(7);
LL7 = daylow(7);
HH8 = dayhigh(8);
LL8 = daylow(8);
HH9 = dayhigh(9);
LL9 = daylow(9);
HH10 = dayhigh(10);
LL10 = daylow(10);
HH11 = dayhigh(11);
LL11 = daylow(11);
HH12 = dayhigh(12);
LL12 = daylow(12);
HH13 = dayhigh(13);
LL13 = daylow(13);
HH14 = dayhigh(14);
LL14 = daylow(14);
HH15 = dayhigh(15);
LL15 = daylow(15);
HH16 = dayhigh(16);
LL16 = daylow(16);
HH17 = dayhigh(17);
LL17 = daylow(17);
HH18 = dayhigh(18);
LL18 = daylow(18);
HH19 = dayhigh(19);
LL19 = daylow(19);
HH20 = dayhigh(20);
LL20 = daylow(20);
HH21 = dayhigh(21);
LL21 = daylow(21);
HH22 = dayhigh(22);
LL22 = daylow(22);
HH23 = dayhigh(23);
LL23 = daylow(23);
HH24 = dayhigh(24);
LL24 = daylow(24);
HH25 = dayhigh(25);
LL25 = daylow(25);
HH26 = dayhigh(26);
LL26 = daylow(26);
HH27 = dayhigh(27);
LL27 = daylow(27);
HH28 = dayhigh(28);
LL28 = daylow(28);
HH29 = dayhigh(29);
LL29 = daylow(29);
HH30 = dayhigh(30);
LL30 = daylow(30);
HH31 = dayhigh(31);
LL31 = daylow(31);
HH32 = dayhigh(32);
LL32 = daylow(32);
HH33 = dayhigh(33);
LL33 = daylow(33);
HH34 = dayhigh(34);
LL34 = daylow(34);
HH35 = dayhigh(35);
LL35 = daylow(35);
HH36 = dayhigh(36);
LL36 = daylow(36);
HH37 = dayhigh(37);
LL37 = daylow(37);
HH38 = dayhigh(38);
LL38 = daylow(38);
HH39 = dayhigh(39);
LL39 = daylow(39);
HH40 = dayhigh(40);
LL40 = daylow(40);
HH41 = dayhigh(41);
LL41 = daylow(41);
HH42 = dayhigh(42);
LL42 = daylow(42);
HH43 = dayhigh(43);
LL43 = daylow(43);
HH44 = dayhigh(44);
LL44 = daylow(44);
이렇게 하고 수식을 구했는데요
이거보다 더 간단하게 할수 있나요?
var1 = ma((H+L)/2 , 45 );
이건 안될것같고
var : RR(0);
var1 = ma(H , 45 );
var2 = ma(L , 45 );
RR = ( var1 + var2 )/2
이게 맞나요?
혹시 그럼 분봉에서 일봉값을 구하려면
input : P1(45);
for cnt = 0 to P1{
if cnt < P1 Then
sumV1 = sumV1+DayHigh(cnt);
}
이렇게 45일 고가값을 구하고 또 저가값을 구해서 더하고 /2 하면 되는 건가요?
2.
10일간 전일종가대비 종가가 7.5% 이상일때 그 봉이 저가대비고가가 15%이상을 하려고 하는데
countif(C>=c[1]*1.075,10) >= 1 and countif(H>=L*1.15,10) >= 1
이렇게 하니 전일종가대비 종가가 7.5% 이상이 나오고 10일안에 다른날 당일저가대비고가가
15%이상이 나와도 검색이 되는것 같습니다.
위조건을 한봉에 다 나오게 조건을 어떻게 하는건가요?
3.
당일저가가 4봉중 신저가 조건을
Lowest(Low,3)[1] > L 이렇게 했는데 맞나요?
부탁드립니다
즐거운 주말 보내세요
2016-12-05
157
글번호 104593
답변완료
재문의 드립니다
항상 감사드립니다.
처음 질문에서 직전양봉(음봉)의 의미는 바로 1개봉앞을 의미하는것으로
수식을 좀 변경해 주시면 고맙겠습니다.
그리고 익절이 n=3으로 해서 적용했는데 그러면 연속 양봉(또는음봉)이 3개연속나올때
그 3번째 봉이 완성될때 청산이 되어야 되는데 그렇게 나오지 않고 1개봉 또는 연속 2개봉일때도 청산이 되어 버립니다.
부탁드리겠습니다.
감사합니다.
> 방향 님이 쓴 글입니다.
> 제목 : 수식부탁드립니다.
> 틱봉 기준입니다.
1. 직전 양봉의 저점보다 저점이 더 낮은 음봉 출현시
그 봉의 종가에서 바로 진입하고
손절은 진입봉의 고점이 깨질때 손절
익절은 연속n회 양봉출현시 n번째 양봉에서 익절
2. 직전 음봉의 고점보다 고점이 더 높은 양봉 출현시
그 봉의 종가에서 바로 진입하고
손절은 진입봉의 저점이 깨질때 손절
익절은 연속n회 음봉출현시 n번째 음봉에서 익절
부탁드립니다...
안녕하세요
예스스탁입니다.
input : n(3);
if C > O Then
var1 = L;
if C < O Then
var2 = H;
if var1 > 0 and C < var1 and C < O Then
sell("s");
if MarketPosition == -1 then{
ExitShort("sx1",AtStop,H[BarsSinceEntry]+PriceScale*1);
if countif(C>O,n) == n Then
ExitShort("sx2");
}
if var2 > 0 and C > var2 and C > O Then
buy("b");
if MarketPosition == -1 then{
ExitLong("bx1",AtStop,L[BarsSinceEntry]-PriceScale*1);
if countif(C<O,n) == n Then
ExitLong("bx2");
}
2016-12-02
116
글번호 104592