커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4481
글번호 230811
방향 님에 의해서 삭제되었습니다.
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
151
글번호 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
114
글번호 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
143
글번호 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
123
글번호 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
95
글번호 104592
답변완료
수식문의드립니다.
input : N(1);
var1 = ma(C,5);
var2 = ma(C,10);
var3 = ma(C,20);
plot1(dayopen(1),"전일시가");
plot2(DayHigh(1),"전일고가");
plot3(DayLow(1),"전일저가");
plot4(var1,"이평1");
plot5(var2,"이평2");
plot6(var3,"이평3");
if abs(C-dayopen(1)) <= PriceScale*N Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
if abs(C-DayHigh(1)) <= PriceScale*N Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
if abs(C-DayLow(1)) <= PriceScale*N Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
if abs(C-var1) <= PriceScale*N Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
if abs(C-var2) <= PriceScale*N Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
if abs(C-var3) <= PriceScale*N Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
전에 전일 시가 고가 저가 이평선 근처왔을 때 신호 문의를 드렸었는데
혹시 이평선 말고 이평라인으로 부탁 드리겠습니다. 근데 혹시 이것을 시스템 식으로 해서
신호 식으로 변경 할 수 있을까요??
2016-12-02
121
글번호 104590
답변완료
종목검색식
Input : shortPeriod(12), longPeriod(26), Period(9);
value1 = MACD(shortPeriod, longPeriod);
value2 = ema(value1, Period);
# 매수/매도청산
If CrossUP(value1, value2) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value1, value2) Then
{
Sell();
}
위 조건식에서
매도가격과 같거나 높은 가격에서 다시 매수가 나오는 식을 검색해주셔요
필터링--(거래소, 코스닥중에서 )거래정지 .우선주,선박투자,,ETN,정리매매,기업인수목적호시,ETF,초저유동성종목,관리종목,불성실공시,뮤추얼펀드
거래금액 --10억이하 종목
2016-12-02
131
글번호 104589
답변완료
dmi,거래 지표 수식 부탁합니다.
안녕하세요 지표 부탁드립니다.
(1) 매수진입 : 5 이평선이 20 이평선보다 크고,양봉 캔들이며,거래량이 1500 개 이상,
dmi지표의 +di 값이 30 이상일때.
(2) 매수청산 : 현재값이 20 이평선보다 작을때.
(3) 매도진입 : 5 이평선이 20 이평선 보다 작고, 음봉이며, 거래량이 1500 개 이상이고,
dmi 지표의 -di 값이 30 이상일때.
(4) 매도청산 : 현재값이 20 이평선보다 클때.
2016-12-02
133
글번호 104588