커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1697
글번호 230811
답변완료
문의
타플렛폼 수식인데요 예스로 변환부탁드립니다.
b=bbandsup(25,3);m2=crossdown(c,b);valuewhen(1,m2,c)
2022-06-27
937
글번호 160211
답변완료
화살표신호수식 문의 드립니다.
3분봉 기준
(dayhigh()+daylow())/2 : (고가+저가)/2
(predayhigh()+predaylow()+predayclose())/3+predayhigh()-predaylow() : Pivot 2차저항
(고가+저가)/2 값이 Pivot2차저항값을 돌파하는 신호수식을 문의 드립니다.
2022-06-27
1100
글번호 160208
답변완료
문의드립니다.
안녕하세요.
수익명/청산명에 변수를 넣어서 동적으로 출력할 수 있는지 문의드립니다.
예를 들어 120일선 위에서 매수를 할 경우,
120일선 위에서 매수 회차를 변수 A에 넣으면,
매수명 끝에 buy1, buy2, buy3.... 로 표시되는 형태입니다.
항상 감사드립니다. 즐거운 하루 보내세요.
2022-06-27
1266
글번호 160203
답변완료
수정 부탁드립니다
var1 = ma(C,5);
Var2 = ma(c,20);
IF var1 < Var2 and c > Var2
Then
Plot1(c,"막대",black);
위 수식에서 종가는 20선보다 크다의 조건인데
첨부파일에서는 종가가 20선 아래인데도 지표가 표시됩니다
수정 부탁드립니다
2022-06-27
921
글번호 160199
회원 님에 의해서 삭제되었습니다.
2022-06-27
35
글번호 160198
답변완료
피라미딩 관련 질문
안녕하세요! 예스트레이더 참 잘 이용하고 있습니다. 간단한 터틀 트레이딩에 자금관리와 피라미딩을 적용했는데, 피라미딩에서 문제가 있습니다. 매수,매도 최초진입 바로 다음 봉에서 피라미딩 조건이 발생하는 경우에는 피라미딩이 적용되지 않는 것 같습니다. 진입 바로 다음봉이 아닌 상황에서는 피라미딩이 올바르게 적용되는데 말이죠.. 수식은 아래와 같습니다.
항상 도움 주셔서 감사드립니다.
input : capital(1000000000),ATRperiod(20),num(3),ABC(0.01);
Var : Nprice(0),E_num(0),N(0);
N=ATR(ATRperiod);
Nprice=(ATR(ATRperiod)*2)*bigpointvalue;
E_num=Int((capital+(NetProfit*bigpointvalue)*ABC)/Nprice);
/////////////////////////////////////////////////////////
input : period(20),period1(20);
Var1=Highest(H,period);
Var2=Lowest(L,period);
if MarketPosition == 0 And CrossUp(C,Var1[1]) Then
Begin
buy("매수",Def,Def,E_num);
Var30=Index;
End;
If MarketPosition == 1 and crossup(c,latestEntryPrice+N[Index-Var30]) and CurrentEntries<num Then
Begin
buy("매수 피라미딩",Def,Def,E_num);
Var30=Index;
End;
if MarketPosition == 1 Then
Begin
ExitLong("매수청산",AtStop,Lowest(L,period1));
ExitLong("매수 손절",Atstop,entryprice-N[BarsSinceEntry]*2);
ExitLong("매수 피라미딩 손절",AtStop,LatestEntryPrice-(2*N[Index-Var30]));
End;
/////////////////////////////////////////////////////////
If MarketPosition == 0 And CrossDown(C,Var2[1]) Then
Begin
Sell("매도",Def,Def,E_num);
Var40=Index;
End;
If MarketPosition == -1 and CrossDown(C,LatestEntryPrice-N[Index-Var40]) and CurrentEntries<num Then
Begin
Sell("매도 피라미딩",Def,Def,E_num);
Var40=Index;
End;
If MarketPosition == -1 Then
Begin
ExitShort("매도청산",Atstop,Highest(H,period1));
ExitShort("매도 손절",Atstop,entryprice+N[BarsSinceEntry]*2);
ExitShort("매도 피라미딩 손절",AtStop,LatestEntryPrice+(2*N[Index-Var40]));
End;
MessageLog("%.2f %.2f %.2f",LatestEntryPrice-N[Index-Var40],CurrentEntries,LatestEntryPrice);
2022-06-26
1239
글번호 160197
답변완료
문의 드립니다.
input : 익절틱수(120),손절틱수(20);
if NextBarSdate != sDate Then
{
if NextBarOpen > C Then
Sell("s",AtStop,NextBarOpen+PriceScale*-18);
if NextBarOpen < C Then
Sell("sx",AtStop,NextBarOpen-PriceScale*-18);
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
위 수식어는 일봉상 시가가 전일대비 갭상 갭하일때 둘다 Sell 주문 수식어 입니다.
그래프의 사각형 노란색은 일봉의 역배열인 단순 이동평균선 1,5일선 데드후 골든
의 사이 입니다.
위 수식어를 1,5일선 데드후 골든의 사이에서만 진입및 청산이 되게 수정 해 주셨으면
합니다.
-----------------------------------------
input : 익절틱수(140),손절틱수(20);
if NextBarSdate != sDate Then
{
if NextBarOpen > C Then
Buy("b",AtStop,NextBarOpen+PriceScale*-18);
if NextBarOpen < C Then
Buy("bx",AtStop,NextBarOpen-PriceScale*-18);
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
위 수식어는 일봉상 시가가 전일대비 갭상 갭하일때 둘다 Buy 주문 수식어 입니다.
일봉의 정배열인 단순 이동평균선 1,5일선 골든후 데드의 사이에서만 진입및 청산이 되게
수정 해 주셨으면 합니다.
-------------------------------------------------
input : 익절틱수(150),손절틱수(30);
if NextBarSdate != sDate Then
{
if NextBarOpen > C Then
{
Buy("b",AtStop,NextBarOpen+PriceScale*1);
Sell("s",AtStop,NextBarOpen-PriceScale*1);
}
if NextBarOpen < C Then
{
ExitLong("bx",AtStop,NextBarOpen-PriceScale*1);
ExitShort("sx",AtStop,NextBarOpen+PriceScale*1);
}
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
위 일봉매매 수식어를 5분봉으로 하고자 합니다
1. 매매시간은 아침7시부터 익일 아침 5시50분 (24시에 신호가 나오는것은 금지)
으로 하여주시고 썸머타임기간의 수식어도 포함
2022-06-27
1436
글번호 160196
답변완료
지표식 문의 드립니다
안녕하세요
rule based trading 블로그에 올리신 다우이론 시스템 식입니다
제가 수식을 이해를 못해서요
차트에 나오는 추세선을 지표식으로 바꾸고 싶습니다
지표식으로 부탁드립니다
input:swingPeriod(5);
Var:신고가(False), 신저가(False), j(0),jj(0),최종꼭지점(""),추세구간(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
var : TL1(0);
var : HighStop(0), LowStop(0);
# 추세 판정
신고가 = Highest(H,swingPeriod) == H ;
신저가 = Lowest (L,swingPeriod) == L ;
If 신고가 == True and 신저가 == True Then { // 신고가 신저가 동시 발생
If 최종꼭지점 == "저점" Then {
If 저[1,1] > L Then
추세구간 = -1;
Else
추세구간 = 1;
}
Else If 최종꼭지점 == "고점" Then {
If 고[1,1] < H Then
추세구간 = 1;
Else
추세구간 = -1;
}
}
Else If 신고가 == True Then //신고가 발생
추세구간 = 1;
Else If 신저가 == True Then //신저가 발생
추세구간 = -1;
# 상승추세 구간
If 추세구간 == 1 Then {
If 최종꼭지점 == "저점" Then {
For j = 3 DownTo 2 {
For jj = 1 To 4 {
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = H;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,gray);
}
Else If 고[1,1] < H Then { // 1번 고점보다 높은 고가 출현
고[1,1] = H;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
}
최종꼭지점 = "고점";
}
# 하락추세 구간
If 추세구간 == -1 Then {
If 최종꼭지점 == "고점" then {
For j = 3 DownTo 2 {
For jj = 1 To 4 {
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = L;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,gray);
}
Else If 저[1,1] > L then {
저[1,1] = L;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
}
최종꼭지점 = "저점";
}
# 직전 스윙고가, 스윙저가
if 추세구간 == 1 Then
HighStop = 고[2,1];
Else
HighStop = 고[1,1];
if 추세구간 == -1 Then
LowStop = 저[2,1];
Else
LowStop = 저[1,1];
# 매매식
if MarketPosition <> 1 Then
Buy("B", AtStop, HighStop);
if MarketPosition <> -1 Then
Sell("S", AtStop, LowStop);
2022-06-26
1770
글번호 160195
답변완료
틱챠트에서
안녕하세요
틱챠트에서 지난 한시간동안의 최저가를 구하고 싶습니다.
분챠트에서는 봉의 갯수로 쉽게 파악이 되는데 틱챠트로 구하는 방법을 모르겠습니다;;
항상 감사합니다
2022-06-26
1442
글번호 160194