커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7386
글번호 230811
곽민수 님에 의해서 삭제되었습니다.
2016-06-01
0
글번호 98679
답변완료
문의
안녕하세요
밑에수식이맞는지 검토부탁합니다
첨부한그림은 미니선물차트입니다 하루이익10틱으로설정 근데 그림에는
처음에17틱손절 다음에는50틱정도이익에 청산이되였네요 손절17틱에 하루이익이10틱이니까
27틱에청산되어야정상아닌가요??
밑에수식이구현니어려우면 하루목표10틱 에 처음에10틱수익나면 청산진입금지 두번째뷰터
손절이되면은 그다음진입익절은 그림처럼 17틱손절 이면다음진입익절은27틱청산진입금지
만약에 두번연속손절이면 17틱+17틱이므로 다음익절은44틱에청산진입금지 수익목표가 안나오면
강제청산시간까지실행 부탁합니다
밑에수식입니다
하루수익목표을 10틱으로설정하고 장시작후 바로10틱수익나면은 바로청산 진입금지
만약에 5틱손절하고 7틱수익나면은 진짜수익은2틱 그러므로 종료시간까지계속실행
중에8틱수익나면바로청산 진입금지 수익목표가안되면은종료시까지실행 확인부탁합니다
input : 하루수익틱(10);
var : NP(0,data1),PreNP(0,data1),DayPL(0,data1),하루수익(0,data1),Xcond(false);
var : diff(0,data2);
2016-06-01
145
글번호 98673
답변완료
모의 투자 전략에서 현재봉이나 미래의 미래봉에서 체결되기를 원할때
모의투자 전략실행 차트를 열고
시스템 전략을 실행해서 현재봉 이후에만 전략이
실행되도록
lastbatonchart릏 사용해서 구문을 작성후에 돌려보면
의도한대로 안되고 매수기 안일어납니다.
어떻게 해야 현재봉이전의 과거봉 거래가 안이루지고
현재봉이나 미래봉에서만 체결될 수 있는지
알려 주시기 바랍니다.
NPS=GetNumPositions("0000359608"); //모의계좌의 포지션(종목)들의 총갯수
mp1= Marketposition(0); // 포지션
If LastBarOnChart==1 and NPS==0 then begin
//총 보유수량 0 일때
재진입 =0 ;
end;
if 재진입=0 Then begin
Buy("BUY",atmarket);
end;
2016-06-01
172
글번호 98672
종호 님에 의해서 삭제되었습니다.
2016-06-01
1
글번호 98671
답변완료
일목균형표 구름층위치 변경방법
일목균형표에서 일봉이 현재 위치한 구름층을 일봉을 그 위치 그대로 하고 구름층을 한칸 왼쪽으로 이동시키는 수식 좀 알려주세요
즉 일봉기준 내일구름층을 오늘로 왼쪽으로 한칸이동시키는 방법(일봉위치는 그대로)
감사합니다
2016-06-01
192
글번호 98670
답변완료
바탕화면 색변화식
안녕하세요
아래식은 단기볼린져,adx강조식입니다
이식으로 바탕화면색변화식으로 만들고싶습니다
1.볼린져밴드 상단하단 넓어지고 중앙선이 상방+adx상승 - 붉은색바탕
2.볼린져밴드 상단하단 좁아지고 중앙선이 하방+adx상승 - 푸른색색바탕
input : P(5),dv(2),Period(2);
var : Price(0),BBmd(0),BBup(0),BBdn(0),diff(0);
var : adxv(0);
Price = (C+H+L)/3;
BBmd = ma(Price,P);
BBup = BBmd + std(Price,5)*dv;
BBdn = BBmd - std(Price,5)*dv;
diff = BBup-BBdn;
adxv = adx(Period);
if BBmd > BBmd[1] and diff > diff[1] and
Adxv > adxv[1] Then
PlotPaintBar(H,L,"강조",RED);
if BBmd < BBmd[1] and diff > diff[1] and
Adxv > adxv[1] Then
PlotPaintBar(H,L,"강조",blue);
감사합니다
2016-06-01
171
글번호 98669
답변완료
글번호 47992번 추가질문
안녕하세요?
글번호 47992번 답변 감사드립니다.
아래의 함수도 글번호 47992번 답변처럼 부탁드립니다.
아래의 함수 역시 20ma, 60ma 골든크로스 매수, 데드크로스 매도 전략입니다.
그런데 매수진입은 골든크로스 이후 골든크로스 상태가 유지된 상태(20ma>60ma)에서 현주가가 60ma를 하향이탈하면 익봉시가에 매수하고,
매도 진입은 데드크로스 이후 데드크로스 상태가 유지된 상태에서(20ma<60ma) 현주가가 60ma를 상향돌파하면 익봉 시가에 매도진입하고자합니다.
아울러 여기에 아래의 강제청산 조건을 넣고자 하는데
SetStopLoss(손절,PercentStop);
SetStopProfittarget(익절,PercentStop);
SetStopInactivity(익절,봉수,PercentStop);
손절과 익절 그리고 봉수의 계산은 실제로 진입한 상기의 눌림목 또는 기술적 반등을 이용한 가격을 기준으로 하는 것이 아니라
아래의 식에서 골든크로스의 매수가, 데드크로스의 매도가로 하고 싶습니다.
input : xtime(60000);
var : tcond(false),cond1(false),cond2(false);
if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{
Tcond = false;
}
if bdate != bdate[1] Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
}
var1 = ma(c,20);
var2 = ma(c,60);
cond1 = C > var1 and var1 > var2;
cond2 = C < var1 and var1 < var2;
if cond1 == true and cond1[1] == false then
Condition1 = true;
if cond2 == true and cond2[1] == false then
Condition2 = true;
if Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] Then
buy("B");
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then
sell("S");
2016-06-01
135
글번호 98668
답변완료
고점과 저점 표시방법에 대해 문의드립니다.
항상 친절하고 빠른 답변에 감사드립니다.
아래와 같은 지그재그 변곡점 수식에서
고점과 저점의 표시 방법을 소숫점이하 1자리(50.1)에서
소숫점이하 2자리(50.06) 또는 4자리(50.0601)로 표시하는 방법을 알려 주시면 고맙겠습니다.
어느 부분에서 수정을 해야 하는지 주석을 달아 주시면 더욱 좋겠습니다.
Input:length(12);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TT(0), TL1(0),
Text1(0),처리구분("");
Array:고점[10,2](0),저점[10,2](0); //가격,위치
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],
sDate[eBar],sTime[eBar],고점[1,1]);
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],
NumToStr(고점[1,1],1));
Text_SetStyle(Text1, 2, 1);
}
}
If 처리구분 == "저점처리" Then
{
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],
sDate[eBar],sTime[eBar],저점[1,1]);
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],
NumToStr(저점[1,1],1));
Text_SetStyle(Text1, 2, 0);
}
}
TL_SetSize(TL1, 5);
TL_SetColor(TL1, GRAY);
If 처리구분 == "고점처리" Then
TT = 1;
plot1(1,"저점",GREEN, def, 2);
If 처리구분 == "저점처리" Then
TT = -1;
plot2(2,"고점",YELLOW, def, 2);
2016-06-01
279
글번호 98667
답변완료
수정부탁드립니다^^
input : P(10);
var : MM(0),T(0);
MM = (highest(H,P)+lowest(L,P))/2;
if T == 0 and C > MM Then
T = 1;
if T == 0 and C < MM Then
T = -1;
if T == 1 and CrossDown(C,lowest(L,P)[1]) Then
T = 0;
if T == -1 and CrossUp(C,highest(H,P)[1]) Then
T = 0;
if dayindex == 0 and T == 1 then
buy();
if dayindex == 0 and T == -1 then
sell();
if dayindex > 0 then{
if T == 1 and T[1] != 1 Then
buy();
if T == 0 and T[1] == 1 Then
sell();
}
if T == -1 and T[1] != -1 Then
sell();
if T == 0 and T[1] == -1 Then
buy();
SetStopEndofday(150000);
위수식은 아침 9시부터 맞는 색깔에 신호가뜨는데
수정할 부분은
아침 10시 30분 부터 강조식에 색깔이 맞는 표시에 신호가 나왔으면좋겠습니다
10시 30분에 빨강색이면 매수 파랑색이면 매도
잘부탁드립니다
항상 감사합니다^^
2016-05-31
140
글번호 98666