커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7218
글번호 230811
종호 님에 의해서 삭제되었습니다.
2018-12-21
2
글번호 124654
답변완료
안녕하세요
반갑습니다
*아래식을
1.3분 15분
2.2분 8분
3.1분 5분
가능하면 부탁합니다.
**아래1.2.3항
1.1분 3분
2.2분 6분
3.3분 9분 3배수식으로 좀 해주세요
***어느분봉으로 고정시키지말고 변수변경으로 수정해가며 사용할수없을까요.
input : 타주기분(30);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
var : tx1(0),tx2(0),tx3(0);
Array : OO[100](0),HH[100](0),LL[100](0);
if Bdate != Bdate[1] Then{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
OO[0] = O;
HH[0] = H;
LL[0] = L;
for cnt = 1 to 99
{
OO[cnt] = OO[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
plot1(OO[0],"시가");
plot2(HH[0],"고가");
plot3(LL[0],"저가");
Text_Delete(tx1);
Text_Delete(tx2);
tx1 = Text_New(sdate,stime,HH[0],NumToStr(HH[0],2));
tx2 = Text_New(sdate,stime,LL[0],NumToStr(LL[0],2));
Text_SetStyle(tx1,0,1);
Text_SetStyle(tx2,0,0);
}
감사합니다
2018-12-21
327
글번호 124653
답변완료
문의드립니다
늘 감사합니다
한가지 여쭤볼것이 있습니다
10이평선과 20이평선이 골드시 선물 2개 매수하고
10이평선과 20이평선이 데드시 청산해라를 식으로 부탁드립니다
감사합니다
2018-12-21
292
글번호 124652
답변완료
부탁드립니다.
-국내선물 동시만기일(3,6,9,12월 )에 선물 당일 최저가와 다음선물 당일최저가 수식 부탁드립니다.
2018-12-21
298
글번호 124651
답변완료
안녕하세요
안녕하세요.
수고 많으십니다.
아래 수식은 MACD 입니다.
Input : shortPeriod(12), longPeriod(26), Period(9);
Var : value(0) , macdosc(0) ;
value = MACD(shortPeriod, longPeriod);
macdosc = value-ema(value,Period);
Plot1(value, "MACD");
Plot2(ema(value,Period), "MACDSignal");
PlotBaseLine1(0, "기준선1");
위 수식을 시스템식과 지표식을 부탁드립니다.
그림 첨부 합니다.
감사합니다. 수고 하세요.
2018-12-21
329
글번호 124650
답변완료
문의드립니다
시스템매매 설정에서 강제청산 에서 손절매 목표수익
항셍 30틱씩 나스닥 30틱씩 오일 20틱씩 설정하려면 수치를 어떻게 해야하는지 알려주세요
2018-12-20
301
글번호 124649
답변완료
문의드려요.
input : P(0.01),시작시간(90000),종료시간(150000),당일수익틱수(10);
var : MM(0),T(0),HH(0),LL(0),Tcond(false),당일수익(0),N1(0),dayPL(0),Xcond(False);
if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then{
Tcond = true;
Xcond = false;
N1 = NetProfit;
}
if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then{
Tcond = false;
if MarketPosition == 1 Then
ExitLong();
if MarketPosition == -1 Then
ExitShort();
}
당일수익 = PriceScale*당일수익틱수;
dayPL = NetProfit-N1;
if TotalTrades > TotalTrades[1] and (IsExitName("dbp",1) or IsExitName("dsp",1)) Then
Xcond = true;
MM = (highest(H,P)+lowest(L,P))/2;
if T == 0 and C > MM Then
T = 1;
if T == 0 and C < MM Then
T = -1;
if T == 1 and CrossDown(C,lowest(L,P)[1]) Then
T = 0;
if T == -1 and CrossUp(C,highest(H,P)[1]) Then
T = 0;
if T == 1 and T[1] != 1 and Xcond == false and Tcond == true Then
buy();
if T == -1 and T[1] != -1 and Xcond == false and Tcond == true Then
sell();
if MarketPosition == 1 Then
ExitLong("dpb",Atlimit,EntryPrice+당일수익-daypl);
if MarketPosition == -1 Then
ExitShort("dsp",Atlimit,EntryPrice-당일수익+daypl);
위수식에 문의드립니다
당일수익을 얻었을경우 더이상 신호가 발생이 안되어야되는데..
계속 신호가 잡힙니다.
수식 수정 부탁드립니다.
2018-12-20
344
글번호 124648
답변완료
안녕하세요?
60540 추가 질문입니다.
xabcd 일치하는 파동만 출력되고
꼭지점에 xabcd도 테스트로 출력 되도록 부탁드립니다.
Input:length(10);
Var:TL1(0),TL2(0),TL2_exist(0),color(0),T(0),
종가사용여부(0), // 종가로 계산하려면 1로 설정한다.
TL_NewBit(0), // 1:NewLine 2:SetEndLine
slope(0),mid_idx(0),mid_val(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit);
// HiLoLineZigZag는 사용자함수입니다. 링크에서 내려받으세요..
If Value1 == 1 Then { // 고점
T = 1;
If TL_NewBit == 1 Then { // 신규
If 고[2,1] < 고[1,1] Then { // 신규 고점이 이전 고점을 상향 돌파
// y = 기울기 * x + 절편
// x = (y - 절편) / 기울기
// y = 고[2,1]
// 절편 = 저[1,1]
slope = (고[1,1] - 저[1,1]) / (고[1,2] - 저[1,2]); // 추세선의 기울기
mid_idx = Floor((고[2,1] - 저[1,1]) / slope); // 고[2,1]과 만나는 지점
mid_val = slope * mid_idx + 저[1,1];
Var1 = Index - (저[1,2] + mid_idx); // 추세선의 중간지점 x좌표
TL1 = TL_New(저[1,3],저[1,4],저[1,1],sDate[Var1],sTime[Var1],mid_val);
TL2 = TL_New(sDate[Var1],sTime[Var1],mid_val,고[1,3],고[1,4],고[1,1]);
Var2 = Index - 저[1,2]; // 이전 색깔을 따라감
TL_SetColor(TL1,color[Var2]);
color = RED; // 상향 돌파했으므로 빨간색으로 전환
TL_SetColor(TL2,color);
TL2_exist = 1; // 추세선 2개를 연결해서 그린 것이므로 추세선이 2개임을 저장
} Else {
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetColor(TL1,color);
TL2_exist = 0;
}
}
If TL_NewBit == 2 Then { // 연장
TL_Delete(TL1);
If TL2_exist == 1 Then TL_Delete(TL2); // 추세선이 2개면 두번째 추세선도 삭제
If 고[2,1] < 고[1,1] Then {
slope = (고[1,1] - 저[1,1]) / (고[1,2] - 저[1,2]);
mid_idx = Floor((고[2,1] - 저[1,1]) / slope);
mid_val = slope * mid_idx + 저[1,1];
Var1 = Index - (저[1,2] + mid_idx);
TL1 = TL_New(저[1,3],저[1,4],저[1,1],sDate[Var1],sTime[Var1],mid_val);
TL2 = TL_New(sDate[Var1],sTime[Var1],mid_val,고[1,3],고[1,4],고[1,1]);
Var2 = Index - 저[1,2];
TL_SetColor(TL1,color[Var2]);
color = RED;
TL_SetColor(TL2,color);
TL2_exist = 1;
} Else {
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetColor(TL1,color);
TL2_exist = 0;
}
}
} Else If Value1 == -1 Then { // 저점
T = -1;
If TL_NewBit == 1 Then { // 신규
If 저[2,1] > 저[1,1] Then {
slope = (저[1,1] - 고[1,1]) / (저[1,2] - 고[1,2]);
mid_idx = Floor((저[2,1] - 고[1,1]) / slope);
mid_val = slope * mid_idx + 고[1,1];
Var1 = Index - (고[1,2] + mid_idx);
TL1 = TL_New(고[1,3],고[1,4],고[1,1],sDate[Var1],sTime[Var1],mid_val);
TL2 = TL_New(sDate[Var1],sTime[Var1],mid_val,저[1,3],저[1,4],저[1,1]);
Var2 = Index - 고[1,2];
TL_SetColor(TL1,color[Var2]);
color = BLUE;
TL_SetColor(TL2,color);
TL2_exist = 1;
} Else {
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetColor(TL1,color);
TL2_exist = 0;
}
}
If TL_NewBit == 2 Then { // 연장
TL_Delete(TL1);
If TL2_exist == 1 Then TL_Delete(TL2);
If 저[2,1] > 저[1,1] Then {
slope = (저[1,1] - 고[1,1]) / (저[1,2] - 고[1,2]);
mid_idx = Floor((저[2,1] - 고[1,1]) / slope);
mid_val = slope * mid_idx + 고[1,1];
Var1 = Index - (고[1,2] + mid_idx);
TL1 = TL_New(고[1,3],고[1,4],고[1,1],sDate[Var1],sTime[Var1],mid_val);
TL2 = TL_New(sDate[Var1],sTime[Var1],mid_val,저[1,3],저[1,4],저[1,1]);
Var2 = Index - 고[1,2];
TL_SetColor(TL1,color[Var2]);
color = BLUE;
TL_SetColor(TL2,color);
TL2_exist = 1;
} Else {
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetColor(TL1,color);
TL2_exist = 0;
}
}
}
TL_SetSize(TL1,2);
TL_SetSize(TL2,2);
var : CC(0),BB(0),AA(0),XX(0);
if T == -1 then
{
CC = 고[1,1];
BB = 저[2,1];
AA = 고[2,1];
XX = 저[3,1];
if BB <= AA-(AA-XX)*0.618 and BB >= AA-(AA-XX)*0.786 and
CC >= BB+(AA-BB)*0.618 and BB <= BB+(AA-BB)*0.786 and
CC < AA and
CrossDown(C,AA-(AA-XX)*0.786) Then
buy();
}
if MarketPosition == 1 then
{
ExitLong("bl",AtStop,XX[BarsSinceEntry]-PriceScale*1);
ExitLong("bp",AtLimit,저[1,1]+(AA[BarsSinceEntry]-저[1,1])*0.618);
}
if T == 1 then
{
CC = 저[1,1];
BB = 고[2,1];
AA = 저[2,1];
XX = 고[3,1];
if BB >= AA+(XX-AA)*0.618 and BB <= AA+(XX-AA)*0.786 and
CC <= BB-(BB-AA)*0.618 and BB >= BB-(BB-AA)*0.786 and
CC > AA and
CrossUp(C,AA+(XX-AA)*0.786) Then
Sell();
}
if MarketPosition == -1 then
{
ExitShort("sl",AtStop,XX[BarsSinceEntry]+PriceScale*1);
ExitShort("sp",AtLimit,저[1,1]-(저[1,1]-AA[BarsSinceEntry])*0.618);
}
2018-12-20
413
글번호 124647
답변완료
문의드립니다
input : N(1);
var1 = (H+L)/2;
if dayindex >= 0 Then{
if C > var1[N] Then
PlotPaintBar(H,L,"강조",MAGENTA);
Else
PlotPaintBar(H,L,"강조",BLUE);
}
매번감사드립니다~~위식에서전봉의고저반절강조식인데 전봉에33.3/%강조식으로부탁드립니다,,
2018-12-20
317
글번호 124646