커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1524
글번호 230811
답변완료
문의드립니다
안녕하세요
종목검색기 관련하여 문의드립니다
만약 일봉에서 만든 종목검색식을 분봉에서 적용하려면 수식 수정없이 그냥 분봉 (해당주기, 3분봉이나 5분봉,15분봉으로) 주기만 바꿔주면 되나요? (유첨 이미지 처럼)
수식의 일부를 변경하거나 기타 다른 설정을 수정하지 않아도 되나요? 주의할 사항등이 있다면 좀 알려주세요.. 수고하세요
2023-07-15
1430
글번호 170636
답변완료
추가식
Inputs : Period(20), Sence(1.5), CC_DN(Yellow);
input : BBP(20),dv(2);
Vars:
VLineUp(0),
VLineDn(0),
HHighest(0),
LLowest(0),
JustChanged(FALSE),
VLine(0), DBN(0);
Array:
Highs[35](0),
Lows[35](0),
RRange[35](0),
UpWave[1](FALSE),
DnWave[1](FALSE);
var :T(0);
var : BBup(0),BBmd(0),BBdn(0);
If STime == 180000 Then
DBN = 0;
DBN = DBN + 1;
Var1 = Period;
Var2 = Var1 - 1;
Var3 = Var1 - 2;
Var5 = Sence;
Var6 = H-L;
JustChanged = FALSE;
if CurrentBar <= Var2 then begin
Highs[CurrentBar] = Close;
Lows[CurrentBar] = Close;
RRange[CurrentBar] = (H-L) /2;
end;
if CurrentBar == Var1 then begin
if Highs[Var2] >= Highs[Var3] then begin
UpWave[1] = TRUE;
HHighest = Highs[Var2];
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
#Plot1(VLineUp,"VLineUp");
end;
if Highs[Var2] < Highs[Var3] then begin
DnWave[1] = TRUE;
LLowest = Lows[Var2];
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
#Plot2(VLineDn,"VLineDn");
end;
end;
if CurrentBar > Var1 then begin
if DnWave[1] and Close > VLineDn then begin
DnWave[1] = FALSE;
UpWave[1] = TRUE;
JustChanged = TRUE;
HHighest = Close;
LLowest = 0;
end;
if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin
UpWave[1] = FALSE;
DnWave[1] = TRUE;
JustChanged = TRUE;
LLowest = Close;
HHighest = 0;
end;
if JustChanged == FALSE then begin
if Close > HHighest then
HHighest = Close;
else if Close < LLowest then
LLowest = Close;
end;
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
if UpWave[1] then T =1;#Plot1(VLineUp,"VLineUp", Red);
else if DnWave[1] then T = -1;#Plot1(VLineDn,"VLineUp", CC_DN);
end;
if T == 1 and T[1] != 1 Then
Buy();
if MarketPosition == 1 Then
{
if T == -1 Then
ExitLong();
if CrossDown(C,bbmd) and C < O Then
ExitLong();
}
if T == -1 and T[1] != -1 Then
sell();
안녕하세요
위식에 macd 추가해 주세요
macd 추가
macd + 매수
macd _ 매도
2023-07-15
1793
글번호 170635
답변완료
문의드립니다
input : short1(0),long1(0),sig1(0)
input : evPeriod(0),Per(0)
.
.
.
var : evup(0),evdn(0)
.
.
.
evup = EnvelopeUp(evPeriod,Per)
evdn = EnvelopeDown(evPeriod,Per)
if MarketPosition <= 0 and CrossUp(macdv1,0) Then
{
Buy("b");
}
If CrossDown(macdv1, 0) Then
{
ExitLong("s");
}
if MarketPosition == 1 Then
{
if macdv1 < 0 Then
{
ExitLong("E4",AtLimit,evup*0);
}
}
if MarketPosition == 0 and CountIf(macdv1<0,BarsSinceExit(1)) < 1 Then
{
if IsExitName("E4",1) == true Then
Buy("b4",AtLimit,ExitPrice(1)*0);
}
1. CrossUp(macdv1,0) 매수하여 엔벨로프 상단을 돌파하면 매도하는 수식에 중점을 둔 식입니다. 반대로 CrossDown(macdv1, 0) 이후 엔벨로프 하단을 돌파하면 매수하는 수식을 추가하고 싶어서요.
예) 주가가 엔벨로프 하단을 돌파하고 -20%일때 매수
매수이후 {if IsExitName("E4",1) == true Then Buy("b4",AtLimit,ExitPrice(1)*0)} 식처
럼 지정한 이름이 "00"로 끝날시 매수값에서 +30%에 매도
2. MarketPosition <= 0, MarketPosition == 1, MarketPosition == 0 이 친구들이 하는 역활이 무엇인가요? 카운터를 위해 지정하주는 수식인가요? 설명 좀 부탁 드리겠습니다.
감사합니다.
2023-07-16
1305
글번호 170634
답변완료
5일 이평선 매수 청산
안녕하세요.
아래 수식에서
5일 이평선값 위에서는 임의의 조건 수식(A) 에 의해 매수진입과 매수청산만 하고
5일 이평선값 아래에서는 임의의 조건 수식(B) 에 의해 매도진입과 매도청산만 하는
조건식 부탁드립니다.
If LemaV > LemaV[1] and LmacdOsc > LmacdOsc[1] then {
if emaV > emaV[1] and macdOsc > MacdOsc[1] Then
Buy("123");
}
if MP == 1 and MP[1] <> 1 then Begin
StopPrice = high - ma(range,100)*mult;
end;
If MP == 1 then begin
Sell ("456",AtStop,stopprice + 1 );
2023-07-15
1209
글번호 170633
답변완료
문의 드립니다!
안녕하세요!
아래 수식은 당일 시초부터 종가까지 계속 누적된 자료가 출력되는걸로 알고있는데요
이 수식을 다음과같이 수정 부탁드립니다
1, 당일 시초 시작이후 30분단위로 끊어서 그때마다 다시 처음부터 누적된 자료로 출력
즉, 1) 09시에 시작된후 09시 30분까지 누적자료 출력후,
2) 09시 30분 현재의 가격(data2-data3)를 기준으로해서 다시 새롭게 09시 30분부터 10시 00분까지의
누적자료 출력
3) 이런과정이 종가까지 30분마다 반복
2, 아래 수식의 지표를 선으로 나타낼때 선의 진행방향에 따라 선의 색상을 다른색으로 표현
즉, 상방일때는 빨강, 하방일때는 파랑색으로 표시
감사합니다!
-------------------------------------------------------------------------------
input : ndate(20230101);
var : sum(0,Data1),cond(False,Data1);
if data1(sDate >= ndate) Then
Cond = true;
if Cond == true Then
{
sum = sum+(Data2(c) - data3(c))/100;
if sum > 0 Then
plot1(sum,"1",magenta);
Else
plot1(sum,"1",magenta);
}
2023-07-15
1010
글번호 170632
답변완료
부탁 드립니다
도움에 감사 드립니다.
For cnt =1 to 와 같은것 등으로
간략히 부탁 드립니다.
aa=(c[1]+c[2]+c[3].........+c[n])/n;
bb=(c[2]+c[3]+c[4].........+c[n+1])/n;
cc=(c[3]+c[4]+c[5].........+c[n+2])/n;
.
.
.
mm=(c[m]+c[m+1]+c[m+2].........+c[n+m-1])/n;
zzzz=(aa+bb+cc+.......+mm)/m;
2023-07-16
1082
글번호 170631
답변완료
82882 추가 문의드립니다
답변 감사합니다
그런데 오류가 뜨네요
diff, d1은 선언되어지지 않았다고 하고
!는 잘 못된 토큰이라고 뜨네요
수정 부탁드립니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템 부탁드려요
> 안녕하세요
예스스탁입니다.
var : diff(0,Data2),d1(0,Data2);
diff = data2(c) - data3(c);
if Data2(Bdate != Bdate[1]) Then
d1 = diff;
if diff >= d1+100 Then
Buy();
if diff <= d1-100 Then
Sell();
즐거운 하루되세요
> 돌아온스머프 님이 쓴 글입니다.
> 제목 : 시스템 부탁드려요
> 안녕하세요
수식을 부탁드립니다
첫봉의 데이타를 기준(0)으로 설정하고
이후 데이타는 기준을 중심으로 + -로 데이타가 나오도록 할 수 있을까요?
예를들면
var1 = data2 - data3
에서 var1의 첫 data를 기준으로
var1이 100보다 크면 매수
var1이 -100보다 작으면 매도
부탁드립니다
감사합니다
2023-07-14
1066
글번호 170626
고성 님에 의해서 삭제되었습니다.
2023-07-14
21
글번호 170625
답변완료
함수개발 요청합니다.
안녕하십니까!!.
분석함수에 DayVolume(n)과 같은 DayTicks(n)의 추가를 요청 드립니다.
또 하나 분석함수에 Day체결강도(n)의 추가를 요청 드립니다. fastening_strength
1)일반적 체결강도 : 체결강도(%) = 매수체결량 ÷ 매도체결량 x 100
: 상대값으로 계산하기 때문에 극단적 값이 나온다. 불능/부정값도 나온다.
99:1(9900%), 51:49(104.1%), 49:51(96.1%), 1:99(1.01%)
2)백분율 체결강도 : 체결강도(%) = (매수체결량 - 매도체결량) ÷ 총체결량(매수+매도) x 100
: 극단값을 제외하기 위하여 백분율 값으로 계산한다.
99:1(98%), 51:49(2.0%), 49:51(-2.0%), 1:99(-98%)
수고하십시요!! 꾸벅
2023-07-14
865
글번호 170622