커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6138
글번호 230811
회원 님에 의해서 삭제되었습니다.
2022-01-28
161
글번호 154221
답변완료
수식 의뢰드립니다.
안녕하세요!
첨부 챠트는 현재 사용하고 있는 챠트입니다!
이 파라볼릭 챠트처럼 파라볼릭 기준 고가와 저가(노랑과 초록)의 진폭만큼 위 또는 아래로 진폭선이 연결되는 수식을 만들고 싶습니다!
아래 올려드린 파라볼릭을 기준으로 만들어주세요!
이해를 돕고져 첨부파일 첨부합니다!
항상 노고에 감사드려요!
-----------------------------------
그리고 아래 수식을 일봉에서도 적용할 수 있도록 수정을 부탁드립니다!
Input : Af(0.02), MaxAf(0.2);
Var : direction(0), sar1(0), afval(0), ep(0),lowval(0),highval(0),count(0);
if count == 0 or Bdate != Bdate[1] then //변수들의 초기화
{
highval = High;
lowval = Low;
direction = 0;
sar1 = c;
afval = af;
ep = 0;
count = 1;
}
if(ep != 0 ) then // 추세가 진행중
{
if(direction == 1) then // 상승추세이면
{
ep = highval;
sar1 = sar1 + afval*(ep-sar1); // 상승추세에서 SAR값 계산
if(high > highval) then // 신고가 발생
{
highval = high;
afval = afval+Af; // 상승추세에서 신고가가 발생했으므로 가속변수 증가
if(afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다)
afval = MaxAf;
}
if( low < sar1) then // 추세변경(상승->하락)
{ // 다음 SAR값을 계산할 때 필요한 전SAR값은 하락추세로 전환되기 직전의
direction = -1; // 최고가를 사용하므로 sar1 = ep (ep에는 highval 들어있다)
sar1 = ep; // 추세가 변경되었으므로 가속변수 및 EP, highval 초기화
afval = 0;
ep = 0;
lowval = low;
}
}
else // 하락 추세
{
ep = lowval; // 하락추세에서는 EP로 저가 사용
sar1 = sar1 + afval*(ep-sar1);
if(low < lowval) then // 신저가 발생
{
lowval = low;
afval = afval + Af;
if( afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다)
afval = MaxAf;
}
if(high > sar1) then // 추세 변경(하락->상승)
{ // 다음 SAR 값을 계산할 때 필요한 전SAR값은 상승추세로 전환되기 직전의
direction = 1; // 최저가를 사용하므로 sar1 = ep (ep에는 lowval값이 들어있다)
sar1 = ep; // 추세가 변경되었으므로 가속변수 및 EP, highval 초기화
afval = 0;
ep = 0;
highval = high;
}
}
}
else if(sar1 != 0 && ep == 0) then //추세가 변경된후 첫번째 SAR계산
{
if(direction == 1) then // 상승 추세
{
ep = highval; // 상승추세에서는 신고가를 EP로 사용하므로
afval = Af; // 가속변수의 초기값인 AF(0.02) 적용
sar1 = sar1 + afval*(ep-sar1);
if ( high > highval) then // 신고가가 발생
{
Highval = high;
afval = afval + Af; // 가속변수 증가
if(afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다)
afval = MaxAf;
}
}
else // 하락추세
{
ep = lowval;
afval = Af; // 가속변수의 초기값인 AF(0.02) 적용
sar1 = sar1 + afval*(ep-sar1);// 하락추세에서 SAR 계산
if(low < lowval) then // 신저가 발생
{
lowval = low;
afval = afval + Af; // 가속변수 증가
if(afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다)
afval = MaxAf;
}
}
}
else // SAR 첨 시작
{
if direction == 0 then // 추세가 없으므로
{
if(c > c[1]) then // 상승추세로 시작
direction = 1;
else if( c < c[1]) then // 하락추세로 시작
direction = -1;
}
else if direction == 1 then // 상승추세(추세변경이 일어날 경우 SAR 계산하기 시작)
{
if(c < c[1]) then // 추세 변경 (상승->하락) SAR 계산하기 시작
{
direction = -1;
sar1 = highval; // 하락추세로 전환시 다음 SAR값을 계산할 때 필요한 전 SAR값은 추세직전의 최고가를 사용하므로
}
}
else if direction == -1 then // 하락추세(추세변경이 일어날 경우 SAR 계산하기 시작)
{
if( c > c[1]) then // 추세 변경 (하락->상승) SAR 계산하기 시작
{
direction = 1;
sar1 = lowval; // 상승추세로 전환시 다음 SAR값을 계산할 때 필요한 전 SAR값은 추세직전의 최저가를 사용하므로
}
}
lowval = min(low, lowval); // 추세 변경시 전 SAR값으로 최고가나 최저가가 필요하므로
highval = max(high,highval); // low, high를 전의 최고가, 최저가와 비교하여 최고가, 최저가를 저장
}
//처음 시작할 때 다음 추세 변경이 일어날 때까지 SAR는 invalid
#if(sar1 != 0) then
# User_Func_Sar = sar1;
if sar1 > sar1[1] Then
plot1(sar1,"파리볼릭",BLUE);
else
plot1(sar1,"파리볼릭",blue);
Plot2(C,"종가");
2021-12-06
809
글번호 154219
답변완료
문의드립니다
프린트구문으로
실시간 차트에서
날짜
시간
시가
종가
고가
저가
거래량
총매수호가
총매도호가
을 차례로 엑셀에 저장하싶습니다
2021-12-06
497
글번호 154218
2wnwn 님에 의해서 삭제되었습니다.
2021-12-06
19
글번호 154210
답변완료
수고하십니다. atstop 의질문
처음 진입은 봉 완성전에 익절하고 싶은데 봉 완성후 익절이 되는 것 같아서요
봉 완성전 만족하면 청산하고 싶은데 무엇이 잘못 되었나요..
<SetStopProfittarget : 이것을 이용하면 모든 청산에 적용되네요.>
SetStopProfittarget 을 제어할 수 있는 방법이 있나요
if marketposition() == 1 AND (C -EntryPrice) >= (C*0.001) and entriestoday(date)==1
Then {exitlong("처수익절",atstop, entryprice() + (C*0.001));out_tim=sTime+2000;}
if marketposition() == -1 AND (EntryPrice -C) >= (C*0.001) and entriestoday(date) ==1
Then {exitshort("처도익절", atstop, entryprice() - (C*0.001));out_tim=sTime+2000;}
2021-12-06
569
글번호 154202
답변완료
부탁드립니다
$,안녕하세요
아래식에서 Text 출력위치가 "t1,t2"는 정상출력이 되는데 "t3,t4"와"t5,t6"는
실제표시점과 다른위치에 출력됩니다,왜일까요,도움요청드립니다.
input : N(5);
var : cnt(0),ll(0),hh(0);
var : t1(0),t2(0),t3(0),t4(0),t5(0),t6(0);
ll = DayHigh(1)-DayLow(1);
For cnt = 1 to N
{
if DayHigh(cnt)-DayLow(cnt) < ll Then
ll = DayHigh(cnt)-DayLow(cnt);
}
if lastBarOnChart == 1 Then
{
Plot1(DayLow+ll);
Plot2(DayHigh-ll);
hh= DayHigh(1)-DayLow(1);
For cnt = 1 to N
{
if DayHigh(cnt)-DayLow(cnt) > hh Then
hh = DayHigh(cnt)-DayLow(cnt);
}
Plot3(DayLow+hh);
Plot4(DayHigh-hh);
Var3=plot3;
Var4=plot4;
ll = DayHigh(1)-DayLow(1);
hh = DayHigh(1)-DayLow(1);
For cnt = 1 to N
{
if DayHigh(cnt)-DayLow(cnt) < ll Then
ll = DayHigh(cnt)-DayLow(cnt);
if DayHigh(cnt)-DayLow(cnt) > hh Then
hh = DayHigh(cnt)-DayLow(cnt);
}
Plot5(DayLow+(ll+hh)/2);
Plot6(DayHigh-(ll+hh)/2);
}
Text_Delete(t1);
Text_Delete(t2);
Text_Delete(t3);
Text_Delete(t4);
Text_Delete(t5);
Text_Delete(t6);
t1 = Text_New(sdate,stime,DayLow+ll," 최소마:"+NumToStr(DayLow+ll,2));
t2 = Text_New(sdate,stime,DayHigh-ll," 최소마:"+NumToStr(DayLow-ll,2));
t3 = Text_New(sdate,stime,DayLow+hh," 최고마:"+NumToStr(DayLow+hh,2));
t4 = Text_New(sdate,stime,DayLow-hh," 최고마:"+NumToStr(DayLow-hh,2));
t5 = Text_New(sdate,stime,DayLow+(ll+hh)/2," 평균마:"+NumToStr(DayLow+(ll+hh)/2,2));
t6 = Text_New(sdate,stime,DayHigh-(ll+hh)/2," 평균마:"+NumToStr(DayHigh-(ll+hh)/2,2));
Text_SetStyle(t1,5,2);
Text_SetStyle(t2,5,2);
Text_SetStyle(t3,5,2);
Text_SetStyle(t4,5,2);
Text_SetStyle(t5,5,2);
Text_SetStyle(t6,5,2);
Text_SetColor(t1,MAGENTA);
Text_SetColor(t2,BLUE);
Text_SetColor(t3,RED);
Text_SetColor(t4,BLUE);
Text_SetColor(t5,LGREEN);
Text_SetColor(t6,BLACK);
2021-12-06
786
글번호 154198
답변완료
수식 문의
시스템 전략식의 일부인데요
----------------------------------------------------
var1 = AccumN(M, 60);
var2 = Highest(Var1,DayIndex+1);
var3 = iff(var2 < 10000 , 0, 1);
----------------------------------------------------
MessageLog("%.f, %.f",var1,var2,DayIndex+1); 로 봤더니
Dayindex 1024번째부터 제한에 걸려
var2가 무조건 1로 출력되네요
1024 제한에 안걸리려면 식을 어떻게 고쳐야하나요?
2021-12-06
699
글번호 154197
시스시스스템 님에 의해서 삭제되었습니다.
2021-12-06
1
글번호 154196
답변완료
수식
안녕하세요.
하기 조건에 준해서.................
1. 양봉 중애서 몸통이 가장 큰 양봉 고가,저가,시가,종가 표시
2. 음봉 중애서 몸통이 가장 큰 음봉 고가,저가,시가,종가 표시
부탁드립니다.
감사합니다.
INPUT : LENGTH(20);
VAR : TCHAN(0), BCHAN(0),idx(0);
if Bdate != Bdate[1] Then
{
idx = 0;
TCHAN = H;
BCHAN = L;
}
else
{
idx = idx+1;
if idx <= length Then
{
TCHAN = DayHigh[1];
BCHAN = DayLow[1];
}
Else
{
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
}
}
PLOT1(TCHAN, "TOP");
PLOT2(BCHAN, "BOT");
2021-12-05
988
글번호 154195