커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1790
글번호 230811
답변완료
지표식 문의 드립니다.
안녕하세요,,,
해외선물에서 data2 차트의 당일의 최고가와 최저가 차이를 구하는 식좀 알려주세요,,
해외선물의 개장은 한국시간으로 아침 8시인데, 장마감이 다음날 아침7시라서,
어떻게 해야하는지를 모르겠어요,,
부탁드립니다...
감사합니다...
2020-11-17
744
글번호 143959
답변완료
문의
아래는 max 2개 까지 피라미딩하는 수식입니다.
피라미딩으로 2개 진입이 완성된 후
첫번째 진입한 것은 진입가격에서 2포인트 상승하면 익절
두번째 진입한 것은 진입가격에서 4포인트 상승하면 익절
수식을 요청합니다.
********************************************************************************
input : 시간1(090000),시간2(143000),상승(1.70);
input : uppyra검증(1.30),상승pyra(0.00),상승N(2);
var : C2(0,data2),entry(false,data2);
C2 = data2(C);
if data2(Bdate != Bdate[1]) Then
entry = false;
if data2(stime >= 시간1 and stime < 시간2) then{
if entry == false and data2(Bdate == Bdate[1] and HighD(0) > HighD(0)[1] and HighD(0)-LowD(0) >= 상승) Then{
entry = true;
buy("b");
}
}
if C >= EntryPrice+uppyra검증 and MaxContracts < 상승N Then
buy("bb1",AtStop,LatestEntryPrice(0)+상승Pyra);
2020-11-17
672
글번호 143958
답변완료
지표 질문입니다
1.
당일 고가에서 당일 저가를 뺀 차이값을 당일 고가 위에 글자로 표시
당일 고가와 당일 저가의 차이를 당일 고가에 더한 값을 당일 고가 위에 글자로 표시
당일 고가와 당일 저가의 차이를 당일 저가에 뺀 값을 당일 저가 아래에 글자로 표시
2.
오전9시부터 오전 10시까지 당일 고가에서 1.0 하락한 위치를 표시한다
감사합니다
2020-11-17
652
글번호 143957
답변완료
문의드립니다
1)틱수를 가지고 피보나치처럼 표현을 해볼까 하는데가능할지 .. 전일종가기준으로해서 + 500틱을고점으로잡고-500틱을저점으로 잡고해서 +250틱이중심선이되고-250틱이중심선이되고
+중심선으로표현 -중심선으로표현 해서 50프로만 수평선으로위.아래두개선이 나오게 하고십습니다 ,
var1 = dayhigh;
var2 = daylow;
var3 = var1-var2;
plot1(var1-var3*0.236);
plot2(var1-var3*0.50);
plot3(var1-var3*0.764);
위수식을 응용하여 가능하다면 부탁드리겠습니다~항상감사드립니다
2)if C >= dayopen+PriceScale*1 Then
PlotPaintBar(H,L,"강조",RED);
if C <= dayopen-PriceScale*1 Then
PlotPaintBar(H,L,"강조",LMAGENTA);
시가기준강조를 지표식으로 수정부탁합니다~~
3)Input:length(5);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),Text1(0),처리구분(""),
TL_Val1(0),TL_Val2(0);
Var:TL11(0),TL12(0),TL13(0),TL14(0),TL15(0),TL16(0),TL17(0),TL18(0),TL19(0),TL20(0);
Var:TL21(0),TL22(0),TL23(0),TL24(0),TL25(0),TL26(0),TL27(0),TL28(0),TL29(0),TL30(0),mav(0),T(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;
TL_Delete(TL1);
TL_Delete(TL2);
TL_Delete(TL3);
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
Text_Delete(Text1);
If 고점[3,1][1] < 고점[2,1][1] and 고점[2,1][1] > 고점[1,1][1]and 저점[2,1][1] < 저점[1,1][1] Then
{
TL_Delete(TL2);
TL_Delete(TL3);
}
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
TL2 = TL_New(sDate[eBar+1],sTime[eBar+1],고점[1,1]+ PriceScale*1,sDate[eBar],sTime[eBar],고점[1,1]+PriceScale*1);
TL3 = TL_New(sDate[eBar+1],sTime[eBar+1],고점[1,1]+ PriceScale*40,sDate[eBar],sTime[eBar],고점[1,1]+PriceScale*40);
TL_SetExtRight(Tl2,true);
TL_SetColor(Tl2,CYAN);
TL_SetSize(TL2,2);
TL_SetExtRight(Tl3,true);
TL_SetColor(Tl3,CYAN);
TL_SetSize(TL3,2);
TL_SetColor(TL1,BLACK);
TL_SetSize(TL1,0);
If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then
{
sBar = Index - 저점[2,2];
eBar = Index - 저점[1,2];
}
}
}
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;
TL_Delete(TL1);
TL_Delete(TL2);
TL_Delete(TL3);
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
Text_Delete(Text1);
If 저점[2,1][1] < 저점[1,1][1] and 저점[2,1][1] < 저점[3,1][1] and 고점[2,1][1] > 고점[1,1][1] Then
{
TL_Delete(TL2);
TL_Delete(TL3);
}
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
TL2 = TL_New(sDate[eBar+1],sTime[eBar+1],저점[1,1]- PriceScale*1,sDate[eBar],sTime[eBar],저점[1,1]-PriceScale*1);
TL3 = TL_New(sDate[eBar+1],sTime[eBar+1],저점[1,1]- PriceScale*40,sDate[eBar],sTime[eBar],저점[1,1]-PriceScale*40);
TL_SetExtRight(Tl2,true);
TL_SetColor(Tl2,RED);
TL_SetSize(TL2,2);
TL_SetExtRight(Tl3,true);
TL_SetColor(Tl3,RED);
TL_SetSize(TL3,2);
TL_SetColor(TL1,BLACK);
TL_SetSize(TL1,0);
If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then
{
sBar = Index - 고점[2,2];
eBar = Index - 고점[1,2];
}
}
}
mav = ma(C,20);
지그재그고점과저점을찍을때+40틱씩위아래로 나타나는데 문재는 고점과저점을 조금이라도 돌파하면 거기서추가한만큼 다시+-40틱씩이추가되니까 어려움이 있습니다~~(예를들어 가격이계속상승하여서 40틱수평선을 1틱2틱10틱30틱 즉돌파한틱수가40틱미만이라면 첫번째 수평선은변하지않고계속유지되게끔 그러니까첫번째수평선으로부터 80틱이상이되어야 변하게끔~~80틱미만이라면 첫번쨰수평선은 계속유지되는거죠, 수정부탁드립니다~`항상감사드립니다
2020-11-17
643
글번호 143956
답변완료
문의드립니다
1)var1 = dayhigh;
var2 = daylow;
var3 = var1-var2;
plot1(var1-var3*0.236);
plot2(var1-var3*0.50);
plot3(var1-var3*0.764);
위수식으로전일중십값을 기준으로 피보나치수식을 수정부탁드립니다
2)
Input:length(10),기준일(20201001),파동선두께(2),굵기(2);
Var:j(0),jj(0),jjj(0),최종고가(0),최종저가(0),최종변곡점(""),처리구분(""),
TL1(0),TL2(0),TL3(0);
Array:고[5,4](0),저[5,4](0), // 1:가격, 2:Index, 3:sDate, 4:sTime
역사적고점[5](0),역사적저점[5](0);
#==========================================#
If Index == 0 Then
{
고[1,1] = H;
저[1,1] = L;
}
Condition1 = Highest(H,length) == H and 최종고가 <> H;
Condition2 = Lowest (L,length) == L and 최종저가 <> L;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종변곡점 == "저점" Then 처리구분 = "고점처리"; // 저 - 고 순으로 처리
Else 처리구분 = "저점처리"; // 고 - 저 순으로 처리
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
최종고가 = H; // 신규고점을 체크하기 위해 저장
If 최종변곡점 == "저점" Then
{
For j = 5 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = H;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,BLACK);
TL_Delete(TL2);
TL2 = TL_new(저[3,3],저[3,4],저[3,1],저[1,3],저[1,4],저[1,1]);
TL_SetExtRight(TL2,true);
TL_SetSize(TL2,파동선두께);
TL_SetColor(TL2,YELLOW);
}
Else If 고[1,1] < H Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = H;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
}
If 기준일 <= Date and (역사적고점[1] < 고[1,1] or 역사적고점[1] == 0) Then
{
For jjj = 1 To 4
{
역사적고점[jjj] = 고[1,jjj];
역사적저점[jjj] = 0;
}
}
최종변곡점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
최종저가 = L;
If 최종변곡점 == "고점" then
{
For j = 5 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = L;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,BLACK);
TL_Delete(TL3);
TL3 = TL_new(고[3,3],고[3,4],고[3,1],고[1,3],고[1,4],고[1,1]);
TL_SetExtRight(TL3,true);
TL_SetSize(TL3,파동선두께);
TL_SetColor(TL3,YELLOW);
}
Else If 저[1,1] > L then
{
저[1,1] = L;
저[1,3] = sDate;
저[1,4] = sTime;
저[1,2] = Index;
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
}
If 기준일 <= Date and ( 역사적저점[1] > 저[1,1] or 역사적저점[1] == 0 ) Then
{
For jjj = 1 To 4
{
역사적저점[jjj] = 저[1,jjj];
//역사적고점[jjj] = 0; // 역사적 고점 초기화
}
}
최종변곡점 = "저점";
}
#==========================================#
Var:기울기(0);
Array:fr[7,4](0); // 1:비율, 2:값, 3:라인번호, 4:텍스트번호
If Index == 0 Then
{
fr[1,1] = 0;
fr[2,1] = 0.236;
fr[3,1] = 0.382;
fr[4,1] = 0.50;
fr[5,1] = 0.618;
fr[6,1] = 0.764;
fr[7,1] = 1;
}
If 역사적고점[1] > 0 and 역사적저점[1] > 0 Then
{
If 역사적고점[1][1] != 역사적고점[1] or 역사적저점[1][1] != 역사적저점[1] Then
{
기울기 = (역사적고점[1] - 역사적저점[1]) / (역사적고점[2] - 역사적저점[2]);
for j = 1 to 7
{
If fr[j,3] > 0 Then TL_Delete(fr[j,3]); // 기존의 라인은 지우고
fr[j,2] = 기울기 * fr[j,1] * (index - 역사적고점[2]) + 역사적고점[1]; // 피보나치 비율을 곱해서 계산
fr[j,3] = TL_New(역사적고점[3],역사적고점[4],역사적고점[1],sDate,sTime,fr[j,2]); // 라인을 생성
TL_SetSize(fr[j,3],굵기);
}
}
Else
{
for j = 1 to 7
{
fr[j,2] = 기울기 * fr[j,1] * (index - 역사적고점[2]) + 역사적고점[1];
TL_SetEnd(fr[j,3],sDate,sTime,fr[j,2]);
TL_SetExtRight(fr[j,3],true);
}
}
}
#0%선 색상
TL_SetColor(fr[1,3],MAGENTA);
#23.6%선 색상
TL_SetColor(fr[2,3],GRAY);
#38.2%선 색상
TL_SetColor(fr[3,3],GRAY);
#50.0%선 색상
TL_SetColor(fr[4,3],GREEN);
#61.8%선 색상
TL_SetColor(fr[5,3],GRAY);
#76.4%선 색상
TL_SetColor(fr[6,3],GRAY);
#100%선 색상
TL_SetColor(fr[7,3],CYAN);
피보나치수치테스트출 력값을 원합니다~23.6,50.76.4이세게만 나오게하며,`챠트왼쪽으로나오게부탁드리오며,현재선으로 표현되는것을 점선으로 나오게 수정하고십습니다 ,점선의크기도수치값색상도 조정할수있게부탁드립니다,
2020-11-16
492
글번호 143955
234fsdae 님에 의해서 삭제되었습니다.
2020-11-16
14
글번호 143954
답변완료
문의 드립니다.
안녕하세요
만들어 주신 수식중에 2번은 신호가 나오는데..
1번 수식이 제대로 안나와서 다시 문의 드립니다.
제가 원하는 곳에 신호는
변수 1에서 제일 작은 이평이 변수 3에서 제일 큰이평을 크로스 할때 신호가 나오게 하고 싶습니다.
다시 도움을 요청드립니다.
안녕하세요
예스스탁입니다.
1
Input : Period1(5),Period3(15);
var : LL(0),hh(0);
var1 = ma(C,Period1+0);
var2 = ma(C,Period1+1);
var3 = ma(C,Period1+2);
var4 = ma(C,Period1+3);
var5 = ma(C,Period1+4);
var6 = ma(C,Period1+5);
var7 = ma(C,Period1+6);
var8 = ma(C,Period1+7);
var9 = ma(C,Period1+8);
var10 = ma(C,Period1+9);
var11 = ma(C,Period1+10);
LL = min(var1,Var2,Var3,Var4,Var5,Var6,Var7,Var8,var9,Var10,Var11);
value1 = ma(C,Period3+0);
value2 = ma(C,Period3+1);
value3 = ma(C,Period3+2);
value4 = ma(C,Period3+3);
value5 = ma(C,Period3+4);
value6 = ma(C,Period3+5);
value7 = ma(C,Period3+6);
value8 = ma(C,Period3+7);
value9 = ma(C,Period3+8);
value10 = ma(C,Period3+9);
value11 = ma(C,Period3+10);
HH = max(value1,value2,value3,value4,value5,value6,value7,value8,value9,value10,value11);
if CrossUp(ll,hh) Then
Buy();
if CrossDown(ll,hh) Then
Sell();
2
Input : Period1(5),Period3(15);
var : LL(0),hh(0);
var1 = ma(C,Period1+0);
var2 = ma(C,Period1+1);
var3 = ma(C,Period1+2);
var4 = ma(C,Period1+3);
var5 = ma(C,Period1+4);
var6 = ma(C,Period1+5);
var7 = ma(C,Period1+6);
var8 = ma(C,Period1+7);
var9 = ma(C,Period1+8);
var10 = ma(C,Period1+9);
var11 = ma(C,Period1+10);
Condition1 = var1 > var1[1] and
var2 > var2[1] and
var3 > var3[1] and
var4 > var4[1] and
var5 > var5[1] and
var6 > var6[1] and
var7 > var7[1] and
var8 > var8[1] and
var9 > var9[1] and
var10 > var10[1] and
var11 > var11[1];
Condition2 = var1 <= var1[1] and
var2 <= var2[1] and
var3 <= var3[1] and
var4 <= var4[1] and
var5 <= var5[1] and
var6 <= var6[1] and
var7 <= var7[1] and
var8 <= var8[1] and
var9 <= var9[1] and
var10 <= var10[1] and
var11 <= var11[1];
if Condition1 == true and Condition1[1] == False Then
Buy();
if Condition2 == true and Condition2[1] == False Then
Sell();
즐거운 하루되세요
> 로꼬로꼬 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 안녕하세요
아래 지표를 사용중에 있는데요..
Input : Period(5);
var1 = ma(C,Period+0);
var2 = ma(C,Period+1);
var3 = ma(C,Period+2);
var4 = ma(C,Period+3);
var5 = ma(C,Period+4);
var6 = ma(C,Period+5);
var7 = ma(C,Period+6);
var8 = ma(C,Period+7);
var9 = ma(C,Period+8);
var10 = ma(C,Period+9);
var11 = ma(C,Period+10);
plot1(var1,"이동평균0",iff(var1>var1[1],YELLOW,GREEN));
plot2(var2,"이동평균1",iff(var2>var2[1],YELLOW,GREEN));
plot3(var3,"이동평균2",iff(var3>var3[1],YELLOW,GREEN));
plot4(var4,"이동평균3",iff(var4>var4[1],YELLOW,GREEN));
plot5(var5,"이동평균4",iff(var5>var5[1],YELLOW,GREEN));
plot6(var6,"이동평균5",iff(var6>var6[1],YELLOW,GREEN));
plot7(var7,"이동평균6",iff(var7>var7[1],YELLOW,GREEN));
plot8(var8,"이동평균7",iff(var8>var8[1],YELLOW,GREEN));
plot9(var9,"이동평균8",iff(var9>var9[1],YELLOW,GREEN));
plot10(var10,"이동평균9",iff(var10>var10[1],YELLOW,GREEN));
plot11(var11,"이동평균10",iff(var11>var11[1],YELLOW,GREEN));
이지표를 변수를 조정해서 3개를 사용중입니다.
변수는 1 . 5 . 15
이렇게 사용중입니다.
여기서 1 변수에서 제일 작은 이평과 15 변수에서 제일 큰 이평이 서로 크로스 할때
매수,매도 신호가 나오게 수식좀 만들어 주시면 감사하겠습니다.
그리고요
선색이 노랑색과 연두색인데요...
모든선들이 노랑색으로 변하면 매수 신호
모든선들이 연두색으로 변하면 매도 신호 나오게도 부탁드립니다.
감사합니다.
2020-11-16
415
글번호 143953
pear 님에 의해서 삭제되었습니다.
2020-11-16
0
글번호 143952
답변완료
지표및 검색식문의
현재가가 250일 동안의 최대매물대 가격보다 크다
현재가가 250일 동안의 최대매물대보다 30%가 작다를 나타낼 수 있는 코딩과 그래프에 표시할 수 있는 방법을 문의 합니다
(예를 들어 250일 동안의 최대 매물대가 1000원이라면 현재가가 1000원보다 크거나 700원 이하인 종목을 검색하고 그래프에도 매물대를 표시 하고자 합니다)
제 설명이 부족하거나 혼동을 주었다면 010 2281 7700으로 전화 주시면 다시 설명드리겠습니다
수고해 주세요
2020-11-16
659
글번호 143951