커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3300
글번호 230811
답변완료
수식문의
30초봉에서
매수조건
1. 30봉이내에서 2프로 상승이고 거래대금 1억이상 기준봉 발생
2. 당일 거래대금 100억이상
3. 기준봉의 시가와 종가의 중간가격을 종가가 크로스다운시 매수
매도조건
1. 1프로 상승시 절반 매도
2. 1프로 상승시 트래일링스탑시작 (상승가대비 -1프로 손절)
3. 손절 -2프로
늘 감사드립니다.
2023-02-08
1151
글번호 166123
답변완료
함수요청
안녕하세요?
아래 글번호 80866번 재질문입니다.
등합이 3일연속 상승하거나 3일연속 하락한 날을 표시(지표 혹은 강조) 하고 싶습니다.
==================================================================================
종목선택 참조에서 ATM연결 콜옵션과 ATM연결 풋옵션이 있습니다.
콜옵션 종가 + 풋옵션 종가 = 새로 생성하려는 종가선 그래프
var1 = Data2(C)+Data3(C);
Plot1(var41,"종");
2023-02-08
1122
글번호 166121
답변완료
지표수식을 시스템 수식으로
지표수식인 DEMA를 시스템 매매수식을 부탁드립니다.
PLOT1 이 PLOT2 를 상향돌파시 매수 PLOT1 이 PLOT2 를 하향돌파시 매도
PLOT1 이 PLOT3 를 상향돌파시 매수 PLOT1 이 PLOT3 를 하향돌파시 매도
PLOT2 이 PLOT3 를 상향돌파시 매수 PLOT2 이 PLOT3 를 하향돌파시 매도
감사합니다.
2023-02-08
1344
글번호 166117
답변완료
재문의드립니다.
전략 수정 하겠습니다.
4단계와 7단계가 되면 그냥 1계약씩 팔기만 하고요. 판 가격에 재진입을 안하고
계속 피라미딩이 진행되도옥 하고 싶습니다.
문제는 4단계와 7단계가 최초로 될 때만 1번 팔아주고 두번째로 4단세나 7단계가
될 때는 안팔려야 하는 것입니다. 계속 피라미딩이 진행되도록 부탁드립니다.
안녕하세요
예스스탁입니다.
1
AvgEntryPrice
추가진입이나 일부청산에 따라 자동으로 변동이 됩니다.
2
수식에서 청산과 동일방향 진입이 동시 발생하면
청산함수가 다시 발동해서 발생한 진입을 다시 청산합니다.
즉 피라미딩일때 동일시점에 일부 청산하고 다시 진입하는 것은 가능하지 않습니다.
청산과 진입시점을 달리해 주여야 하는데
올리신 내용만으로 어떤 방식으로 차이를 주어야 할지 알수 없습니다.
즐거운 하루되세요
> 종호 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 안녕하세요.
아래수식은 피라미딩 수식입니다
10단계까지 1계약씩 진입예정이고요.
4단계와 7단계에서 1계약을 팔아주고 다시 사서 중간 이악을 취하도록
수정을 부탁드립니다.
4단계 진입이 되면 1걔약을 우선 팔고 다시 1계약을 매수하고 싶습니다.
즉 4단계와 7단계 에서는 2계약이 매수 되고 1계약이 매도 됩니다,
이렇게 되면
AvgEntryPrice 가격도 원래 보다 높은 가격으로 수정이 되는 것이 맞는 것인지요?
높은 가격으로 수정되어야 이런 과정이 의미가 있기 때문입니다.
매도도 반대논리로 수정을 부탁드립니다.
if MarketPosition == 1 Then
{
buy("bb",AtStop,LatestEntryPrice(0)+PriceScale*매수간격);
if MaxEntries == 1 Then
ExitLong("매수1손절",AtStop,EntryPrice-PriceScale*손절변수);
if MaxEntries >= 2 Then
ExitLong("bx",AtStop,AvgEntryPrice);
ExitLong("매수이익x",AtLimit,AvgEntryPrice+PriceScale*이익변수 );
}
if MarketPosition == -1 Then
{
Sell("ss",AtStop,LatestEntryPrice(0)-PriceScale*매도간격);
if MaxEntries == 1 Then
ExitShort("매도1손절",AtStop,EntryPrice+PriceScale*손절변수 );
if MaxEntries >= 2 Then
ExitShort("sx",AtStop,AvgEntryPrice);
ExitShort("매도이익",AtLimit,AvgEntryPrice-PriceScale*이익변수);
}
2023-02-08
887
글번호 166116
답변완료
추세선 쓰리바닥 저가라인
input : Period(35),pt(0.25);
Var:j(0),T(0),box(0),txx(0);
Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0),
date21(0),date22(0),time21(0),time22(0),
date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0);
Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0);
Array:r[7](0),fr[7](0),TL2[7](0),TL3[7](0),TX2[7](0),TX3[7](0);
Plot1(value12);
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];
}
LoVal[0] = L;
LoBar[0] = 0;
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]);
}
Condition1 = False;
if max(LoVal[1],LoVal[2]) <= min(LoVal[1],LoVal[2])+pt Then
{
Condition1 = true;
txx = Text_New(sdate[HiBar[0]],sTime[HiBar[0]],Hival[0]-PriceScale*0,"●");
Text_SetColor(txx,Cyan);
Text_SetSize(txx,20);
Text_SetStyle(txx,2,2);
box = Box_New(sdate[LObar[2]],sTime[LObar[2]],Hival[0],NextBarSdate,NextBarStime,Loval[0]);
Box_SetColor(box,Magenta);
Box_SetFill(box,true,35);
}
}
If LoVal[0] > L Then
{
LoVal[0] = L;
LoBar[0] = 0;
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
date22 = date[0];
time22 = stime[0];
if Condition1 == true Then
Box_SetEnd(box,NextBarSdate,NextBarStime,Loval[0]);
}
if Condition1 == true and LoVal[0] < max(LoVal[1],LoVal[2])-pt Then
{
Condition1 = False;
Text_Delete(txx);
Box_Delete(box);
}
}
If T == 1 Then
{
If T[1] != 1 Then
{
text_Delete(txx);
Box_Delete(box);
For j = 18 DownTo 0
{
HiVal[j+1] = HiVal[j];
HiBar[j+1] = HiBar[j];
}
HiVal[0] = H;
HiBar[0] = 0;
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]);
}
}
If HiVal[0] < H Then
{
HiVal[0] = H;
HiBar[0] = 0;
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
date32 = date[0];
time32 = stime[0];
}
}
직전 두 저점의 차이가 0.25p 이내일 때 하락 추세선이 생기면 동그라미와 박스가 동시에 생겼다 쓰리바닥 조건이 끝나면 삭제하는 수식인데,
여기에 추가로 직전저점과 전전저점 둘중에 낮은 저점을 기준으로, 저가 수평 라인을 일자그래프로 동그라미 생길 때 동시에 표시했다가 삭제될 때 동시에 삭제. 저가라인은 직전저점이 더 낮다해도 시작점은 전전저점부터 굵기 색상 변경 가능하게 일자그래프 표시. 감사합니다.
2023-02-08
959
글번호 166100
답변완료
문의 드려요
코스피 비차익 순매수 캔들이
첫 5분봉이 양봉일때 매수 진입
수식 알고 싶습니다.
----------------------
그리고 시초가 대비 +-[n] 포인트 도달시 1차 청산, +-[m] 포인트 도달시 2차청산
이 수식도 알고 싶습니다.
감사합니다.
2023-02-08
857
글번호 166099
답변완료
문의 드립니다
수고 하십니다.
아래 지표식에서 "120일선"이란 text가
현재봉 위치에 말고
화면 맨우측에 & TL상단에 표시되게 해주세요...
수고하세요....
##########
//1. 분봉에서 일봉 ma단순이동평균
input : P1(120),TL색1(Magenta),TL굵기1(3),tx1값크기(10);
var : count1(0),sumV1(0),mav1(0),TL1(0),Tx1(0);
sumV1 = 0;
for count1 = 0 to P1-1
{
sumV1 = sumV1+DayClose(count1);
}
maV1 = sumV1 / P1;
TL_Delete(TL1);
TL1 = TL_New(sdate[1],stime[1],mav1,sdate,stime,mav1);
TL_SetExtLeft(TL1,true);//TL 좌측 연장 [OK]
TL_SetExtRight(TL1,true);//TL 우측 연장 [OK]
TL_SetColor(TL1,TL색1);
TL_SetSize(TL1,TL굵기1);
Text_Delete(tx1);
tx1 = Text_New(sdate,stime,mav1,NumToStr(P1,0)+"일선");
Text_SetSize(tx1,tx1값크기);
2023-02-08
970
글번호 166098
답변완료
문의 드립니다!
안녕하세요!
아래 2개의 수식에서 각각 발생되는 가로선과 가로선사이에 색상을 입히고싶습니다
* 수식1의 경우 라인1,2,3이 아닌 trend에 해당되는선 기준입니다
그럴려면 2개의 수식을 한개의 수식으로 통합해야할것같은데 가능한 방법으로 해결 부탁드립니다
색상은 사용지정이 가능했으면 합니다
감사합니다!!!
-----------------------------------------------------------------------------------
(수식 1)
input : n(0);
input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true);
var : src(0),ATR2(0),ATrv(0),upv(0),dnv(0),trend(1);
src = (h+l)/2;
atr2 = ma(TrueRange, Periods);
atrv = iff(changeATR, atr(Periods), atr2);
upv = src-(Multiplier*atrv);
upv = iff(close[1] > upv[1],max(upv,upv[1]), upv);
dnv = src+(Multiplier*atrv);
dnv = iff(close[1] < dnv[1],min(dnv, dnv[1]), dnv);
trend = iff(trend == -1 and close > dnv[1] , 1 ,IFf(trend == 1 and close < upv[1] , -1 , trend));
if trend == 1 Then
plot1(upv,"Trend",MAGENTA);
Else
plot1(dnv,"Trend",blue);
if C > Plot1 Then
plot2(999999999,"라인1");
Else
plot2(0,"라인1");
var1 = IFf(Trend == 1,upv,dnv);
if CountIf(trend != 1,2) == 2 and
H < var1-PriceScale*n and H[1] >= var1[1]-PriceScale*n Then
{
plot3(999999999,"라인2");
PlaySound("C:₩예스트레이더₩data₩Sound₩.wav");
}
Else
plot3(0,"라인2");
if CountIf(trend == 1,2) == 2 and
L > var1+PriceScale*n and L[1] <= var1[1]+PriceScale*n Then
{
plot4(999999999,"라인3");
PlaySound("C:₩예스트레이더₩data₩Sound₩.wav");
}
Else
plot4(0,"라인3");
(수식 2)
var : tl1(0,data1),tl2(0,data1);
var : V1(Data1(C),data1);
var : V2(Data2(C),data2);
if CrossDown(data1(L),data2(H)) or
Crossup(data1(h),data2(L)) Then
{
v1 = data1(C);
}
plot1(v1);
plot2(v1);
plot3(v2);
if CrossDown(data1(L),data2(H)) or
Crossup(data1(h),data2(L)) Then
{
tl1 = TL_New(sdate,stime,9999999,sdate,stime,0);
TL_SetColor(tl1,black);
TL_SetSize(tl1,0);
}
2023-02-08
958
글번호 166097
답변완료
문의드립니다
data2, data3 의 전일대비 미결제 증감수치를 알고싶습니다
어제까지 미결제가 만개인데 오늘 만오천개로 증가했으면 ... 5천개를 표시해줍니다
감사합니다
2023-02-08
903
글번호 166096