커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1637
글번호 230811
아트정 님에 의해서 삭제되었습니다.
2022-10-30
17
글번호 163314
답변완료
식수정 추가
input : P(10),Nbar(10),T(10);
var : mav(0);
mav = ma(C,P);
if C > O and CrossUp(C,mav) and CountIf(C<=mav-PriceScale*T,Nbar)[1] >= 1 Then
Buy();
if C < O and CrossDown(C,mav) and CountIf(C>=mav+PriceScale*T,Nbar)[1] >= 1 Then
Sell();
안녕하세요
수식수정 부탁드려요
Macd추가
매수.
위식에서 macd 양선일때
매도 macd 음선일때
그리고 청산후 2초 대기후
매수는 청산가격보다 +가격시 현재가 진입
매도는 청산가격보다 _ 가격시 현재가 진입
2022-10-26
828
글번호 163313
답변완료
수식 수정 부탁드립니다.
안녕하세요!
만들어 주신 소중한 수식을 적용해 보니 약간의 문제점이 발생해서 수정을 다시 부탁드립니다.
1. 장시작 후 표시된 양합가격들이 콜,풋 봉챠트와 겹쳐지는 문제점이 발생 합니다.
양합가격 표시들을 우측으로 겹쳐지지 않을 정도로 이동하게끔 수정을 부탁드립니다.
2. 실시간 양합가격(현재가 양합-시가양합)을 1개 추가해 주세요!
예) 0을 기준으로 양합가격이 -이면 "양매도: -0.08" 로 표기(글자색 자동으로 파랑색)
0을 기준으로 양합가격이 +이면 "양매수: +0.08" 로 표기(글자색 자동으로 빨강색)
input: 색상1(Red),색상2(Blue),색상3(Black),색상4(Black);
input: 크기1(12),크기2(12),크기3(12),크기4(12);
var : tx1(0),tx2(0),tx3(0),tx4(0);
Text_Delete(tx1);
Text_Delete(tx2);
Text_Delete(tx3);
Text_Delete(tx4);
tx1 = Text_New(sDate,sTime,H,"시초가합: "+NumToStr(Data1(Opend(0))+Data2(OpenD(0)),2)+NewLine+NewLine+NewLine);
tx2 = Text_New(sDate,sTime,H,"현재가합: "+NumToStr(Data1(c)+Data2(c),2)+NewLine+NewLine);
tx3 = Text_New(sDate,sTime,H,"콜현재가: "+NumToStr(Data1(c),2)+NewLine);
tx4 = Text_New(sDate,sTime,H,"풋현재가: "+NumToStr(Data2(c),2));
Text_SetStyle(tx1,0,1);
Text_SetStyle(tx2,0,1);
Text_SetStyle(tx3,0,1);
Text_SetStyle(tx4,0,1);
Text_SetColor(tx1,색상1);
Text_SetColor(tx2,색상2);
Text_SetColor(tx3,색상3);
Text_SetColor(tx4,색상4);
Text_SetSize(tx1,크기1);
Text_SetSize(tx2,크기2);
Text_SetSize(tx3,크기3);
Text_SetSize(tx4,크기4);
Text_SetBold(tx1,1);
Text_SetBold(tx2,1);
Text_SetBold(tx3,0);
Text_SetBold(tx4,0);
2022-10-27
1107
글번호 163312
고성 님에 의해서 삭제되었습니다.
2022-10-26
1
글번호 163309
답변완료
시스템식 부탁드립니다.
안녕하세요.
아래 시스템식1에서 진입조건은 동일하며,
단지 매수, 매도만 반대로 매매하고 싶습니다.
단, 시스템식1에서 매수시 매수청산 되거나 손절이 되는데
요청드리고 싶은 것은
시스템식1에서 매수조건 만족시 매도하고,
시스템식1에서 매수청산 조건이 만족하기 전까지
다시 매매(매도)되지 않는 시스템식을 만들고 싶습니다.
요청식의 수식을 보면 매도청산(손절,익절 후)이후
조건이 만족하여 다시 매도되는 경우가 있습니다.
또는 손절, 익절 이후 원 조건식의 진입기준에 맞추려고 하다보니
조건을 사용하다 보니 매매가 되지 않는 경우도 있습니다.
원 시스템식 : 조건청산, 손절
요청 시스템식 : 손절, 익절, 조건청산
단, 진입위치와 진입횟수는 동일해야 되며,
단지 매수,매도만 반대가 되는 시스템식 부탁드립니다.
-----------------------------------------------------------
시스템식1
-----------------------------------------------------------
var1 = ma(c,5);
var2 = ma(c,10);
var3 = ma(c,60);
if marketposition <=0 and (crossup(var1,var3)) or (var > var3) thne {
buy("B");
}
if marketposition ==1 and (crossdown(var1,var2)) or (var1 < var2) thne {
Exitlong("BX");
}
if marketposition >=0 and (crossdown(var1,var3)) or (var1 < var3) thne {
sell("S");
}
if marketposition ==-1 and (crossup(var1,var2)) or (var1 > var2) thne {
Exitshort("SX");
}
SetStopLoss(5,PointStop);
-----------------------------------------------------------
진입조건은 동일하며, 매수, 매도만 반대로 매매하는 시스템식 요청드립니다.
요청식 - 수정부탁드립니다.
요청내용 : 매도 후 매도청산(손절,익절)이후 매도조건이 만족하여 다시 매도가 됨
시스템1에서의 매수청산 조건이 만족되기까지
매도되지 않는 시스템식 부탁드립니다.
아래처럼 수정했는데 잘 안됩니다.
수정부탁드립니다.
-----------------------------------------------------------
var : B(0),S(0);
var1 = ma(c,5);
var2 = ma(c,10);
var3 = ma(c,60);
if marketposition >=0 and S = 0 and crossup(var1,var3) thne {
Sell("S");
S = 1;
}
if marketposition ==-1 and crossdown(var1,var2) thne {
S = 0;
}
if marketposition <=0 and B = 0 and crossdown(var1,var3) thne {
buy("B");
B = 1 ;
}
if marketposition ==1 and crossup(var1,var2) thne {
B = 0 ;
}
SetStopLoss(5,PointStop);
SetStopprofittarget(5,PointStop);
--------------------------------------------------
if totaltrades > toraltrades[1] then {
}
설명 요청1 )
위 수식 해석좀 부탁드립니다.
청산완료된 거래횟수가 이전 청산완료된 거래횟수보다 많다는 의미인것 같은데
왜 이런 조건식을 사용하는 거죠?
당연히 현재 청산완료횟수가 이전 청산완료 횟수보다 많은것 아닌가요?
이유가 있는지 궁금합니다.
설명좀 부탁드립니다.
2022-10-26
1199
글번호 163307
답변완료
요청드립니다.
안녕하세요 시스템 요청드립니다.
1. "스토케스틱K(12,5)" 기준선 20, 80 세팅
1-1. 스토케스틱이 20선에서 80선 으로 반복해서 왔다 갔다를 하는데,
직전에 20선으로 하향했다가 80선 뚫기 전까지 매수 진입구간.(첨부파일 참고)
2. RSI(14)가 50 이상일때
3. MACD가 MACD이동평균 14를 크로스 업할때 매수 진입
4. 매수진입 직전 10봉의 저가에 손절
5. 매수진입 직전 10봉의 저가 퍼센트의 *2에 익절 (손익비 2/1로 수익)
----------
같은 방식으로 매도 진입 청산도 부탁드립니다.
2022-10-26
1135
글번호 163295
답변완료
지표 질문입니다
전일과 분리되어 당일부터 시작되는 종가 파라볼릭이 양전환되면 이번 바닥에서 이전 두번의 양전환시 상승폭을 더한 위치를 표시한다. 파라볼릭이 음전환되면 이번 천정에서 이전 두번의 음전환시 하락폭을 더한 위치를 표시한다.
감사합니다
2022-10-26
1365
글번호 163294
답변완료
추세선 쓰리바닥
input : Period(12),선두께(1);
Var: 상승색(red), 하락색(blue);
Var:j(0),T(0);
Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0),
date21(0),date22(0),time21(0),time22(0),
date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0);
Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0)/*,ZZ[20](0)*/;
Array:r[7](0),fr[7](0),TL2[7](0),TL3[7](0),TX2[7](0),TX3[7](0);
r[0] = 0;
r[1] = 2;
r[2] = 3.;
r[3] = -1;
r[4] = -2.;
r[5] = 1;
r[6] = 0.5;
For j = 0 To 19
{
HiBar[j] = HiBar[j] + 1;
LoBar[j] = LoBar[j] + 1;
}
if crossup(c,highest(H,Period)[1]) Then
T = 1;
if CrossDown(c,Lowest(L,Period)[1]) Then
T = -1;
If T == -1 Then
{
If T[1] != -1 Then
{
For j = 18 DownTo 0
{
LoVal[j+1] = LoVal[j];
LoBar[j+1] = LoBar[j];
//ZZ[j+1] = ZZ[j];
}
LoVal[0] = L;
LoBar[0] = 0;
//ZZ[0] = L;
date11 = date[HiBar[0]];
time11 = stime[HiBar[0]];
Value11 = HiVal[0];
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
TL_Delete(tl);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,하락색);
Tx = Text_New(date11,time11,Value11,"●");
#동그라미 색상, 빨강
Text_SetColor(Tx,Blue);
Text_SetStyle(Tx,2,2);
Text_SetSize(tx,6);
//tx = Text_New(date11,time11,Value11,NumToStr(value11,2)+NewLine+NumToStr(value11,2)+NewLine);
//Text_SetStyle(tx,2,1);
date21 = date[HiBar[0]];
time21 = stime[HiBar[0]];
date22 = date[0];
time22 = stime[0];
for j = 0 to 6
{
fr[j] = LoVal[1] + ((HiVal[0] - LoVal[1]) * r[j]);
}
#TL2[1] = TL_New(date21,time21,fr[1],date22,time22,fr[1]);
#TL_SetColor(TL2[1],RED);
#TL_SetStyle(TL2[1], 3);
#TL2[2] = TL_New(date21,time21,fr[2],date22,time22,fr[2]);
#TL_SetColor(TL2[2],RED);
#TL_SetSize(TL2[2],1);
#TX2[2] = Text_New(date22,time22,fr[2],NumToStr(fr[2],2));
#Text_SetColor(Tx2[2],BWHITE);
#Text_SetStyle(TX2[2],1,1);
#TL2[3] = TL_New(date21,time21,fr[3],date22,time22,fr[3]);
#TL_SetColor(TL2[3],RED);
#TL_SetStyle(TL2[3], 3);
#TL2[4] = TL_New(date21,time21,fr[4],date22,time22,fr[4]);
#TL_SetColor(TL2[4],RED);
#TL_SetSize(TL2[4],1);
#TX2[4] = Text_New(date22,time22,fr[4],NumToStr(fr[4],2));
#Text_SetColor(Tx2[4],BWHITE);
#Text_SetStyle(TX2[4],1,0);
}
If LoVal[0] > L Then
{
LoVal[0] = L;
LoBar[0] = 0;
//ZZ[0] = L;
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date22 = date[0];
time22 = stime[0];
TL_SetEnd(TL2[0],date22,time22,fr[0]);
TL_SetEnd(TL2[1],date22,time22,fr[1]);
TL_SetEnd(TL2[2],date22,time22,fr[2]);
Text_SetLocation(TX2[2],date22,time22,fr[2]);
TL_SetEnd(TL2[3],date22,time22,fr[3]);
TL_SetEnd(TL2[4],date22,time22,fr[4]);
Text_SetLocation(TX2[4],date22,time22,fr[4]);
TL_SetEnd(TL2[5],date22,time22,fr[5]);
TL_SetEnd(TL2[6],date22,time22,fr[6]);
TL_Delete(tl);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
}
}
If T == 1 Then
{
If T[1] != 1 Then
{
For j = 18 DownTo 0
{
HiVal[j+1] = HiVal[j];
HiBar[j+1] = HiBar[j];
//ZZ[j+1] = ZZ[j];
}
HiVal[0] = H;
HiBar[0] = 0;
//ZZ[0] = H;
date11 = date[LoBar[0]];
time11 = stime[LoBar[0]];
Value11 = LoVal[0];
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
TL_Delete(tl);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,상승색);
Tx1 = Text_New(date11,time11,Value11,"●");
#동그라미 색상, 파랑
Text_SetColor(Tx1,Red);
Text_SetStyle(Tx1,2,2);
Text_SetSize(tx1,6);
//tx = Text_New(date11,time11,Value11,NewLine+NumToStr(value11,2)+NewLine+NumToStr(value11,2));
//Text_SetStyle(tx,2,0);
date31 = date[LoBar[0]];
time31 = stime[LoBar[0]];
date32 = date[0];
time32 = stime[0];
for j = 0 to 5
{
fr[j] = LoVal[0] + ((HiVal[1] - LoVal[0]) * r[j]);
}
}
If HiVal[0] < H Then
{
HiVal[0] = H;
HiBar[0] = 0;
//ZZ[0] = H;
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date32 = date[0];
time32 = stime[0];
//Tx = Text_New_Self(date12,time12,Value12,NumToStr(abs(value11-value12)/PriceScale,0)+" ");
#동그라미 색상, 빨강
//Text_SetColor(Tx,RED);
//Text_SetStyle(Tx,1,1);
TL_SetEnd(TL3[0],date32,time32,fr[0]);
TL_SetEnd(TL3[1],date32,time32,fr[1]);
TL_SetEnd(TL3[2],date32,time32,fr[2]);
Text_SetLocation(TX3[2],date32,time32,fr[2]);
TL_SetEnd(TL3[3],date32,time32,fr[3]);
TL_SetEnd(TL3[4],date32,time32,fr[4]);
Text_SetLocation(TX3[4],date32,time32,fr[4]);
TL_SetEnd(TL3[5],date32,time32,fr[5]);
TL_SetEnd(TL3[6],date32,time32,fr[6]);
TL_Delete(tl);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
}
}
TL_SetSize(TL1,선두께);
//TL_SetEnd(tl,NextBarSdate,NextBarStime,NextBarOpen);
저점 고저 차이가 변수 0.35p(7틱) 이내에서 쓰리바닥이 형성될 때 3바닥 밑에 동그라미 표시. 감사합니다.
2022-10-26
1290
글번호 163290
답변완료
수식 의뢰드립니다.
안녕하세요!
매매에 도움을 받고자 수식을 의뢰 드려요!
보조지표 형식의 양합선 지표를 만들어 주시길 부탁드립니다.
이해를 돕기 위해 참고 이미지를 첨부합니다.
항상 노고에 감사드립니다.
2022-10-26
921
글번호 163289