커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4395
글번호 230811
답변완료
수식 부탁드립니다.
스톡게스틱 slow(20,10,4)와 볼린저밴드(10,2)를 셋팅하고 스톡게스틱이과열권 80이상에서 볼린저를 교차 하락시매도진입 ,스톡게스틱이침체권 20이하에서 볼린저를 교차 상승시 매수진입하게 해주세요,
감사합니다.
2018-06-06
244
글번호 119522
답변완료
수식문의
안녕하세요
하기 수식에서 한가지 추가사항을 하고 싶어서 메일드립니다.
검토 부탁드립니다.
하기수식에서 매도 진입시 ADX 선 위에 - DI 선이 있으면 진입대기후
- DI 선이 ADX 아래로 내려온 후에 진입하게 부탁드립니다.
하기 수식에서 매수 진입시 ADX 선 위에 + DI 선이 있으면 진입대기후
+ DI 선이 ADX 아래로 내려온 후에 진입하게 부탁드립니다.
감사합니다.
input : Period(20),dv(2);
var : BBmd1(0,data1),BBdn1(0,data1),bbup1(0,data1);
var : BandB1(0,data1),HH1(0,data1),LL1(0,data1);
var : BBmd2(0,data2),BBdn2(0,data2),bbup2(0,data2);
var : T(0,data1);
BBmd1 = data1(ma(C,Period));
BBdn1 = data1(BollBandDown(Period,Dv));
BBUp1 = data1(BollBandUp(Period,Dv));
BandB1 = data1(((C-BBDn1)/(BBUp1-BBdn1))*100);
BBmd2 = data2(ma(C,Period));
BBdn2 = data2(BollBandDown(Period,Dv));
BBUp2 = data2(BollBandUp(Period,Dv));
if crossup(BandB1,90) Then
HH1 = BandB1;
if BandB1 > 90 and BandB1 > HH1 Then
HH1 = BandB1;
if CrossDown(BandB1,10) Then
LL1 = BandB1;
if BandB1 < 10 and BandB1 < LL1 Then
LL1 = BandB1;
if CrossDown(BandB1,90) Then
{
T = 0;
if HH1 > 100 Then
T = -1;
if BBup2 < BBup1 then
T = -2;
}
if CrossUp(BandB1,10) Then
{
T = 0;
if HH1 < 0 Then
T = 1;
if BBdn2 > BBdn1 then
T = 2;
}
if T == -1 and BBup2 < BBup1 then
T = -2;
if T == 1 and BBdn2 > BBdn1 then
T = 2;
if T == -2 and T != T[1] Then
{
T = 0;
sell("s4");
}
if T == 2 and T != T[1] Then
{
T = 0;
buy("b4");
2018-06-06
235
글번호 119521
답변완료
식 부탁드립니다~
var : scnt7(0), T7(0), Bcnt7(0);
if crossup(tic120,tic240) Then{
T7 = 1;
Bcnt7 = 0;
Scnt7 = 0;
if MarketPosition == 1 Then
Bcnt7 = 1;
}
if crossdown(tic120,tic240) Then{
T7 = -1;
Scnt7 = 0;
Bcnt7 = 0;
if MarketPosition == -1 Then
Scnt7 = 1;
}
if MarketPosition != MarketPosition[1] and MarketPosition == 1 Then
Bcnt7 = Bcnt7+1;
if MarketPosition != MarketPosition[1] and MarketPosition == -1 Then
Scnt7 = Scnt7+1;
///
120일선과 240일선이 크로스되면 Bcnt7가 1씩 증가하는 식인데요
120일선과 240일선이 골든크로스되고나서 청산신호명이 "롱익절"가 뜨게 되면은
다시120일선과 240일선이 데드크로스되거나 또다시 120일선과 240일선이 새로운 골든크로스가 나오기전까지 신규진입신호가 생성되지 않도록 하고 싶습니다. ~
반대도 마찬가지이구요~
현재120과 240일선 골든크로스 이후에7회까지 진입신호가 나오도록 해놓은 상황입니다.
2018-06-06
215
글번호 119520
답변완료
수식 수정좀 부탁드립니다.
아래 수식을 작성해주셨는데요.
제가 의도하는 진입 조건은
1. 아래 13가지의 선을 기준으로 이평선이 상하 2틱이내에 있을 것
2. 캔들의 저가가 위 1번의 범위내에 도달하면 매수진입
캔들의 고가가 위 1번의 범위내에 도달하면 매도진입
그런데, 위 1번의 조건에서 13가지 선의 상하 2틱이내 60, 120, 180 이평선이 있는 경우에만 진입해야 하는데
이평선은 도달하지 않고 2번 조건의 캔들의 저가가 선을 기준으로 상하 2틱 이내 도달하면 매수진입하고
역시 이평은 도달하지 않은 상태에서 캔들의 고가가 기준선 상하 2틱 이내에 도달하면 매도진입합니다.
또, 13가지 선과는 관계없이 2번 조건 하나만 만족해도 진입을 합니다.
다시한번 살펴봐주시면 고맙겠습니다.
var : OO(0),HH(0),LL(0),CC(0),OO1(0),HH1(0),LL1(0),CC1(0);
var : mav1(0),mav2(0),mav3(0),maxv(0),minv(0),cnt(0);
Array : line[14](0);
if Bdate != Bdate[1] Then{
OO = O;
HH = H;
LL = L;
OO1 = OO[1];
HH1 = HH[1];
LL1 = LL[1];
CC1 = CC[1];
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
CC = C;
var1 = dayhigh(0);
var2 = daylow(0);
var3 = var1-var2;
line[1] = var1;
line[2] = var2;
line[3] = var1-var3*0.236;
line[4] = var1-var3*0.382;
line[5] = var1-var3*0.500;
line[6] = var1-var3*0.618;
line[7] = var1-var3*0.764;
line[8] = var1+var3*0.236;
line[9] = var1+var3*0.382;
line[10] = var1+var3*0.618;
line[11] = var2-var3*0.236;
line[12] = var2-var3*0.382;
line[13] = var2-var3*0.618;
mav1 = ma(C,60);
mav2 = ma(C,120);
mav3 = ma(C,180);
value1 = 0;
for cnt = 1 to 13
{
if mav1 <= Line[cnt]+PriceScale*2 and mav1 >= line[cnt]-PriceScale*2 Then
value1 = line[cnt];
if mav2 <= Line[cnt]+PriceScale*2 and mav2 >= line[cnt]-PriceScale*2 Then
value1 = line[cnt];
if mav3 <= Line[cnt]+PriceScale*2 and mav3 >= line[cnt]-PriceScale*2 Then
value1 = line[cnt];
}
if value1 > 0 then
{
if crossup(H,value1) Then
sell();
if CrossDown(L,value1) Then
buy();
}
2018-06-06
252
글번호 119519
답변완료
마틴게일 솔루션을 수식으로 만들고 싶습니다
상승신호 솔루션과
하락신호 솔루션을
따로 적용할예정으로
아래 수식이 두가지로 따로 적용시킬 예정입니다.
[상승신호]
특정가격에 도달하면(변수) 1랏 매수 진입
이후 50틱 올라가면 매도 청산 (여기서 50틱은 변수값)
반대로 50틱 내려가면 매도청산이후 2랏 재매수, 이후 50틱 올라오면 2랏 매도청산하고, 1랏 매수 처음부터 시작
만약 50틱 더 내려가면 매도청산이후 4랏 재매수, 이후 50틱 올라오면 4랏 매도청산, 1랏 매수 처음부터 시작
만약 50틱 더 내려가면 매도청산이후 8랏 재매수, 이후 50틱 올라오면 8랏 매도청산, 1랏 매수 처음부터 시작
이런식으로 50틱 올라오면 수익청산하고 처음부터 다시 시작, 반대로 가면 청산이후 두배씩 매수 진입입니다.
위와같은 상승 시스템 하나와
[하락신호]
특정가격에 도달하면(변수) 1랏 매도 진입
이후 50틱 내려가면 매수 청산 (여기서 50틱은 변수값)
반대로 50틱 올려가면 매수청산이후 2랏 재매도, 이후 50틱 내려오면 2랏 매수청산하고, 1랏 매도 처음부터 시작
만약 50틱 더 올라가면 매수청산이후 4랏 재매도, 이후 50틱 내려오면 4랏 매수청산, 1랏 매도 처음부터 시작
만약 50틱 더 올라가면 매수청산이후 8랏 재매도, 이후 50틱 내려오면 8랏 매수청산, 1랏 매도 처음부터 시작
이런식으로 50틱 내려가면 수익청산하고 처음부터 다시 시작, 반대로 가면 청산이후 두배씩 재매도 진입입니다.
이렇게 하락 시스템 하나
둘다 마틴게일 로 자동매매되는 솔루션입니다.
수식부탁드립니다 감사합니다
2018-06-05
263
글번호 119518
답변완료
수식에 오류가 있는데요 한번 봐주시면 감사하겠습니다
저번에 수식 고쳐주셔서 감사합니다 ㅎㅎ
그런데, 아래 수식을 적용하면 이상하게 DHigh와 DLow가 각각 64랑 0만 입력이 되는 문제가 있습니다.
지표를 차트에서 클릭해 입력변수 값을 바꿔줘도 적용이 안됩니다 ㅜㅜ
도대체 뭐가 문제인가요? ㅜㅜ
input : 고점(0),저점(0),자리(0);
Var : L1(0),L2(0),L3(0),L4(0),L5(0),DHigh(0),DLow(0);
if(DHigh==0) Then
DHigh = DayHigh;
Else
DHigh = 고점;
if(DLow==0) Then
DHigh = DayLow;
Else
DHigh = 저점;
L1 = DHigh-((DHigh-DLow)*0.236);
L2 = DHigh-((DHigh-DLow)*0.382);
L3 = DHigh-((DHigh-DLow)*0.5);
L4 = DHigh-((DHigh-DLow)*0.618);
L5 = DHigh-((DHigh-DLow)*0.786);
Plot1(L1, "로그1");
Plot2(L2, "로그2");
Plot3(L3, "로그3");
Plot4(L4, "로그4");
Plot5(L5, "로그5");
MessageLog("DHigh = %.f", DHigh);
MessageLog("DLow = %.f", DLow);
2018-06-05
243
글번호 119517
답변완료
부탁드립니다
단기분봉에서 직전60분봉 종가와 시가를 터치하면 소리나도록 부탁드립니다
2018-06-06
253
글번호 119516
답변완료
수정 부탁합니다
수식 감사합니다.
염치없이 또 부탁드려요.
누적했을경우 합 10틱(평단가에서10틱) 청산수식 추가 부탁합니다.
2계약누적일 경우 20틱이 청산 되겠지요.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식부탁합니다
> 안녕하세요
예스스탁입니다.
Input : Period(20), MultiD(2);
var : BBmd(0),BBup(0),BBdn(0);
BBmd = ma(C,Period);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
if CrossDown(c,bbup) Then
sell();
SetStopProfittarget(PriceScale*10,PointStop);
SetStopLoss(PriceScale*10,PointStop);
즐거운 하루되세요
> 묵연히 님이 쓴 글입니다.
> 제목 : 수식부탁합니다
> 안녕하세요.
볼린저벤드
이평 : 20 시그마 : 2 이고요
상단선 < 이전종가 상단선 > 현재종가 일때
매도신호 , 청산은 10틱입니다.
시스템식 부탁합니다. 감사합니다.
2018-06-05
233
글번호 119515
답변완료
수정 부탁 합니다.
Input : shortPeriod(2), longPeriod(20);
Var : value1(0), value2(0),OSCPv(0);
value1 = ema(C, shortPeriod);
value2 = ema(C, longPeriod);
OSCPv = (value1 - value2) / value1 * 100;
If CrossUP(OSCPv, 0.1) and C > value1[26] and C > value2[26]
Then
Buy();
If CrossDown(OSCPv,0.1) and C < value1[26] and C < value2[26]
Then
Sell();
위수식에서 문제가있어서 2일 이평선은 없이 20일 이평선 하나만으로
후행스팬 상향돌파시매수
매도반대
부탁합니다.
감사합니다.
2018-06-05
231
글번호 119514