커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6142
글번호 230811
답변완료
수식부탁드립니다
매수조건이 2개일 경우 수식과
If A Then
Buy(A,OnClose,Def,2);
또는 A` Then
Buy(A`,OnClose,Def,2);
매매가 종료되면 진입 금지 수식 부탁 드립니다
2022-06-15
1388
글번호 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
1492
글번호 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
1320
글번호 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
1368
글번호 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
1619
글번호 159865
답변완료
문의드립니다
2가지 질문입니다
1. 특정일이후 양봉과 음봉.. 각각의 누적갯수를 나타내는 지표식 부탁드립니다
양봉의 누적갯수
음봉의 누적갯수
2. 당일용으로 당일의 첫번째봉의 고저라인을 표시하는 식 부탁드립니다
감사합니다
2022-06-15
1367
글번호 159864
답변완료
선하나 요청 드립니다.
더은 ㄴ날씨에 고생 많습니다.
요청 사항: 100봉전 최저가 와 직전봉(h[1]) 연결된 선 하나만 부탁 드립니다.
즉 100봉전 최저가가 높으면 직선은 아래롤 향햐고(45도 아래)
100봉전 최저가가 낮으면 직선은 위로 향하게 말입니다.(45도 위)
* 고맙 습니다. 수고하십시요.
2022-06-15
1234
글번호 159863
답변완료
수동 매도후 신호 문의
안녕하세요
국내 주식을 하고 있는데요
가끔 자동매매에서 매도 신호를 못받고 그냥 지나치는 경우가 있는데요
이때 수동으로 매도를 직접하면 , 자동프로그램에서는 인식을 못하나요?
만약 수동으로 매도를 햇을때 신호를 인식하는 방법은 없을까요?
2022-06-15
1206
글번호 159859
답변완료
수식부탁드려요
1.지표> 5이평선이 20이평선을 상향돌파후에 20이평선 위에서 5이평선이 상승전환할때마다
상승횟수, 하락전환할때마다 하락횟수를 연번으로 수자표시되게 수식 부탁합니다.
여기서 5이평선이 20이평선을
하향이탈하게 되면 상승횟수/하락횟수는 0이되고 다시 돌파하게 되면 새로이
카운팅되어야 함
종목검색> 5이평선이 20이평선을 골드크로스한 후 상승추세이다가 하락전환한후
20이평선 위에서 상승전환하는 종목 검색(데드크로스가 없어야 함, 종가상 또는
봉상으로는 20이평선을 이탈해도 되나 5이평선은 이탈하면 안됨)
상승전환 = 5이평선이 연속 3회이상 하락추세이다가 상승추세로 전환 된것이고
하락전환 = 5이평선이 연속 3회이상 상승추세이다가 하락추세로 전환 된것임
2.지표> 5이평선이 20이평선을 하향이탈한후에 20이평선 아래에서 5이평선이 상승전환
할때마다 상승횟수, 하락전환할때 하락횟수를 연번으로 수자표시되게 수식부탁합니다.
여기서 5이평선이 20이평선을
상향돌파하게 되면 상승횟수/하락횟수는 0이되고 다시 이탈하게 되면 새로이
카운팅되어야 함
종목검색> 5이평선이 20이평선을 데드크로스한 후 하락추세이다가 상승전환한후
20이평선 아래에서 상승전환횟수가 2회이상이면서 이격율이 줄이던 종목 검색
(골드크로스가 없어야 함, 종가상 또는
봉상으로는 20이평선을 돌파해도 되나 5이평선이 20이평선을 상향돌파하면 안됨)
또한 이겨율은 20이평선 아래에서 5이평선이 첫번째 상승전환할때와 두번째(N번째)
상승전환할때에 20이평선과 전환시점 봉의 시가와의 이격율을 비교하여야 한다
2022-06-15
1317
글번호 159858