커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6397
글번호 230811
답변완료
부탁 드립니다.
도움주심에 깊이 감사 드립니다.
실행결과
전일과 금일 사이를 연결하는 직선을 삭제 할수 있는지요?
Var : cond11(false);
var:a11(0),b11(0),k11(0),HH11(0),LL11(0),OO11(0);
if (stime == 070001 or (stime > 070001 and stime[1] < 070001)) then{
cond11 = true;
HH11 = H;
LL11 = L;
}
if stime == 143000 or (stime > 143000 and stime[1] < 143000) Then
Cond11 = false;
if cond11 == true then{
if H > HH11 Then
HH11 = H;
if L < LL11 Then
LL11 = L;
a11 = HH11;
b11 = LL11;
k11 =a11-b11;
plot21(a11,"ahigh");
plot24(k11*0.618+b11);
plot25(k11*0.5+b11,"a5");
plot26(k11*0.382+b11,"a382");
plot29(b11,"alow");
}
Var : cond20(false);
var:a20(0),b20(0),k20(0),HH20(0),LL20(0),OO20(0);
if (stime == 143001 or (stime > 143001 and stime[1] < 143001)) then{
cond20 = true;
HH20 = H;
LL20 = L;
}
if stime == 215900 or (stime > 215900 and stime[1] < 215900) Then
Cond20 = false;
if cond20 == true then{
if H > HH20 Then
HH20 = H;
if L < LL20 Then
LL20 = L;
a20 = HH20;
b20 = LL20;
k20 =a20-b20;
plot73(a20,"eu_low");
plot74(k20*0.618+b20,"eu618");
plot75(k20*0.5+b20,"eu5");
plot76(k20*0.382+b20,"eu382");
plot79(b20,"eu_low");
}
Var : cond6(false);
var:a5(0),b5(0),k5(0),HH5(0),LL5(0),TX(0),OO5(0);
if (stime == 220000 or (stime > 220000 and stime[1] < 220000)) then{
cond6 = true;
HH5 = H;
LL5 = L;
}
if stime == 060000 or (stime > 060000 and stime[1] < 060000) Then
Cond6 = false;
if cond6 == true then{
if H > HH5 Then
HH5 = H;
if L < LL5 Then
LL5 = L;
a5 = HH5;
b5 = LL5;
k5 =a5-b5;
plot83(a5,"u_h");
plot88(k5*0.618+b5,"u618");
plot89(k5*0.5+b5,"u5");
plot90(k5*0.382+b5,"382");
plot93(b5,"u_low");
}
2016-08-30
105
글번호 101470
ivory 님에 의해서 삭제되었습니다.
2016-08-30
67
글번호 101467
ivory 님에 의해서 삭제되었습니다.
2016-08-30
0
글번호 101466
태양같이 님에 의해서 삭제되었습니다.
2016-08-30
0
글번호 101465
답변완료
분봉에 대해서요..
안녕하세요
차트에서 캔들 분봉을 900분봉 이상을 만들 수 있는 수식이 가능한지요?
수고하세요~
2016-08-30
114
글번호 101464
답변완료
부탁드립니다.
코스피 선물, S&P선물에서 사용하려고 합니다
-15분봉 기준
-장 시작하고 두번째 봉의 고가 또는 저가를 breakout할때 진입
(국내로 치면 9시15분~9시30분의 봉, S&P의경우 22시45분~23시의 캔들이 기준)
-청산은 트레일링스탑
-장종료전에 포지션 청산
Var : orderCnt(1);
Var : Start(false);
If (stime == 071500 or (stime > 071500 and stime[1] < 071500)) then
Start = false;
If sdate == CurrentDate and (stime == 080000 or (stime > 080000 and stime[1] < 080000)) Then
Start = True;
If Start == true Then{
If C > O Then
buy("LE",AtStop,TimeHigh(084501,090000) + PriceScale,ordercnt);
If C < O Then
sell("SE",AtStop,TimeLow(084501,090000) - PriceScale,ordercnt);
#매수/매도 진입
#Buy("BUY",AtStop,TimeHigh(084501,090000) + PriceScale,ordercnt);
#Sell("SELL",AtStop,TimeLow(084501,090000) - PriceScale,ordercnt);
#스탑설정
If MarketPosition == 1 Then
ExitLong("스탑B",AtStop,TimeLow(084501,090000));
If MarketPosition == -1 Then
ExitShort("스탑S",AtStop,TimeHigh(084501,090000));
#트레일링 청산
If (MarketPosition == 1 or MarketPosition == -1) and CurrentContracts == MaxContracts Then
SetStopTrailing(1.5,4,PointStop,0);
#장마감전 청산
#SetStopEndofday(1515);
2016-08-30
125
글번호 101463
답변완료
질문드립니다.
예) 매수(1) 진입후 청산 -> 매수(2) 재진입 후 매수(2)보다 낮은 가격에서 매도신호 발생하면 무시되고, 매수(1)보다 낮은 매도신호에 진입이 됩니다.
제가 원하는건 마지막 진입가격이 비교대상이어야 합니다.
청산은 시스템트레이딩설정에서 목표가 설정했었습니다.
var1 = ma(C,5);
if MarketPosition != 1 and C > EntryPrice(1) and C < var1 Then
buy();
if MarketPosition != -1 and C < EntryPrice(1) and C > var1 Then
sell();
2016-08-29
109
글번호 101462
답변완료
수식 문의 드립니다.
안녕 하세요.
수식지왕님이 작성 하신 지그제그 지표 입니다.
이지표에 buy-sell 시스템 수식을 넣을수 있는지요?
지표가 진행 하는 과정을 자세히 관찰해보니 지그제그 방향이( 상 또는 하 ) 확정되고 서너캔들 지나서 바로 또 선을 긋내요.
상 또는 하 방향이 확정돠고 다음방향으로 지표선이 그어질때 매수 또는 매도 화살표 신호가 나오개 만들면 되지 않을까 생각을 해봅니다.
업무상 많은 시간이 소요 되지 않는다면 수식 옆에 주석도 부탁을 드리겟습니다.
Input:length(12);
Var:j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0);
Array:valArr[10](0),barArr[10](0),turnPntArr[10]("");
For j = 0 To 9
{
barArr[j] = barArr[j] + 1;
}
Condition1 = Highest(H,length) == H and lastHiVal <> H;
Condition2 = Lowest(L,length) == L and lastLoVal <> L;
If Condition1 Then lastHiVal = H;
If Condition2 Then lastLoVal = L;
turnPntBit = "";
If Condition1 and Condition2 Then
{
If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then
turnPntBit = "HiLo";
Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi";
Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo";
}
Else If Condition1 Then turnPntBit = "Hi";
Else If Condition2 Then turnPntBit = "Lo";
If turnPntBit <> "" Then
{
If turnPntBit == "HiLo" Then
{
valArr[1] = IFF(turnPntArr[1] == "Hi",H,L);
barArr[1] = 0;
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
If turnPntArr[1] == "Hi" Then
turnPntBit = "Lo";
Else
turnPntBit = "Hi";
}
If turnPntBit <> turnPntArr[1] Then
{
for j = 8 downto 1
{
valArr[j+1] = valArr[j];
barArr[j+1] = barArr[j];
turnPntArr[j+1] = turnPntArr[j];
}
}
If turnPntBit <> turnPntArr[1] or
(turnPntBit == turnPntArr[1] and
((turnPntBit == "Hi" and valArr[1] < H) or
(turnPntBit == "Lo" and valArr[1] > L))) Then
{
valArr[1] = IFF(turnPntBit == "Hi",H,L);
barArr[1] = 0;
turnPntArr[1] = turnPntBit;
If turnPntArr[1][1] <> turnPntArr[1][0] Then
TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],
sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
Else
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
}
}
TL_SetSize(TL1,6);
TL_SetColor(TL1,GREEN);
Plot1(Highest(H,length));
Plot2(Lowest(L,length));
{
Buy();
}
{
Sell();
}
문의 사항 있으시면 회원 가입된 폰으로 전화 주시면 감사하겟습니다.
통화가능시간 오전 10시 30분~40분
12시40분~ 1시 20분
오후 3시 30분~40분
저녁 5시40분~ 6시 00 까지 통화 가능 한 시간입니다.
감사 합니다.
2016-08-29
157
글번호 101461
답변완료
수식 작성 도움 부탁드립니다.
문의 드립니다. 해당 지표에 매매 시간대 지정과 당일 목표틱 달성시 매매 마감하는 식으로 채워주셨으면 합니다.
지정시간은 아침 09:00~15:00 17:00~익일 새벽 03:00
목표틱수 50틱 (!! 만약 마지막 매매 주문이 50틱이 되서 청산이 나갔으나 실 체결가는 49틱이 되었을 경우 근사치 +-5틱은 인정하고 매매 중지되게 부탁드립니다. 안그러면 1틱 때문에 또 매매가 나갈거 같습니다.)
감사합니다.
input : bs(10),ssss(10);
var : MACDP1(40),MACDP2(70)
var: P1(5),P2(20);
var1 = macd(MACDP1,MACDP2);
if var1 > 50 And
(crossup(var1) Then
{
if MarketPosition == 0 then
Buy("");
}
if var1 < 50 And
(CrossDown(var1) Then
{
if MarketPosition == 0 Then
Sell("");
}
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then
var1 = H;
if H > var1 Then
var1 = H;
if MaxEntries == 1 Then{
ExitLong("",Atlimit,EntryPrice+PriceScale*bs);
if var1 >= EntryPrice+PriceScale*20 Then
exitlong("",AtStop,EntryPrice+PriceScale*10);
}
}
if MarketPosition == -1 Then{
if CurrentContracts > CurrentContracts[1] Then
var2 = L;
if L < var2 Then
var2 = L;
if MaxEntries == 1 Then{
ExitShort("",Atlimit,EntryPrice-PriceScale*ssss);
if var2 <= EntryPrice-PriceScale*-10 Then
ExitShort("",AtStop,EntryPrice-PriceScale*-10);
}
}
2016-08-29
117
글번호 101460