커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4420
글번호 230811
답변완료
수식 부탁드립니다. (늘 고맙습니다)
(1) 다음 조건의 검색식이 가능할까요? 부탁드리겠습니다.
1) 당일 거래대금 상위 100 종목 중에서,
2) 12시 이전에 3분봉 거래대금으로 한 번이라도 20억 이상이 발생한 종목
(2) 당일 거래대금 상위 100 종목 중에서,
순위 변동이 3단계 이상 상승한 종목
2017-03-20
124
글번호 107972
답변완료
수식 부탁드립니다.
안녕하세요
아래 수식에 1번,2번 조건을 첨가해 주시면 감사하겠습니다.
1번조건은 60 이평이 우상향할때는 매도신호가 나오지 않게하고
2번조건은 60 이평이 우하향할때는 매수신호가 나오지 않게 하는것입니다.
input : P1(10),P2(20);
input : sto1(5),sto2(3);
Input : TRIXPeriod(12), TRIXsigPeriod(9);
var : mav1(0),mav2(0);
var : TRIXv(0),TRIXs(0),stok(0),S(0);
mav1 = ma(C,P1);
mav2 = ma(C,P2);
stok = StochasticsK(sto1,sto2);
TRIXv = TRIX(TRIXPeriod);
TRIXs = ema(TRIXv,TRIXsigPeriod);
if crossup(stok,30) Then
S = 1;
if crossup(stok,70) Then
S = 2;
if CrossDown(stok,30) Then
S = -1;
if crossup(stok,70) Then
S = -2;
if mav1 > mav2 and
mav1 > mav1[1] and mav2 > mav2[1] and
S == 1 and stok > 30 and
crossup(Trixv,trixs) Then
buy();
if MarketPosition == 1 and CrossDown(mav1,mav2) Then
ExitLong();
if mav1 < mav2 and
mav1 < mav1[1] and mav2 < mav2[1] and
S == -2 and stok < 70 and
CrossDown(Trixv,trixs) Then
sell();
if MarketPosition == -1 and CrossUp(mav1,mav2) Then
ExitShort();
감사드립니다.
2017-03-19
124
글번호 107971
카카 님에 의해서 삭제되었습니다.
2017-03-19
25
글번호 107970
답변완료
함수 질문입니다
cond1 = countif(crossdown(v2,v3),10) >= 1;
이 함수에 대해 궁금한게 있는데요,
최근 10봉이내에 1번이상 크로스다운 발생을 의미하는 것같은데.
예를들어 매수 조건이
if cond1 == true and crossup(v2,v3) then
buy();
라고 한다면, 매수는 반드시 크로스다운(cond1)10봉 이후에 신호가 발생되는 건가요?
제가 원하는 것은, 10봉 이내이기때문에,
컴퓨터가 읽을때, 크로스업(즉 매수신호) 발생시 뒤로 10봉을 카운트 해서 그 안에 크로스다운이 발생했는지 확인후 매수를 원하는데 위 함수 사용이 이 맞는건지 궁금합니다.
2017-03-19
111
글번호 107969
답변완료
부탁드립니다.
참조항목 data2를 이용한 신호를 주항목(?)인 data1 봉이 아닌 참조항목인 data2 봉에 표시할 수 있는지요?
2017-03-19
110
글번호 107968
답변완료
수식 문의 드립니다
안녕하세요.
항상 수고가 많으십니다.
---- 질문입니다 ------------------------------------------
input: 이평(20);
var1 = ma(c, 이평);
if dayindex >=0 and stime < 153000 then
{
if c > var1 then
buy("매수1");
if c < var1 then
sell("매도1");
}
---------------------------------------------------------
위 수식을 1분봉에서 피라미딩을 적용하였을 경우에 대한 질문입니다.
매수신호든 매도신호든 10번 연속해서 같은 신호가 나왔을 경우
11번째에 다시 한번 별도의 추가적인 매수/매도를 하고 싶습니다.
이상입니다.
항상 즐거운 날을 보내시기를 바랍니다.
감사합니다.
2017-03-20
114
글번호 107967
답변완료
문의드립니다
안녕하세요~
문의드립니다
YesGlobal 사용하고있습니다
문의드리고싶은 내용은
특정구간에서 진입을하고 추가진입시 평균단가의선과 손절라인의 가로선을 만들고싶습니다
예상가
50.00 1계약,
50.04 1계약,
50.07 2계약,
50.10 6계약에 진입할경우
평균단가선과 평균단가에서 30틱 손절라인의 가로선 만들고싶습니다
# 특정가격대와 계약수는 직접입력할수있도록 해주면 좋겠습니다
추가부분
회원분의 지표수식에 참고좀하고싶어문의드립니다
아래지표에수식에 세로선(변폭선또는 추세선)은 필요없고
가로선만 표현하고싶습니다
가로선위에 나타낸 단가도 그대로 있으면 좋겠습니다
(( 가로선은 -----------실선으로 만들어주시면감사합니다 안되면 최대한 얆은선으로부탁드립니다)))
지표수식
input : 텍스트소수점자리수(5);
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);
var : TL11(0),TL22(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],텍스트소수점자리수));
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");
var1 = valArr[1];
var2 = valArr[2];
var3 = valArr[3];
TL11 = TL_New(sDate[barArr[3]],sTime[barArr[3]],valArr[3],sDate[barArr[1]],sTime[barArr[1]],valArr[3]);
TL_SetSize(TL11,1);
if turnPntArr[1][0] == "Hi" Then
TL_SetColor(TL11,RED);
Else
TL_SetColor(TL11,blue);
}
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]);
TL_SetEnd(TL11,sDate[barArr[1]],sTime[barArr[1]],valArr[3]);
Text_Delete(tx22);
tx22 = Text_New(sDate[barArr[1]],sTime[barArr[1]],valArr[1],NumToStr(valArr[1],텍스트소수점자리수));
TL_Delete(TL22);
if turnPntArr[1][0] == "Lo" Then{
TL22 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate,sTime,valArr[2]);
TL_SetSize(TL22,1);
TL_SetColor(TL22,RED);
}
if turnPntArr[1][0] == "hi" Then{
TL22 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate,sTime,valArr[2]);
TL_SetSize(TL22,1);
TL_SetColor(TL22,blue);
}
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");
2017-03-19
156
글번호 107966
답변완료
사용자함수 문의
안녕하세요, NH트레이더 사용자입니다.
항상 도움받고 있습니다.
YesLang을 사용해서 사용자 함수 "Yes"를 작성하고 싶습니다.
Yes는
월봉의 n월 전의 종가 MC[n]를 포함하는 식이 아래와 같고
X[n] = MC[n] *1.1
Yes를 X[n]/MC[n-1]*100 >= 20로 정의하고 싶습니다.
이때, yes를 n 을 지정할 때 해당값을 소환하고 싶어요
2017-03-19
125
글번호 107965
답변완료
문의드립니다
1
aa = 10시 돌파 가격 저장
매수
aa 보다 0.50 이상돌파시 매수
매도
aa 보다 0.55 이하돌파시 매도
매수청산
진입후
최저값대비 0.40 이상 되돌릴시 청산
매도청산
진입후
최대값대비 0.65 이상 되돌릴시 청산
2
시뮬레이션 차트에서
기본 시스템 적용시
진입 시간과
청산 시간을
TXT나 엑셀파일로 보고싶습니다
어떻게 해야 하나요?
감사합니다
2017-03-19
111
글번호 107964