커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1705
글번호 230811
답변완료
추가 수정 부탁드립니다.
● 77666번 2번 항목 수식에 대한 추가수식 수정 요청드립니다.
2. 5,10,20이평선 3개 동시 기울기가 상승시 매수하고
매수유지중 봉이 10이평 아래에서 50%이상 몸통이
음봉 종가완성시 매수청산
▶{60이평선 위에서만 매수, 청산만 되도록 수정 요청}
5,10,20이평선 3개 동시 기울기가 하락시 매도하고
매도유지중 봉이 10이평 위에서 50%이상 몸통이
양봉 종가완성시 매도청산
▶{60이평선 아래에서만 매도, 청산만 되도록 수정 요청}
매번 노고에 감사드립니다.
2
input : P1(5),P2(10),P3(20);
var1 = ma(C,P1);
var2 = ma(C,P2);
var3 = ma(C,P3);
if MarketPosition <= 0 and var1 > var1[1] and var2 > Var2[1] and Var3 > Var3[1] Then
Buy();
if MarketPosition == 1 Then
{
if C < O and (C+O)/2 < Var2 Then
ExitLong();
}
if MarketPosition >= 0 and var1 < var1[1] and var2 < Var2[1] and Var3 < Var3[1] Then
Sell();
if MarketPosition == -1 Then
{
if C > O and (C+O)/2 > Var2 Then
ExitShort();
}
2022-06-15
1292
글번호 159882
답변완료
등가 수식변경
늘 감사합니다.
아래의 수식을 수정해 주세요
1. data2용으로 바꾸어 주세요
2. 텍스트는 지워 주세요
3. 선의 굵기와 색상은 수동으로 지정하고 싶어요
------------
var : cnt(0),TL(0),TX(0);
Array : HTL[100](0),LTL[100](0);
Array : HTX[100](0),LTX[100](0);
if Index == 1 or Bdate != Bdate[1] Then
{
var1 = Floor(DayOpen/2.5)*2.5;
TL_Delete(TL);
TL = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1);
TL_SetExtLeft(TL,true);
TL_SetExtRight(TL,true);
TL_SetSize(TL,1);
Text_Delete(TX);
TX = Text_New(NextBarSdate,NextBarStime,var1,NumToStr(var1,2));
Text_SetStyle(tx,0,1);
For cnt = 1 to 49
{
TL_Delete(HTL[cnt]);
TL_Delete(LTL[cnt]);
value1 = var1+1.25*cnt;
value2 = var1-1.25*cnt;
HTL[cnt] = TL_New(sDate,sTime,value1,NextBarSdate,NextBarStime,Value1);
LTL[cnt] = TL_New(sDate,sTime,value2,NextBarSdate,NextBarStime,Value2);
TL_SetExtLeft(HTL[cnt],true);
TL_SetExtRight(HTL[cnt],true);
TL_SetExtLeft(LTL[cnt],true);
TL_SetExtRight(LTL[cnt],true);
if cnt%2 == 0 Then
{
TL_SetSize(HTL[cnt],1);
TL_SetSize(LTL[cnt],1);
TL_SetColor(HTL[cnt],Maroon);
TL_SetColor(HTL[cnt],Maroon);
}
Else
{
TL_SetSize(HTL[cnt],0);
TL_SetSize(LTL[cnt],0);
TL_SetColor(HTL[cnt],Orange);
TL_SetColor(HTL[cnt],Orange);
}
Text_Delete(HTX[cnt]);
Text_Delete(LTX[cnt]);
HTX[cnt] = Text_New(NextBarSdate,NextBarStime,Value1,NumToStr(value1,2));
LTX[cnt] = Text_New(NextBarSdate,NextBarStime,Value2,NumToStr(value2,2));
Text_SetStyle(HTX[cnt],0,1);
Text_SetStyle(LTX[cnt],0,1);
}
}
Else
{
Text_SetLocation(TX,NextBarSdate,NextBarStime,var1);
For cnt = 1 to 49
{
value1 = var1+1.25*cnt;
value2 = var1-1.25*cnt;
Text_SetLocation(HTL[cnt],NextBarSdate,NextBarStime,value1);
Text_SetLocation(LTL[cnt],NextBarSdate,NextBarStime,value2);
}
}
감사합니다.
2022-06-15
1237
글번호 159881
답변완료
수식부탁드립니다
매수조건이 2개일 경우 수식과
If A Then
Buy(A,OnClose,Def,2);
또는 A` Then
Buy(A`,OnClose,Def,2);
매매가 종료되면 진입 금지 수식 부탁 드립니다
2022-06-15
1334
글번호 159880
답변완료
Re : Re : 추가 수식부탁드립니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식부탁드립니다
>
안녕하세요
예스스탁입니다.
If A Then
Buy(A,OnClose,Def,2);
if MarketPosition == 1 Then
{
If B Then
ExitLong(B,OnClose,Def,"",1,2);
If CurrentContracts < MaxContracts and C Then
ExitLong(C,OnClose,Def,"",1,1);
}
하나의 청산함수는 기본적으로 진입당 1번만 발생합니다.
청산함수의 옵션 중 마지막 옵션의 값을 2로 지정하면
하나의 청산함수가 여러번 동작하게 설정하는 기능입니다.
B청산은 조건만족하면 2번 발생가능해야 하므로 옵션을 2로 지정해 주시면 되고
C청산은 B청산으로 한번 청산 후에 나와야 하므로
CurrentContracts < MaxContracts 조건을 추가하고 수량은 1로 수량옵션은 1로 지정해 주시면 됩니다.
만약 C청산은 B청산과 관계없이 만족하면 전량 청산이면
아래와 같이 지정하시면 됩니다. 청산함수에 수량을 지정하지 않으면 전량청산입니다.
if MarketPosition == 1 Then
{
If B Then
ExitLong(B,OnClose,Def,"",1,2);
If C Then
ExitLong(C);
}
즐거운 하루되세요
> aksnfska 님이 쓴 글입니다.
> 제목 : 수식부탁드립니다
> A 조건으로 2 계약을 매수하고 1 계약을 B 조건으로 매도
나머지 1 계약은 C 조건으로 매도 청산,,,
그런데 C조건에 다다르지 못해서 1 계약은 손절 아니면 B조건으로 청산?
If A Then
Buy(A,OnClose,Def,2);
If B Then
ExitLong(B,OnClose,Def,"",1,2);
If C Then
ExitLong(C,OnClose,Def,"",2,2);
C 가 안되었을 때 중간에 청산하는 수식
그럼 여기에서 추가로 매수 조건이 2개 ,,,,
If A Then
Buy(A,OnClose,Def,2);
또는 A` Then
Buy(A`,OnClose,Def,2);
매매가 종료가 진입 금지 수식 부탁 드립니다
2022-06-15
1433
글번호 159877
답변완료
수식 문의
항상 도움 주셔서 감사드립니다.
아래의 지표에 표현되는
plot선을,
iput 에서 지정한 봉갯수만큼만 점으로 표현되도록
수정하고 싶습니다.
부탁드립니다. 감사합니다.
input : StartTime(90000),EndTime(65000);
Input:n(20);
var : Tcond(false),cnt(0);
Var:j(0),HH1(0),HH2(0),HH3(0),HH4(0),
LL1(0),LL2(0),LL3(0),LL4(0),
sumOH(0),sumOL(0),sumO(0),sumH(0),sumL(0),sumO²(0),sumH²(0),sumL²(0);
Array : OO[100](0),HH[100](0),LL[100](0);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
For cnt = 99 downto 1
{
OO[cnt] = OO[cnt-1];
HH[cnt] = HH[cnt-1];
LL[cnt] = LL[cnt-1];
}
OO[0] = O;
HH[0] = H;
LL[0] = L;
sumOH = 0;
sumOL = 0;
sumO = 0;
sumH = 0;
sumL = 0;
sumO² = 0;
sumH² = 0;
sumL² = 0;
for j = 1 to n
{
sumOH = sumOH + OO[j]*HH[j];
sumOL = sumOL + OO[j]*LL[j];
sumO = sumO + OO[j];
sumH = sumH + HH[j];
sumL = sumL + LL[j];
sumO² = sumO² + OO[j]^2;
sumH² = sumH² + HH[j]^2;
sumL² = sumL² + LL[j]^2;
}
HH1 = (n*sumOH - sumO*sumH) / (n*sumO²- sumO^2);
HH2 = (sumH*sumO² - sumO*sumOH) / (n*sumO² - sumO^2);
LL1 = (n*sumOL - sumO*sumL) / (n*sumO² - sumO^2);
LL2 = (sumL*sumO² - sumO*sumOL) / (n*sumO² - sumO^2);
HH3 = HH1 * OO[0] + HH2;
LL3 = LL1 * OO[0] + LL2;
HH4 = sqrt((1/(n*(n-2))) * (n*sumH² - sumH^2 -
((n*sumOH - sumO*sumH)^2 / (n*sumO² - sumO^2))));
LL4 = sqrt((1/(n*(n-2))) * (n*sumL² - sumL^2 -
((n*sumOL - sumO*sumL)^2 / (n*sumO² - sumO^2))));
}
if Tcond == true Then
{
if HH[0] > 0 and H > HH[0] Then
HH[0] = H;
if LL[0] > 0 and L < LL[0] Then
LL[0] = L;
}
plot1(HH3 + 1.68 * HH1);
plot2(HH3 - 1.68 * HH1);
plot3(LL3 + 1.68 * LL1);
plot4(LL3 - 1.68 * LL1);
2022-06-15
1244
글번호 159870
답변완료
해외선물 지표 - 재질문 드립니다
안녕하세요.
항상 수고 많으십니다.
------------------------ 질문입니다 ---------------
[5분봉 기준]
밑에 글의 질문에 대한 답변으로 아래와 같은 답변을 받았습니다.
var : 다우전일종가(0,Data1);
var : 다우등락(0,Data1);
var : 나스닥전일종가(0, Data2);
var : 나스닥등락(0, Data2);
var : 페어링(0, Data1);
if Data1(Bdate != Bdate[1]) Then
다우전일종가 = Data1(C[1]);
if Data2(Bdate != Bdate[1]) Then
나스닥전일종가 = Data2(C[1]);
if 다우전일종가 > 0 and 나스닥전일종가 > 0 Then
{
다우등락 = data1(C) - 다우전일종가;
나스닥등락 = data2(C)- 나스닥전일종가;
페어링 = 다우등락 - 나스닥등락;
if 페어링 >= 페어링[1] Then
Plot1(페어링, "페어링", REd);
if 페어링 < 페어링[1] Then
Plot1(페어링, "페어링", BLUe);
}
하지만, 결과값이 다르게 나옵니다.
예를 들어 다시 질문드립니다.
다우전일종가 : 1000 금일 다우 현재가 : 990
나스닥전일종가 : 500 금일 나스닥현재가 : 450
따라서, 다우등락 = (990 - 1000) = -10
나스닥등락 = (450 - 500) = -50
그러므로 페어링 = -10 - (-50) = 40 이 되어야 하는데요
위 수식으로는 다른 값이 나옵니다.
수정 부탁드립니다
감사합니다.
오늘도 좋은 하루 되시길 ~~~
.
2022-06-15
1312
글번호 159866
답변완료
함수요청
안녕하세요?
아래글번호 77658번, 77656번 재질문입니다.
(통합하여 한개의 스트립트로 적용하고 싶습니다. 써머타임 적용하여 특정시간대에만 진입하고 싶습니다. 아울러 논리상 진입봉에서 청산이 되면 안됩니다.)
///////////////////////////////////////////////////////////////////////////////////
나스닥 1분봉으로 일중거래를 하고 싶습니다.
#써머타임 적용시
진입기준으로 15시~20시에만 1회 신호를 생성하되,
data2, data3, data4값이 전일 대비 모두 0.1% 이상 하락하면 매수, 모두 하락하면 매도
진입하고 1개 이상 참조 값이 반전되면 청산하고자 합니다.
즉 매수 진입 후, 전일대비 data2, data3, data4 중 한개라도 전일 대비 상승하면 매수 청산
/ 매도 진입 후, 전일대비 data2, data3, data4 중 한개라도 전일 대비 하락하면 매도 청산
봉완성 익봉시가로 진입과 청산합니다.
#써머타임 해지시
진입기준으로 16시~21시에만 1회 신호를 생성하되,
data2, data3, data4값이 전일 대비 모두 0.1% 이상 하락하면 매수, 모두 하락하면 매도
진입하고 1개 이상 참조 값이 반전되면 청산하고자 합니다.
즉 매수 진입 후, 전일대비 data2, data3, data4 중 한개라도 전일 대비 상승하면 매수 청산
/ 매도 진입 후, 전일대비 data2, data3, data4 중 한개라도 전일 대비 하락하면 매도 청산
봉완성 익봉시가로 진입과 청산합니다.
2022-06-15
1551
글번호 159865
답변완료
문의드립니다
2가지 질문입니다
1. 특정일이후 양봉과 음봉.. 각각의 누적갯수를 나타내는 지표식 부탁드립니다
양봉의 누적갯수
음봉의 누적갯수
2. 당일용으로 당일의 첫번째봉의 고저라인을 표시하는 식 부탁드립니다
감사합니다
2022-06-15
1319
글번호 159864
답변완료
선하나 요청 드립니다.
더은 ㄴ날씨에 고생 많습니다.
요청 사항: 100봉전 최저가 와 직전봉(h[1]) 연결된 선 하나만 부탁 드립니다.
즉 100봉전 최저가가 높으면 직선은 아래롤 향햐고(45도 아래)
100봉전 최저가가 낮으면 직선은 위로 향하게 말입니다.(45도 위)
* 고맙 습니다. 수고하십시요.
2022-06-15
1176
글번호 159863