커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3525
글번호 230811
답변완료
시스템식 문의 드립니다.
항상 도움 주셔서 감사합니다.
종목 : 해선
차트 : 10분봉
매매타임 : 밤 10시부터 익일 02사이 매매
매매횟수 : 하루에 1회
장시작은 아침 8시에 시작 되지만
매매는 밤 10시부터 새벽 2시까지 사이에만 매매를 합니다.
매수식 :
매매는 10분봉에서 하지만 밤 10시부터
당일 일봉의 몸통(고가-저가) 크기와 일봉의 윗꼬리 크기를 측정하여
일봉의 윗꼬리가 일봉의 고가-저가 크기의 10% 이내일때 매수하는 시스템식 부탁드립니다.
매도식 :
매매는 10분봉에서 하지만 밤 10시부터
당일 일봉의 몸통(고가-저가) 크기와 일봉의 아래꼬리 크기를 측정하여
일봉의 아래꼬리가 일봉의 고가-저가 크기의 10% 이내일때 매도하는 시스템식 부탁드립니다.
위 조건에 맞는 시스템식 부탁드립니다.
감사합니다.
2019-12-18
166
글번호 134517
답변완료
문의 드립니다.
진입후 최고수익틱 대비 50% 수익감소시 청산식을 알고 싶읍니다.
감사합니다
2019-12-18
148
글번호 134509
답변완료
time 진입/1차후 2차진입 손절/익절/피라미딩
문의 드립니다.
1.두번째 진입의 손절2,익절2,tr2 작동되지 않고 첫번째 조건이 모두 적용됩니다.
(미니선물1분차트
고가갱신수 10
첫번째 진입 손절1(30),익절1(50),tr1(40)
두번째 진입 손절2(30),익절2(50),tr2(40) 했을때
b1, b2 모두 bl1,bp1,btr1 적용됨
2.두번째 진입에 사용할 피라미밍2 조건 수식이 없습니다.
**********************************************************************************
안녕하세요
예스스탁입니다.
input : ntime(090000),n(1);
input : 고가갱신수(20);
input : uppyra검증(1.20);
input : 상승pyra(0.20),상승N(12);
input : up손절1(99999),up익절1(99999),upTR1(99999);
input : up손절2(99999),up익절2(99999),upTR2(99999);
var : BE1(0),BH1(0),BV1(0),BXcond1(false);
var : BE2(0),BH2(0),BV2(0),BXcond2(false);
if stime == ntime or (stime > ntime and stime[1] < ntime) Then{
if MaxEntries < n Then
buy("b1");
}
if MarketPosition == 1 and C >= EntryPrice+uppyra검증 and MaxContracts < 상승N Then
buy("bb",AtStop,LatestEntryPrice(0)+상승Pyra);
if MarketPosition == 0 and #현재무포지션이고
EntryDate(1) == sdate and #직전거래가 오늘 발생한 거래이고
MarketPosition(1) == 1 and #직전거래가 매수거래이고
countif(DayHigh(0) != DayHigh(0)[1],BarsSinceExit(1)) >= 고가갱신수 Then #청산이후 당일고가 갱신이 n회이상 있었으면
buy("b2");
if MarketPosition == 1 then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 then
{
BE1 = LatestEntryPrice(0);
Bh1 = h;
Bv1 = CurrentContracts-CurrentContracts[1];
BXcond1 = false;
}
if MaxEntries == 2 then
{
BE2 = LatestEntryPrice(0);
Bh2 = h;
Bv2 = CurrentContracts-CurrentContracts[1];
BXcond2 = false;
}
}
if CurrentContracts < CurrentContracts[1] then
{
if LatestExitName(0) == "bl1" or
LatestExitName(0) == "bp1" or
LatestExitName(0) == "btr1" Then
BXcond1 = true;
if LatestExitName(0) == "bl2" or
LatestExitName(0) == "bp2" or
LatestExitName(0) == "btr2" Then
BXcond2 = true;
}
if MaxEntries >= 1 then
{
if h > Bh1 Then
Bh1 = h;
if BXcond1 == false Then
{
ExitLong("bl1",AtStop,BE1-PriceScale*up손절1,"",BV1,1);
ExitLong("bp1",Atlimit,BE1+PriceScale*up익절1,"",BV1,1);
ExitLong("btr1",AtStop,Bh1-PriceScale*upTR1,"",BV1,1);
}
}
if MaxEntries >= 2 then
{
if h > Bh2 Then
Bh2 = h;
if BXcond2 == false Then
{
ExitLong("bl2",AtStop,BE2-PriceScale*up손절2,"",BV2,1);
ExitLong("bp2",Atlimit,BE2+PriceScale*up익절2,"",BV2,1);
ExitLong("btr2",AtStop,Bh2-PriceScale*upTR2,"",BV2,1);
}
}
}
else
{
Bxcond1 = false;
Bxcond2 = false;
}
즐거운 하루되세요
> 목마와숙녀 님이 쓴 글입니다.
> 제목 : 문의
> 아래수식의 손절,익절,TR,피라미딩은 1차 진입과 2차 진입에 공통으로 적용됩니다.
손절,익절,TR,피라미딩을
첫번째 진입과 두번째 진입에 각각 구분하여 적용하고 싶습니다.
*************************************************************************************
input : ntime(090000),n(1);
input : 고가갱신수(20);
input : uppyra검증(1.20);
input : 상승pyra(0.20),상승N(12);
input : up손절(99999),up익절(99999),upTR(99999);
if stime == ntime or (stime > ntime and stime[1] < ntime) Then{
if MaxEntries < n Then
buy("b1");
}
if MarketPosition == 1 and C >= EntryPrice+uppyra검증 and MaxContracts < 상승N Then
buy("bb",AtStop,LatestEntryPrice(0)+상승Pyra);
if MarketPosition == 0 and #현재무포지션이고
EntryDate(1) == sdate and #직전거래가 오늘 발생한 거래이고
MarketPosition(1) == 1 and #직전거래가 매수거래이고
countif(DayHigh(0) != DayHigh(0)[1],BarsSinceExit(1)) >= 고가갱신수 Then #청산이후 당일고가 갱신이 n회이상 있었으면
buy("b2");
if MarketPosition == 1 then
{
ExitLong("bl1",AtStop,EntryPrice-PriceScale*up손절);
ExitLong("bp1",Atlimit,EntryPrice+PriceScale*up익절);
ExitLong("btr1",AtStop,highest(h,BarsSinceEntry)-PriceScale*upTR);
}
2020-01-20
215
글번호 134505
답변완료
양봉 거래량 음봉 거래량 plot 하는 지표작성 도움요청
1. 해외선물에서 주로 틱봉에 사용, 아래 내용을 구현하고 싶은데,
1-1. 직전가격대비 상승한 가격에 체결된 거래량이면 --> 양봉 거래량
1-2. 직전가격대비 하락한 가격에 체결된 거래량이면 --> 음봉 거래량
1-3. 체결가격이 직전체결가격과 같으면 가장최근에 상승체결이 있었으면 --> 양봉 거래량
1-4. 최근에 하락체결이 있었으면 --> 음봉 거래량
2. 1-1, 1-2는 아래식이 커버를 하는데 1-3과 1-4를 구현을 못해서 이 부분 요청드립니다.
If (C > O) or (C == O and C >= C[1]) Then
{
Plot1(V, "상승거래량");
Plot2(0, "하락거래량");
}
Else
{
Plot1(0, "상승거래량");
Plot2(V, "하락거래량");
}
2019-12-18
253
글번호 134501
답변완료
시스템식 부탁드립니다.
항상 도움 주셔서 감사합니다.
종목 : 해선
차트 : 10분봉
매매타임 : 밤 10시부터 익일 02사이 매매
요청사항1)
매매시간이 밤 10시(22시)부터 그 다음날 새벽 2시(02시) 사이에
10분 단위로 일봉의 윗꼬리, 아래꼬리, 몸통의 크기를 각각 알고 싶습니다.
예)
매수식 :
만약 10:30분에 위꼬리 크기가 고가-저가 대비 10% 이상일 경우
매도식 :
만약 10:30분에 위꼬리 크기가 고가-저가 대비 10% 이하일 경우
요청사항2) - 아래 조건에 맞는 지표식 부탁드립니다.
특정시간 23시, 24시, 01시의 종가를 차트에 라인으로 표시하고 싶습니다.
총 3개의 라인으로 표시하고 금일 23시 되기전까지는 어제의 23시 종가를 표기하고
금일 24시의 종가의 가격도 24시가 되기전까지는 어제의 24시 종가를 표기하다가
금일 24시의 종가를 다음날 24시까지 라인으로 표시하고 싶습니다.
도움 부탁드립니다.
감사합니다.
2019-12-18
189
글번호 134499
답변완료
검색이 안되요
input : Period(30),d1(1.8),기간(5),k(2);
var : wma1(0),NL(0),BarsSince(-1),wma2(0),NL2(0),BarsSince2(-1),MM(0),LL(0),NL3(0),BarsSince3(-1);
wma2 = wma((money/v+l+h)/3,period)+D1-std((money/v+l+h)/3,period);
wma1 = wma((money/v+c+o)/3,period)+D1*std((money/v+c+o)/3,period);
MM = BollBanddown(30, 1.8);
LL = Lowest(MM, 기간);
if crossup(c,wma1) Then
{
NL = wma1;
BarsSince = 0;
}
Else
{
if BarsSince >= 0 Then
BarsSince = BarsSince+1;
}
if BarsSince == 기간-k Then
var1 = NL;
if crossDOWN(c,wma2) Then
{
NL2 = wma2;
BarsSince2 = 0;
}
Else
{
if BarsSince2 >= 0 Then
BarsSince2 = BarsSince2+1;
}
if BarsSince2 == 기간-k Then
var2 = NL2;
if MM < ll[1] Then
{
NL3 = MM;
BarsSince3 = 0;
}
Else
{
if BarsSince3 >= 0 Then
BarsSince3 = BarsSince3+1;
}
if BarsSince3 == 기간-k Then
var3 = NL3;
var4 = var3/var1*100;
var5 = (c/var1)*100;
if var5 < 100 Then
find(1);
var5 의 결과 값이 이상하게 나오는 듯해요. 지표에서는 나오는데 조건 검색에서는 안나와요
2019-12-18
183
글번호 134498
답변완료
수식요청드립니다.
안녕하세요.
연결선물 틱봉 분봉차트에서 장시작후 참조데이타 5분봉 첫봉 완성봉 기준으로
시가 종가 고가 저가 중심가을 저장하고,
매수 - 참조데이타 5분봉 첫봉 고가를, 현재 완성봉 종가가 상향돌파시 매수
매도 - 참조데이타 5분봉 첫봉 저가를, 현재 완성봉 종가가 하향돌파시 매도
매수익절청산 - 매수진입 20틱 이상 수익후, 현재 완성봉 종가가 참조데이타 5분 직전봉 저가를 돌파시 익절청산
매도익절청산 - 매도진입 20틱 이상 수익후, 현재 완성봉 종가가 참조데이타 5분 직전봉 고가를 돌파시 익절청산
매수손절청산 - 매수진입 후, 현재 완성봉 종가가 참조데이타 5분봉 첫봉 저가를
돌파시 손절청산
매도손절청산 - 매도진입 후, 현재 완성봉 종가가 참조데이타 5분봉 첫봉 고가를
돌파시 손절청산
수식요청드립니다.
감사합니다.
2019-12-18
190
글번호 134497
답변완료
매수 진입후 100틱 아래 떨어졌을때 추가 매수 하는 수식이 할때마다 다르게 진입됨
최초 매수 진입하고 분할매수틱수(100) 변수에 의해 진입한 금액의 100틱 이하로 떨어졌을때
추가로 진입하는 수식인데요...
시물레이션 하면 자기 마음대로 추가 진입이 되어 버리네요..
보니까 1차 매수는 조건에 만족하는 중간봉일때 매수가 되고 2차매수는 그다음봉에 매수가 되어 버리는 것 같네요..
제가 원하는 사항은 예를들어
1차 매수 시점
if BuySetup == true Then
buy("매수",AtLimit,var1-PriceScale*하락틱수);
2차 매수 시점은 1차 매수시점에서 분할매수틱수(100) 만큼의 하락했을때 진입입니다
아래 수식이 잘못된 사항 체크 부탁드릴께요~~`
================================================================
Input : RSIPeriod(14),RSI매수값(22),SimPeriod(14),심리도값(16);
Input : N1(1),초기화(7);
Input : CCI기간(80),CCI값(300);
Input : 하락틱수(20);
Input : 분할매수횟수(2),분할매수틱수(100);
var : CCIv(0),RSIv(0),Simri(0),BuySetup(false),DD(0);
CCIv = CCI(CCI기간);
RSIV = RSI(RSIPeriod);
Simri = Simrido(SimPeriod);
Condition1 = RSIv < RSI매수값 and Simri < 심리도값;
if bdate != bdate[1] Then
{
DD = DD+1;
if var2 > 0 and DD == var2+초기화 Then
BuySetup = false;
}
if BuySetup == false and Condition1 == true and Condition1[1] == false Then
{
var1 = C;
var2 = DD;
BuySetup = true;
}
/* if BuySetup == true and CrossDown(CCIv,CCI값) Then
BuySetup = false;*/
if BuySetup == true Then
buy("매수",AtLimit,var1-PriceScale*하락틱수);
#추가진입
if MarketPosition == 1 and MaxEntries < 분할매수횟수 Then
buy("추가매수",atlimit,LatestEntryPrice(0)-PriceScale*분할매수틱수,1);
2019-12-18
227
글번호 134493
답변완료
수식 수정부탁드립니다.
스토케스틱, RSI 과열,침체구간을 캔들위에 표시하고자 만들어 보았는데
캔들 바로위에 표시가 됩니다.
스토케스틱 과열침체구간은 캔들에 약간 떨어져서 표시되고, RSI과열침체구간은 스토케스틱 위헤 표시가 되도록 수정부탁드립니다.
강조식은 아니고 지표식으로 부탁드립니다.
아무것도 모르고 이것 저것 참조해서 만들었는데 표시가 되기는 한데 제가 작성한 것이 맞는지 모르겠습니다. 부탁드립니다.
원모양은 스토케스틱, 십자모양은 RSI 과열침체일때 나타나는 표시입니다.
Input : Period(9), Period1(12), Period2(5), Period3(5), 과열1(75),침체1(25), 과열2(70),침체2(30);
var : StoK(0),StoD(0), Relative(0);
StoK = StochasticsK(Period1,Period2);
StoD = StochasticsD(Period1,Period2,Period3);
Relative = RSI(Period);
if stok >= 과열1 Then
plot1(H,"검색",RED);
if stok <= 침체1 Then
plot1(L,"검색",GREEN);
if Relative >= 과열2 Then
plot2(H,"검색",white);
if Relative <= 침체2 Then
plot2(L,"검색",white);
2019-12-18
299
글번호 134490