커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6064
글번호 230811
답변완료
60075와 관련입니다
안녕하세요
어렵지 않은걸 자꾸 귀찮케해서 미안합니다
60075와 관련해서 60082에서 답변해 주셧는데,
설명이 부족한 탓인지 의도와 다른 답변을 주셨네요
1. 원하는 답은 일봉차트에서 적용할 때 선이 표시되도록 하는 것입니다
일봉차트에서 weekopen(0)은 주간 첫거래일 시가가 주간 마지막까지 직선으로 표시됩니다
일봉차트에서 weekclose(0)를 적용하면 날마다 가격표시가 변하면서 표시됩니다
그래서 weekclose(0) 대신 직선으로 표시되는 지표식을 원하는 것입니다
예를 들면 주 3일째는 3일째의 종가가 주간 첫날부터 직선으로 그려지도록,
주 5일째는 5일째의 종가가 주간 첫날부터 직선으로 그려지는 것입니다
한 주간이 지났을 때는 금요일 일봉의 종가가 월요일부터 금요일까지 직선으로 그려지도록
지표식을 부탁합니다
2. 원하는 답은 일봉차트에서 적용할 때 선이 표시되도록 하는 것입니다
일봉차트에서 monthopen(0)은 월간 첫거래일 시가가 월간 마지막까지 직선으로 표시됩니다
일봉차트에서 monthclose(0)를 적용하면 날마다 가격표시가 변하면서 표시됩니다
그래서 monthclose(0) 대신 직선으로 표시되는 지표식을 원하는 것입니다
예를 들면 월 10일째는 10일째의 종가가 월간 첫날부터 직선으로 그려지도록,
월 20일째는 20일째의 종가가 월간 첫날부터 직선으로 그려지는 것입니다
한 달이 지났을 때는 월 마지막 거래일 일봉의 종가가 월 첫날부터 월 마지막 거래일까지
직선으로 그려지도록 지표식을 부탁합니다
2018-11-23
207
글번호 123833
답변완료
질문드립니다.
외부변수 A에 숫자를 0을 입력하면 매수조건만 진입하고 숫자를 1을 입력하면 매도조건만 진입하게 할 수 있을까요?
2018-11-22
180
글번호 123832
답변완료
DATA2 참조하여 매수 매도 시스템을 만들고자 합니다.
DATA2에 아래와 같은 켈트너 채널 시스템을 적용하여 매수 매도 시스템을 만들고자 합니다.
변환부탁드립니다. 미리 정말 감사드립니다.
Inputs: Length(10), ATRs(1.5), Pval(0.05);
Variables: KUpper(0), BuySetup(False), BuyBase(0);
Variables: KLower(0), SellSetup(False), SellBase(0);
KUpper = KeltnerChannel(Close, Length, ATRs);
KLower = KeltnerChannel(Close, Length, -ATRs);
Condition1 = Crossup(Close, KUpper);
Condition2 = CrossDown(Close, KLower);
If MarketPosition() == 1 OR Close < MA(close, Length) Then
BuySetup = False;
Else
If Condition1 Then Begin
BuySetup = True;
BuyBase = High;
End;
If MarketPosition() == -1 OR Close > MA(Close, Length) Then
SellSetup = False;
Else
If Condition2 Then Begin
SellSetup = True;
SellBase = Low;
End;
//Description : Keltner Channel Long Entry
If BuySetup Then
Buy ("KC_LE", AtStop, BuyBase + Pval);
//Description : Keltner Channel Short Entry
If SellSetup Then
Sell ("KC_SE", AtStop, SellBase - Pval);
2018-11-22
216
글번호 123823
답변완료
함수요청
안녕하세요?
함수요청드립니다.
해외선물 크루드오일 30분봉으로 거래를 하고자 합니다.
1. 써머타임 적용시
-매수: 23시 30분 시점에 현재가 > 00시 30분 시점에 현재가 이면, 익일 1시 시초가 진입
-매도: 23시 30분 시점에 현재가 < 00시 30분 시점에 현재가 이면, 익일 1시 시초가 진입
-청산: SetStopEndOfday(043000);
-당일 진입, 당일 청산으로 1번 왕복 거래입니다.
2. 써머타임 해지시
-매수: 22시 30분 시점에 현재가 > 23시 30분 시점에 현재가 이면, 익일 0시 시초가 진입
-매도: 22시 30분 시점에 현재가 < 23시 30분 시점에 현재가 이면, 익일 0시 시초가 진입
-청산: SetStopEndOfday(033000);
-당일 진입, 당일 청산으로 1번 왕복 거래입니다.
2018-11-22
202
글번호 123821
답변완료
요청드립니다.
아래 식에서
Price Channel 4개의 모든 Channel이 [1]대비 같거나 상승중 일때 조건에 따라 매수
Price Channel 4개의 모든 Channel이 [1]대비 같거나 하락중 일때 조건에 따라 매도
를 하고 싶은데 Price Channel 4개를 지표로 나타내고 보니 지표상 하락중인데 매수가 나타납니다.(그림참조) 수정좀 부탁드립니다.
SetStopProfittarget(Target) 목표청산에 도달하면 최고값대비 10% 하락하면 청산
해선 PriceScale을 고려하여 청산 수식 포함요청드립니다.
###매수 매도 수식###
input : 손절(80),Target(0.4);
var : BH(0),SL(0),HE(0),LE(0);
var : T(0), S(0);
##Price Chanel
INPUT : Length51(50), Length52(200) ;
VAR : Tchan51(0), Bchan52(0),Tchan53(0), Bchan54(0);;
Tchan51 = Highest(High, Length51);
Bchan52 = Lowest(Low, Length51);
Tchan53 = Highest(High, Length52);
Bchan54 = Lowest(Low, Length52);
input : P31(30), P82(280);
var31 = wma(C,P31);
var82 = wma(C,P82);
##M Price Chanel
// Tchan53 = Highest(High, Length52)[1]; # Highest Length52(200)
// Tchan51 = Highest(High, Length51)[1]; # Highest Length51(50)
// Bchan52 = Lowest(Low, Length51)[1]; # Lowest Length51(50)
// Bchan54 = Lowest(Low, Length52)[1]; # Lowest Length52(200)
## Price Chanel 4개 모두 상승 중이면 S = 1
if Tchan53[1] < Tchan53
and Tchan51[1] < Tchan51
and Bchan52[1] < Bchan52
and Bchan54[1] < Bchan54
then {
S = 1;
}
## Price Chanel 4개 모두 하락 중이면 S = -1
if Tchan53[1] > Tchan53
and Tchan51[1] > Tchan51
and Bchan52[1] > Bchan52
and Bchan54[1] > Bchan54
Then {
S = -1;
}
if S == 1 and Crossup(var31, var82)
Then buy("B2");
if S == -1 and Crossdown(var31, var82)
Then sell("S2");
### 청산
if MarketPosition == 1 Then{
BH = highest(H,BarsSinceEntry);
if MaxEntries == 1 Then
HE = LatestEntryPrice(0);
if MaxEntries >= 2 and LatestEntryPrice(0) > HE Then
HE = LatestEntryPrice(0);
SetStopProfittarget(Target);
ExitLong("B손절",AtStop,HE-PriceScale*손절);
}
if MarketPosition == -1 Then{
SL = Lowest(L,BarsSinceEntry);
if MaxEntries == 1 Then
LE = LatestEntryPrice(0);
if MaxEntries >= 2 and LatestEntryPrice(0) < LE Then
LE = LatestEntryPrice(0);
SetStopProfittarget(Target);
ExitShort("S손절",AtStop,LE+PriceScale*손절);
}
/*
#### 지표
INPUT : Length51(50), Length52(200) ;
VAR : Tchan51(0), Bchan52(0),Tchan53(0), Bchan54(0);
Tchan51 = Highest(High, Length51);
Bchan52 = Lowest(Low, Length51);
Tchan53 = Highest(High, Length52);
Bchan54 = Lowest(Low, Length52);
Plot51(Tchan51, "TOP50");
Plot52(Bchan52, "BOT50");
Plot53(Tchan53, "TOP200");
Plot54(Bchan54, "BOT200");
2018-11-25
225
글번호 123818
답변완료
지표
아래지표에서 종가선을 하나 추가해서 추세선 빨강 파랑하고 체우기를 하고 싶은데 가능한지요..그리고 추세선이 만나는 지점에 빨강 파랑 점을찍고 싶습니다..
input : P(3);
var : cnt(0),i1(0),i2(0),TL1(0),TL2(0);
Array : SHV[50](0),SHD[50](0),SHT[50](0);
Array : SLV[50](0),SLD[50](0),SLT[50](0);
if SwingHigh(1,h,P,P,P*2+1) != -1 Then{
SHV[0] = H[P];
SHD[0] = sdate[P];
SHT[0] = stime[P];
for cnt = 1 to 49{
SHV[cnt] = SHV[cnt-1][1];
SHD[cnt] = SHD[cnt-1][1];
SHT[cnt] = SHT[cnt-1][1];
}
i1 = 1;
for cnt = 1 to 49{
if SHV[cnt] > SHV[0] Then{
i1 = cnt;
cnt = 1000;
}
}
if i1 > 0 Then{
TL_Delete(TL1);
TL1 = TL_New(SHD[i1],SHT[i1],SHV[i1],SHD[0],SHT[0],SHV[0]);
TL_SetExtRight(TL1,true);
TL_SetColor(TL1,RED);
}
}
if SwingLow(1,L,P,P,P*2+1) != -1 Then{
SLV[0] = L[P];
SLD[0] = sdate[P];
SLT[0] = stime[P];
for cnt = 1 to 49{
SLV[cnt] = SLV[cnt-1][1];
SLD[cnt] = SLD[cnt-1][1];
SLT[cnt] = SLT[cnt-1][1];
}
i2 = 1;
for cnt = 1 to 49{
if SLV[cnt] < SLV[0] Then{
i2 = cnt;
cnt = 1000;
}
}
if i2 > 0 Then{
TL_Delete(TL2);
TL2 = TL_New(SLD[i2],SLT[i2],SLV[i2],SLD[0],SLT[0],SLV[0]);
TL_SetExtRight(TL2,true);
TL_SetColor(TL2,blue);
}
}
2018-11-22
222
글번호 123814
답변완료
수식부탁드립니다.
Period 20 // percent 20
Envelopedown을 이탈한 종목이 잡히는 수식을 원합니다.
다시말해 주식의 현재가격이 Envelopedown보다 밑에 위치한 종목이 잡히면 좋겠습니다.
수고하세요^^
2018-11-22
195
글번호 123812
답변완료
항생 고저점 진폭
안녕하세요?
귀사의 무궁한 발전을 기원합니다,
질문
1 항생장시작 시간10시15분 부터 5시30분까지의 고점과 진폭을 계산하여 화면에 출력할 수
있도록 개선 부탁드립니다.
// 진폭출력
Var1 = dayhigh()-daylow();
Text_Delete(tx);
tx = Text_New(sdate,stime,C-PriceScale*40,NumToStr(var1,2));
Text_Delete(tx1);
tx1 = Text_New(sdate,stime,C+PriceScale*40,NumToStr(var1,2));
2018-11-22
248
글번호 123809
답변완료
출력함수 관련 문의
첨부파일의 챠트 그림과 같이 현재 스케일상 챠트로 보여지는 화면의 가장 고점가격과 저점가격을 알수 있는 방법이 있는지 문의 드립니다. 가능할까요?
2018-11-22
243
글번호 123806