커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1645
글번호 230811
처음처럼22 님에 의해서 삭제되었습니다.
2021-08-04
0
글번호 151296
답변완료
지표
안~녕하세요
항상감사합니다.
1]옵션 만기 다음날부터~옵션만기일까지의 고가와 저가 중심 시가 종가 표시 지표로 가능한가요
ex) 기간)20210611~20210708 시고저중종
2]선물옵션동시만기 만기 다음날부터~선물동시옵션만기일까지의 고가와 저가 중심 시가 고가 표시 지표로 가능한가요
ex) 기간)20210312~20210610 시고저중종
3]일봉수식
4]일봉수식을 분봉에 적용수식
2021-08-04
1279
글번호 151295
답변완료
시스템 작성의뢰
Input : Period1(1), Period2(3), Period3(30), Period4(60), Period5(120),period6(240),Period7(480), Period8(960), Period9(1920), Period10(3840),period11(7680);
var : Sma1(0),Sma2(0),Sma3(0),Sma4(0),Sma5(0),sma6(0),Sma7(0),Sma8(0),Sma9(0),Sma10(0),sma11(0),OBVV(0),PositiveVolumeIndex(0),dpo(0);
Sma1 = ma(C,Period1);
Sma2 = ma(C,Period2);
Sma3 = ma(C,Period3);
Sma4 = ma(C,Period4);
Sma5 = ma(C,Period5);
sma6 = ma(c,period6);
Sma7 = ma(C,Period7);
Sma8 = ma(C,Period8);
Sma9 = ma(C,Period9);
Sma10 = ma(C,Period10);
sma11 = ma(c,period11);
input : startdate(20210104),starttime(143000),매매횟수(0);
var : Period(5),period12(3), StoK(0),StoD(0), TL1(0), TL2(0), TLi1(0), TLi2(0), TX1(0), TX2(0), TX3(0), TX4(0), TX5(0), TX6(0);
var : entry(0);
if StoK > StoK[1] and StoK[1] < StoK[2] and StoK < 50 then { //스토캐스틱 상승반전
var1 = StoK[1];
var2 = var1[1];
var3 = L[1];
var4 = var3[1];
var5 = sdate[1];
var6 = var5[1];
var7 = stime[1];
var8 = var7[1];
if var1 > var2 and var3 < var4 and Condition1 == true then
if sDate >= Startdate and sTime >= Starttime Then
{
Condition1 = true;
entry = 0;
}
if Condition1 == true and
((MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1])) Then
entry = entry+1;
StoK = StochasticsK(Period,Period2);
StoD = StochasticsD(Period,Period2,Period12);
if StoK > StoK[1] and StoK[1] < StoK[2] and StoK < 50 then { //스토캐스틱 상승반전
var1 = StoK[1];
var2 = var1[1];
var3 = L[1];
var4 = var3[1];
var5 = sdate[1];
var6 = var5[1];
var7 = stime[1];
var8 = var7[1];
if var1 > var2 and var3 < var4 and Condition1 == true then
{
if (MarketPosition == 0 or (MarketPosition == 1 and C < LatestEntryPrice(0))) and
(매매횟수 == 0 or (매매횟수 > 0 and entry < 매매횟수)) and sma1 < sma5 -pricescale*5 Then
Buy();
}
}
if StoK < StoK[1] and StoK[1] > StoK[2] and StoK > 50 then {//스토캐스틱 하락반전
var11 = StoK[1];
var12 = var11[1];
var13 = H[1];
var14 = var13[1];
var15 = sdate[1];
var16 = var15[1];
var17 = stime[1];
var18 = var17[1];
if var11 < var12 and var13 > var14 and C > AvgEntryPrice and Condition1 == true then //지표값은 낮아지고 저(종)가는 높아지고
ExitLong("+");
}
수고 하십니다 !
검증이 안되고요 , 매수 수식만 되는데 매도수식 도
부탁 드립니다 !
수고 하세요 !!!
2021-08-04
1162
글번호 151294
답변완료
검색
> 안녕하세요
항상감사합니다.
A]고+저가삼각가중 100
B]고가가중100
C]저가가중100
D]마디고점
E]마디저점
-------------------------------------------------
1] A가 B 의 가격과 동일하거나/ B의 가격보다 낮으면 매도신호[-0.05]
2] A가 C 가격과 동일하거나/ C 가격보다 높으면 매수신호 [+0.05]
3] D의 가격과 동일하거나/ D 가격보다 낮으면 매도신호
4] A가 E의 가격과 동일하거나/ E가격보다 높으면 매수신호
*마디고점과 마디저점의 자체 수식에서 신호표시가 있읍니다
3]4]에서 조건이 만족할때 만 신호표시가 나올 수 있을까요?
*수식이 이해가 가셨다면 수식표시 아이콘가 캔들과의 간견차이가 10정도차이나면합니다
---------------------------------------------------------------------------------
D]마디고점
var : T(0),LL(0),Li(0);
#고가 상승구간이면 1
if H > H[1] Then
T = 1;
#고가 하락구간이면 -1
if H < H[1] Then
T = -1;
#고가 하락반전발생
if T == -1 and T[1] != -1 Then
{
#최저가 초기값 저장
LL = L;
#최저가봉 봉번호
Li = index;
#발생을 알기위한 변수
Condition1 = true;
}
#하락반전 이후
if Condition1 == true then
{
#최저가 갱신
if L < LL Then
{
LL = L;
Li = index;
}
#최저가봉 이후에 전봉고가보다 크고 저가는 최저가 이상이면 매도
if index > Li and H > H[1] and L >= LL Then
{
Condition1 = false;
plot1(L,"검색",CYAN);
}
}
--------------------------------------------------------------------------------------
E]마디저점
var : S(0),HH(0),Hi(0);
#저가 상승구간이면 1
if L > L[1] Then
S = 1;
#저가 하락구간이면 -1
if L < L[1] Then
S = -1;
#저가 상승반전발생
if S == 1 and S[1] != 1 Then
{
#최고가 초기값 저장
HH = H;
#최고가봉 봉번호
Hi = index;
#발생을 알기위한 변수
Condition2 = true;
}
#상승반전 이후
if Condition2 == true then
{
#최고가 갱신
if H > HH Then
{
HH = H;
Hi = index;
}
#최고가봉 이후에 전봉저가보다 작고 고가는 최고가 이하이면 매수
if index > Hi and L < L[1] and H <= HH Then
{
Condition2 = false;
plot2(H,"검색",white);
}
}
--------------------------------------------------------------------------------
2021-08-03
1109
글번호 151293
답변완료
시스템식 문의 드립니다.
예전에 분봉에서 일봉상 이평선을 터치했을때 매수 하는
시스템식을 도식화해서 요청드린 사람입니다
벌써 똑같은 식으로 3번이나 질문하네요..
죄송합니다...ㅜ.ㅜ
이정도 실력도 없는 제 자신이 한심스럽네요..ㅜ.ㅜ
기존식에서 추가되는 조건이 생겨서 이리저리
수정을 해봤는데..잘안되어서 또 요청드리게 되었습니다.
새로 추가되는 조건은
1차 매수를 했던, 2차 매수까지 진행되었던건 간에
매수한지 2일차 13:00 가 되면.. 익절 퍼센트를 2% (변수 익절3) 로 수정되는식으로
조건을 추가하고 싶습니다.
예) 8/3일에 1차매수.. 8/3일 2차매수 ==> 익절타점5%가 안오고 횡보하는경우
8/4일 13:00 이후에 익절타점이 2%으로 변경
8/3일에 1차매수.. 8/4일 2차매수 ==> 익절타점5%가 안오고 횡보하는경우
8/4일 13:00 이후에 익절타점이 2%으로 변경
8/3일에 1차매수.. ==> 익절타점5%가 안오고 횡보하는경우
8/4일 13:00 이후에 익절타점이 2%으로 변경
xdate 와 xtime으로 만들어볼려고 이리지리 해봤는데.. 잘안됩니다..ㅜ.ㅜ
매번 감사하고 죄송하네요
요청드렸던 식 다시 올려드립니다.
------------------------------------------------------------------------
input : N(10),금액1(10000000),금액2(10000000);
input : 추가진입(-3),익절1(5),익절2(5),손절(-3);
input : Xdate(3),Xtime(110000);
var : cnt(0),sum(0),mav(0),DD(0);
sum = 0;
For cnt = 0 to N-1
{
sum = sum + DayClose(cnt);
}
mav = sum/N;
if Bdate != Bdate[1] Then
{
DD = DD+1;
Condition1 = False;
}
if MarketPosition == 0 and TotalTrades > TotalTrades[1] Then
Condition1 = true;
if Condition1 == False and MarketPosition == 0 and L > mav Then
Buy("b1",AtLimit,mav,Floor(금액1/min(NextBarOpen,mav)));
if MarketPosition == 1 Then
{
if DD == DD[BarsSinceEntry]+Xdate and sTime == xtime Then
{
Condition1 = true;
ExitLong("bx");
}
if MaxEntries == 1 and Condition1 == False Then
{
Buy("b2",AtLimit,LatestEntryPrice(0)*(1+추가진입/100),Floor(금액2/min(NextBarOpen,LatestEntryPrice(0)*(1+추가진입/100))));
ExitLong("Bp1",AtLimit,avgEntryPrice*(1+익절1/100));
}
if MaxEntries == 2 Then
{
ExitLong("Bp2",AtLimit,avgEntryPrice*(1+익절2/100));
ExitLong("Bl",AtStop,avgEntryPrice*(1+손절/100));
}
}
2021-08-03
938
글번호 151292
답변완료
barssinceentry 문의드립니다.
수고가 많으십니다!
barssinceentry를 그냥 사용하는 것과
barssinceentry+1 의 차이를 잘 모르겠습니다
뒤에 +1이 의미하는 것이 뭘까요 ?
혹시 몰라 코딩내역을 참조합니다.
#5분봉 전략
Input : Gapup(0.6), GapDown(0.1), Losslimit(3.1),ATR_Period(5), Mult(4.5);
If sDate != sDate[1] Then #현재봉의 사작날짜와 이전봉의 시작 날짜가 다르면~ 그날의 첫봉임을 알 수 있다
{
If O > C[1] * (1+Gapup/100) Then
{ if C >= O Then
Buy("Gap-Run 매수", AtStop, C);
Else
Sell("Gap-Fill 매도", AtStop, C);
}
If O < C[1] * (1-Gapdown/100) Then
{ if C >= O Then
Buy("Gap-Fill 매수", AtStop, C);
Else
Sell("Gap-Run 매도", AtStop, C);
}
}
var1 = Highest(H,BarsSinceEntry+1)-ATR(ATR_Period)*Mult;
Var2 = Lowest(L,BarsSinceEntry+1)+ATR(ATR_Period)*Mult;
if MarketPosition != 0 Then {
ExitLong("매수청산",AtStop,Var1);
ExitShort("매도청산",AtStop,Var2);
}
SetStopLoss(Losslimit,PercentStop);
2021-08-03
832
글번호 151291
답변완료
도움 부탁드립니다
안녕하세요 항상 도와주셔서 감사합니다.
예전에 특정 조건 만족후 완성되는 봉의 고가 및 저가 값을 불러와서 쓰고 싶다고 했었는데,
Input : Period(9);
var : RSIV(0);
RSIV = RSI(Period);
if CrossUp(RSIV,20) Then
{
var1 = h;
Var2 = L;
Var3 = v;
}
라고 식을 적어주셨었습니다. 제 질문은
'가장 최근에 RSI 가 20아래에서 있다가 올라왔을 때의 해당 봉의 고가와 저가 및 볼륨. 만약에 다른 봉이 생기고 또 RSI가 20아래로 내려갔다가 다시 올라오면 해당 봉의 고가 저가 및 볼륨 값은 다시 최근 해당 봉으로 갱신'
였었구요.
적어주신 식으로 할 경우, 봉이 계속 생기면서 var1 값이 계속 새로운 봉의 고가로 갱신되더라구요. 전 해당 갱신 값이 아니라 특정 조건을 만족했을때 생성된 봉의 값을 저장해서 쓰고 싶습니다. 어떻게해야하나요?
2021-08-03
749
글번호 151289
답변완료
확인 좀 부탁드립니다!
안녕하세요!
지난번에 만들어 주신 수식인데 챠트에서 선이 나타나지 않습니다!
혹시 수식에 문제가 있는지 확인 좀 부탁드립니다!
Data1은 콜옵션이고, Data2 ~Data8은 풋옵션 입니다!
콜과 풋의 각각의 합산가격 / 2를 선으로 나타내는 수식입니다!
감사합니다!
var : v1(0,Data1),v2(0,Data1),v3(0,Data1),v4(0,Data1);
var : v5(0,Data1),v6(0,Data1),v7(0,Data1);
#(Data1+Data2)/2;
v1 = (Data1(c)+Data2(c))/2;
#(Data1+Data3)/2;
v2 = (Data1(c)+Data3(c))/2;
#(Data1+Data4)/2;
v3 = (Data1(c)+Data4(c))/2;
#(Data1+Data5)/2;
v4 = (Data1(c)+Data5(c))/2;
#(Data1+Data6)/2;
v5 = (Data1(c)+Data6(c))/2;
#(Data1+Data7)/2;
v6 = (Data1(c)+Data7(c))/2;
#(Data1+Data8)/2;
v7 = (Data1(c)+Data8(c))/2;
if CurrentDate == sDate Then
{
Plot1(V1,"(d1+d2)/2");
Plot2(V2,"(d1+d3)/2");
Plot3(V3,"(d1+d4)/2");
Plot4(V4,"(d1+d5)/2");
Plot5(V5,"(d1+d6)/2");
Plot6(V6,"(d1+d7)/2");
Plot7(V7,"(d1+d8)/2");
}
2021-08-04
745
글번호 151288
답변완료
문의 드립니다
아래 수식으로 종목 검색 부탁드립니다
A = (highest(high,9)+lowest(low,9))/2;
Lowest(A(1), 26) >= A
수고하세요
2021-08-03
1003
글번호 151283