커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
2112
글번호 230811
회원 님에 의해서 삭제되었습니다.
2022-09-09
182
글번호 162093
답변완료
문의드립니다
INPUTS: LENGTH1(5);
INPUTS: 색1(YELLOW),색2(RED), 굵기(1);
VARS : DEMA1(0),TL(0);
var1= EMA(C,LENGTH1);
value1= EMA(EMa(C,LENGTH1),LENGTH1);
DEMA1 = var1 * 2 - value1;
if C >DEMA1 Then
PLOT1(DEMA1, "DEMA1",GRAY);
Else
PLOT1(DEMA1, "DEMA1",GRAY);
if CrossUp(DEMA1,v2) or CrossUp(DEMA1,v2) Then
{
TL_Delete(tl);
tl = TL_New(sDate,sTime,DEMA1+PriceScale*10,NextBarSdate,NextBarStime,DEMA1+PriceScale*10);
TL_SetColor(tl,Yellow);
TL_SetSize(tl,4);
TL_SetExtRight(TL,true);
}
if CrossDown(DEMA1,v2) or CrossDown(DEMA1,v2) Then
{
TL_Delete(tl);
tl = TL_New(sDate,sTime,DEMA1+PriceScale*10,NextBarSdate,NextBarStime,DEMA1+PriceScale*10);
TL_SetColor(tl,Cyan);
TL_SetSize(tl,4);
TL_SetExtRight(TL,true);
}
위수식을 이용하여dema5이평이 당일시가상승크로스하면 레드색
dema5이평이당일시가 하락크로스하면 블루색으로 나오게 수정부탁드립니다
미리감사드립니다~~~
2022-09-08
736
글번호 162092
답변완료
문의드립니다.
1.#분봉에서 나타내는 일봉거래대금 함수입니다. 유효성 검증이 안되어서 수정부탁드립니다.
input: N(numeric);
var :cnt(0);
array : DAYM[13](0);
if date != date[1] then{
for cnt = 1 to 12
DAYM[cnt] = DAYM[cnt-1][1];
}
DAYM[N] = accumn(M,dayindex()+1);
2.#3일간저점 갱신후 3일간고가 갱신 봉개수를 나타내는 함수입니다.
이를 분봉차트에서 일봉을 기준으로 나타내려면 어떻게 해야하나요?
함수식 부탁드려요.
if MIN(L[2],L[1],L)>=L Then {
var1 = MAX(H[2],H[1],H);
var2 = 0; }
else{
if H > var1 Then {
var1 = H;
var2 = var2+1; }
}
BAHT=var2;
2022-09-08
780
글번호 162091
카르마다 님에 의해서 삭제되었습니다.
2022-09-08
12
글번호 162090
답변완료
매도후 재진입 문제
안녕하세요 국내주식입니다
아래식은 매도후 재진입 수식이고, 전체 10프로 이상시 전량 청산입니다
그런데, BUY 두개중 하나만 되야 되는데, 두개가 동시에 발생하는 경우가 생깁니다
이럴때 두개중 하나만 진입을 하고 싶은데요, 어떻게 해야 하나요?
if MarketPosition == 0 Then
{
Buy("재진입하락",AtLimit,ExitPrice(1)*0.98,vol*1.0);
Buy("재진입상승",AtStop,ExitPrice(1)*1.02,vol*1.0);
}
ExitLong(" 청산",AtLimit,AvgEntryPrice*1.1);
2022-09-08
913
글번호 162089
답변완료
수식문의드립니다
안녕하세요~
수식을 작성하였는데 실행하면 자꾸 프로그램이 응답 안한다며 hts가 종료됩니다
다른 수식을 켜보니 이런일이 없는걸 보니, 뭔가가 잘못되서 꺼지는것 같은데 원인을 못찾겠네요..ㅠ
확인 부탁드리겠습니다!
감사합니다
----------------------------------------------
var : BS(False), SS(False);
var : e60(0), exitC(0), HB(0), LB(0),N(0), rHB(0), rLB(0), unitP(0), MDD(100000);
input : TT1(125000), TD1(20220908), TT2(134300), TD2(20220908);
array : p[6](False), MACDV[2](0), MACDS[2](0);
MACDV[0] = MACD(5,20);
MACDV[1] = MACD(5,40);
MACDV[2] = MACD(20,40);
MACDS[0] = Ema(MACD(5,20),9);
MACDS[1] = Ema(MACD(5,40),9);
MACDS[2] = Ema(MACD(20,40),9);
e60 = Ema(c,60);
exitC = 2*ATr(14);
N = ATR(14);
unitP = floor(MDD/(2*N*BigPointValue*1400));
if sDate >= TD1 && sTime > TT1 Then condition11 = true;
if sDate >= TD2 && sTime > TT2 Then condition11 = False;
if condition11 == true Then
{
//phase
if Ema(c,5) > Ema(c,20) && Ema(c,20) > Ema(c,40) Then p[1] = true;
Else p[1] = False;
if Ema(c,20) > Ema(c,5) && Ema(c,5) > Ema(c,40) Then p[2] = true;
Else p[2] = False;
if Ema(c,20) > Ema(c,40) && Ema(c,40) > Ema(c,5) Then p[3] = true;
Else p[3] = False;
if Ema(c,40) > Ema(c,20) && Ema(c,20) > Ema(c,5) Then p[4] = true;
Else p[4] = False;
if Ema(c,40) > Ema(c,5) && Ema(c,5) > Ema(c,20) Then p[5] = true;
Else p[5] = False;
if Ema(c,5) > Ema(c,40) && Ema(c,40) > Ema(c,20) Then p[6] = true;
Else p[6] = False;
// 진입조건
if MACDV[0] > MACDV[0][1] && MACDV[1] > MACDV[1][1] && MACDV[2] > MACDV[2][1] Then BS = TRUE;
Else BS = False;
if MACDV[0] < MACDV[0][1] && MACDV[1] < MACDV[1][1] && MACDV[2] < MACDV[2][1] Then SS = TRUE;
Else SS = False;
if p[4] == true && BS == true && CrossUp(macdv, macds) Then Buy();
if p[1] == true && SS == true && crossdown(macdv, macds) Then Sell();
if p[5] == true && p[5][1] == False && BS == true && CrossUp(macdv, macds) Then Buy();
if p[2] == true && p[2][1] == false && SS == true && crossdown(macdv, macds) Then Sell();
if p[6] == true && p[6][1] == False && BS == true && macdv > macds Then Buy();
if p[3] == true && p[3][1] == False && SS == true && macdv < macds Then Sell();
//청산
if marketposition == 1 Then
{
if e60 < HB+2*N Then
Exitlong("exitB1", atstop, HB-exitC);
if e60 >= HB+2*N and CrossDown(close, e60) Then
{
ExitLong("exitB2") ;
}
}
if marketposition == -1 Then
{
if e60 > LB-2*N Then
ExitShort("exitS1", atstop, LB+exitC);
if e60 <= LB-2*N and CrossUp(close, e60) Then
{
ExitShort("exitS2");
}
}
MessageLog("P[4] %2s, bs %2s",p[4], BS);
}
2022-09-08
883
글번호 162088
답변완료
문의드립니다.
안녕하세요?
아래와 같은 추세선을 만들었습니다.
전일과 이어지지 않고 당일만 나타나게 할 수 있는 방법이 있는지요?
풍성하고 즐거운 한가위 보내세요.
감사합니다.
plot1(DayOpen(0),"당일시가");
plot4(DayClose(0),"당일종가");
plot5((DayHigh(0)+DayLow(0))/2,"당일중심");
2022-09-08
870
글번호 162087
답변완료
문의드립니다
input : 시작시간(150000),끝시간(030000),n(0);
var : cnt(0),Tcond(False);
Array : DO[20](0),DH[20](0),DL[20](0),DC[20](0);
if (sdate != sdate[1] and stime >= 끝시간) or
(sdate == sdate[1] and stime >= 끝시간 and stime[1] < 끝시간) Then
{
Tcond = False;
}
if (sdate != sdate[1] and stime >= 시작시간) or
(sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then
{
Tcond = true;
for cnt = 19 downto 1
{
DO[cnt] = DO[cnt-1];
DH[cnt] = DH[cnt-1];
DL[cnt] = DL[cnt-1];
DC[cnt] = DC[cnt-1];
}
DO[0] = O;
DH[0] = H;
DL[0] = L;
}
if Tcond == true Then
{
DC[0] = C;
if DH[0] > 0 and H > DH[0] Then
DH[0] = H;
if DL[0] > 0 and L < DL[0] Then
DL[0] = L;
}
plot1(DO[n],"n일전시가");
plot2(DH[n],"n일전고가");
plot3(DC[n],"n일전종가");
plot4(DL[n],"n일전저가");
buy("", atstop, DO[0] + 1);
1번 질문 : 오후 3시~~다음날 새벽3시까지 트레이딩을 한다고 가정하고
예전에 작성해주셨던 시간을 정해서 시고종저를 구하는 식을 이용하여
그 구간대의 싯가 + 1에 진입한다고 하면 바로 진입하는게 아니라 다음날 0시에 진입을 하네요 날짜가 바뀌는게 문제인거 같은데 해결책을 모르겠습니다.
2번질문 : entriestoday 함수를 역시 오후 3시~~다음날 새벽3시까지의 구간을 하루로 보고 수를 카운팅할수 있는 방법이 있을지 모르겠습니다.
예스스탁에 언제나 감사드립니다.
2022-09-13
791
글번호 162086
회원 님에 의해서 삭제되었습니다.
2022-09-13
204
글번호 162085