커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1384
글번호 230811
답변완료
수정부탁드립니다.
하이켄하시로변경부탁드립니다.
var: Period초(2),선두께초(2),색상두께초(30),색상두께초1(90),초두께(1);
Var:상승색초(Orange), 하락색초(Lime);
Var:j초(0),T초(0);
Var: date11초(0),date12초(0),time11초(0),time12초(0),TL초1(0),TL초(0),
date21초(0),date22초(0),time21초(0),time22초(0),
date31초(0),date32초(0),time31초(0),time32초(0),tx초(0),tx초1(0),TL초4(0);
Array:HiVal초[20](0),LoVal초[20](0),HiBar초[20](0),LoBar초[20](0);
Array:r초[7](0),fr초[7](0),TL초2[7](0),TL초3[7](0),tx초2[7](0),tx초3[7](0);
var : box초(0),box1초(0);
For j초 = 0 To 19
{
HiBar초[j초] = HiBar초[j초] + 1;
LoBar초[j초] = LoBar초[j초] + 1;
}
if crossup(c,highest(H,Period초)[1]) Then
T초 = 1;
if CrossDown(c,Lowest(L,Period초)[1]) Then
T초 = -1;
If T초 == -1 Then
{
If T초[1] != -1 Then
{
For j초 = 18 DownTo 0
{
LoVal초[j초+1] = LoVal초[j초];
LoBar초[j초+1] = LoBar초[j초];
//ZZ[j초+1] = ZZ[j초];
}
LoVal초[0] = L;
LoBar초[0] = 0;
//ZZ[0] = L;
date11초 = date[HiBar초[0]];
time11초 = stime[HiBar초[0]];
Value11 = HiVal초[0];
date12초 = date[LoBar초[0]];
time12초 = stime[LoBar초[0]];
Value12 = LoVal초[0];
date21초 = date[HiBar초[0]];
time21초 = stime[HiBar초[0]];
date22초 = date[0];
time22초 = stime[0];
for j초 = 0 to 6
{
fr초[j초] = LoVal초[1] + ((HiVal초[0] - LoVal초[1]) * r초[j초]);
}
Box_SetEnd(box초,date11초,time11초,Value11);//실시간 후행할결우 //적용
box초 = box_new(date11초,time11초,Value11,date12초,time12초,Value12);
Box_SetColor(box초,하락색초);
// Box_SetFill(box초,true,색상두께초1);//색상삭제
Box_SetSize(box초,1);
// TL초 = TL_New(date11초,time11초,Value11,date12초,time12초,Value12);
TL_SetColor(TL초,하락색초);
tL_SetSize(TL초,초두께);
}
If LoVal초[0] > L Then
{
LoVal초[0] = L;
LoBar초[0] = 0;
//ZZ[0] = L;
date12초 = date[LoBar초[0]];
time12초 = stime[LoBar초[0]];
Value12 = LoVal초[0];
date22초 = date[0];
time22초 = stime[0];
Box_SetEnd(box초,date12초,time12초,Value12); //후행시간
// TL_SetEnd(TL초,date12초,time12초,Value12);
}
Box_SetEnd(box초,NextBarSdate,NextBarStime,Value12); //실시간 후행할결우 //적용
}
If T초 == 1 Then
{
If T초[1] != 1 Then
{
For j초 = 18 DownTo 0
{
HiVal초[j초+1] = HiVal초[j초];
HiBar초[j초+1] = HiBar초[j초];
//ZZ[j초+1] = ZZ[j초];
}
HiVal초[0] = H;
HiBar초[0] = 0;
//ZZ[0] = H;
date11초 = date[LoBar초[0]];
time11초 = stime[LoBar초[0]];
Value11 = LoVal초[0];
date12초 = date[HiBar초[0]];
time12초 = stime[HiBar초[0]];
Value12 = HiVal초[0];
date31초 = date[LoBar초[0]];
time31초 = stime[LoBar초[0]];
date32초 = date[0];
time32초 = stime[0];
for j초 = 0 to 5
{
fr초[j초] = LoVal초[0] + ((HiVal초[1] - LoVal초[0]) * r초[j초]);
}
Box_SetEnd(box초,date11초,time11초,Value11); //실시간 후행할결우 //적용
box초 = box_new(date11초,time11초,Value11,date12초,time12초,Value12);
Box_SetColor(box초,상승색초);
// Box_SetFill(box초,true,색상두께초);//색상삭제
Box_SetSize(box초,1);
// TL초 = TL_New(date11초,time11초,Value11,date12초,time12초,Value12);
TL_SetColor(TL초,상승색초);
tL_SetSize(TL초,초두께);
// TL_SetDrawMode(TL초,0);
}
If HiVal초[0] < H Then
{
HiVal초[0] = H;
HiBar초[0] = 0;
//ZZ[0] = H;
date12초 = date[HiBar초[0]];
time12초 = stime[HiBar초[0]];
Value12 = HiVal초[0];
TL_SetEnd(TL초1, date12초,time12초,Value12);
date32초 = date[0];
time32초 = stime[0];
Box_SetEnd(box초,date12초,time12초,Value12);//후행시간
// TL_SetEnd(TL초,date12초,time12초,Value12);
}
Box_SetEnd(box초,NextB
2024-07-29
540
글번호 182019
답변완료
사용자 함수 작성 도와주세요
INPUT : PERIOD1(5), PERIOD(10), PERIOD(20), PERIOD(60);
VAR : TR(0), AT1(0), AT2(0), AT3(0), AT4(0) ;
TR = max(High-Low,High-Close[1],Low-Close[1]);
AT1 = Ema(TR,Period1);
AT2 = Ema(TR,Period2);
AT3 = Ema(TR,Period3);
AT4 = Ema(TR,Period4);
이걸 예스트레이더에서 사용하고 싶은데..사용자 함수로 등록해서 쓰고 싶습니다.
부탁합니다.
2024-07-29
524
글번호 182018
답변완료
문의드립니다
input : jawLength(13),jawOffset(8);
input : teethLength(8),teethOffset(5);
input : lipsLength(5),lipsOffset(3);
var : hl2(0),jaw(0),teeth(0),lips(0);
hl2 = (h+l)/2;
jaw = 0;
if IsNaN(jaw[1]) == true Then
jaw = ma(hl2,jawLength);
Else
jaw = (jaw[1]*(jawLength-1) + hl2)/jawLength;
teeth = 0;
if IsNaN(teeth[1]) == true Then
teeth = ma(hl2,teethLength);
Else
teeth = (teeth[1]*(teethLength-1) + hl2)/teethLength;
lips = 0;
if IsNaN(lips[1]) == true Then
lips = ma(hl2,lipsLength);
Else
lips = (lips[1]*(lipsLength-1) + hl2)/lipsLength;
plot1(jaw,"jaw",BLUE);
plot2(teeth,"teeth",RED);
plot3(lips,"lips",GREEN);
FixPlotShift(1,jawOffset);
FixPlotShift(2,teethOffset);
FixPlotShift(3,lipsOffset);
수고 많으십니다
문의 드릴 내용은 위 지표로 시스템 수식 부탁드립니다
위 지표는 캔들 보다 선행하는 선이 3개가 있는데
1번
선행하는 3개 선이 정배열 때 매수진입 매도청산
역배열 때 매도진입 매수청산
하루100틱 익절시 매매종료
하루100틱 손실시 매매종료
2번
lips가 teeth를 상향 돌파시 매수진입 매도청산
lips가 teeth를 하향 돌파시 매도진입 매수청산
하루100틱 익절시 매매종료
하루100틱 손실시 매매종료
이런 시스템을 부탁드립니다
항상 감사드립니다
2024-07-29
578
글번호 182017
만강 님에 의해서 삭제되었습니다.
2024-07-29
26
글번호 182007
답변완료
문의드립니다.
수고많으십니다.
매수 진입후 그 다음봉이 50틱 이상 상승했다가 고점대비 30틱 이상 빠지면 즉시 청산하는 청산식을 만들려는데 잘 안됩니다.
if BarsSinceEntry == 1 and highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*50 Then
ExitLong("B_TS0000",AtStop,highest(H,BarsSinceEntry)-PriceScale*30);
수정부탁드립니다~
2024-07-29
735
글번호 182006
답변완료
수식작성 부탁드립니다.
안녕하세요
무더운 날씨에 수고가 많으십니다.
내부서버 오류로 수식작성 불가 합니다.
(금욜부터 이런현상 이 생기는데 이유를 모릅니다.)
2024-07-29
909
글번호 182000
답변완료
종목검색식부탁드림니다.
항상 노고에 감사드림니다.
Crossup(DIPlus(Period), DIMinus(Period))
&& Crossup(CCI(Period),0)
&& Crossup(MACD(shortPeriod,
longPeriod),eavg(MACD(shortPeriod,
longPeriod),sigPeriod))
&& v>v(1)*배수
지표변수: Period 20
shotrPeriod 5
longPeriod 12
sigPeriod 9
배수 1
2024-07-29
895
글번호 181991
쭈니이리 님에 의해서 삭제되었습니다.
2024-07-29
8
글번호 181987
답변완료
88337번 글에 대한 추가 내용입니다
답변해주신 내용:
해당 내용은 가능하지 않습니다.
차트주기보다 낮은 주기로 랭귀지는 어떤 값을 계산하지 못합니다.
즉 30분 차트에서 10분 단위로 체크하게 할 수 없습니다.
재질문:
->
*차트주기보다 낮은 주기로는 계산이 안되면 반대로 30분 차트에서 120분 단위로 틱을 계산 하는건 안되나요?이걸 구현하는 기능이 "타주기 참조 "기능인가요???
질문을 다시 올리겠습니다 :
1. 30분봉에서 보고있을때, 2. 하루를 120분 단위로 나눠서
3. 120분동안 체결건수 (틱)가 20000개 이하일때, 50000개 이상일때 그 120분동안의 최고가 (최저가)를 plot하는 식이 가능할까요?? 수식 결과를 확인해보고 싶은데 차트에 120분단위로 수직선을 나타내는 수식도 있을까요??
*그리고 30분 차트에서 틱을 분석할때 "하루동안", 그리고 "3일동안" (2개의 개별 식) 가장적은 틱이 발생한 봉과 가장 많은 틱이 발생한 봉을 구해서 각각의 고점을 나타내는 수식이 가능할까요?
*****
원 질문:
1. 30분봉에서 보고있을때, 2. 하루를 10분 단위로 나눠서
3. 10분동안 체결건수 (틱)가 500개 이하일때, 1000개 이상일때 그 10분동안의 최고가 (최저가)를 plot하는 식이 가능할까요?? 수식 결과를 확인해보고 싶은데 차트에 10분단위로 수직선을 나타내는 수식도 있을까요??
그리고 "10분 단위"로 틱을 분석할때 "하루동안" 가장 적은 틱이 발생한 구간과 가장 많은 틱이 발생한 구간을 구해서 틱 갯수를 나타낼 수 있을까요?
2024-07-29
711
글번호 181977