커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3454
글번호 230811
재료스윙 님에 의해서 삭제되었습니다.
2021-04-09
49
글번호 147841
답변완료
부탁 드립니다
a=valuewhen(1,crossup(eavg(C,기간1), eavg(C,기간2)),eavg(c,기간2));
기간1 5
기간2 20
예스 지표로 변환좀 해주세요,
그리고, 당일(오늘) 이 선을 돌파한 캔들을 찾고 싶습니다.
부탁 드릴께요.
2021-04-09
755
글번호 147840
답변완료
볼밴 수식 좀 부탁 드립니다.
* 좋은 주말 되십시요.
* 아래 수식을 지표로 변환 좀 부탁 드립니다.
if 구름하단 > 0 and 구름하단 > 당일중심 and CrossUp(c,구름상단) then
Buy("b");
if 구름상단 > 0 and 구름상단 < 당일중심 and CrossDown(c,구름하단) then
Sell("s");
이것을 지표로 할려고 합니다.
Condition1 = 이것을 쓰니까 안되네요?
## 수식
Input : 전환선기간(9), 기준선기간(26), 선행스팬2기간(52);
Var : 기준선(0), 전환선(0),선행스팬1(0), 선행스팬2(0),구름상단(0),구름하단(0),당일중심(0);
전환선 = (Highest(High, 전환선기간) + Lowest(Low, 전환선기간)) / 2;
기준선 = (Highest(High, 기준선기간) + Lowest(Low, 기준선기간)) / 2;
선행스팬1 = (전환선[25] + 기준선[25]) / 2 ;
선행스팬2 = (Highest(High, 선행스팬2기간)[25] + Lowest(Low, 선행스팬2기간)[25]) / 2;
구름상단 = max(선행스팬1,선행스팬2);
구름하단 = min(선행스팬1,선행스팬2);
당일중심 = (DayHigh(0)+DayLow(0))/2;
if 구름하단 > 0 and 구름하단 > 당일중심 and CrossUp(c,구름상단) then
Buy("b");
if 구름상단 > 0 and 구름상단 < 당일중심 and CrossDown(c,구름하단) then
Sell("s");
* 혹시 그림처럼
이평선 가격이 100봉안에
5번 이상 만나면 되면 수평선 그릴수 있나요?
* 좋은 주말 되십시요^^
2021-04-09
829
글번호 147836
답변완료
수식어 부탁드립니다
input : StartTime(150000),EndTime(055000);
Input : 당일수익틱수(120);
var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0);
var : Tcond(false);
Var : N1(0),dayPl(0),당일수익(0),Xcond(false);
if sDate != sDate[1] then
SetStopEndofday(Endtime);
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;
Xcond = false;
N1 = NetProfit;
SetStopEndofday(0);
}
당일수익 = PriceScale*당일수익틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 당일수익 Then
Xcond = true;
if IsExitName("dbp",1) == true or IsExitName("dsp",1) == true then
Xcond = true;
}
전환선 = (highest(H,9)+lowest(L,9))/2;
기준선 = (highest(H,26)+lowest(L,26))/2;
선행스팬1 = (전환선[25]+기준선[25])/2;
선행스팬2 = (highest(H,52)[25]+lowest(L,52)[25])/2;
var1 = Disparity(20);
if Tcond == true and xcond == False Then
{
if 전환선 > 기준선 and crossup(전환선,선행스팬1) and var1 >= 99 Then
buy("b");
if MarketPosition == 1 then
{
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
if 전환선 < 기준선 and CrossDown(전환선,선행스팬2) and var1 >= 99 Then
exitlong();
}
if 전환선 < 기준선 and CrossDown(전환선,선행스팬1) and var1 <= 101 Then
sell("s");
if MarketPosition == -1 then
{
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
if 전환선 > 기준선 and CrossUp(전환선,선행스팬2) and var1 <= 101 Then
ExitShort();
}
}
------------------------------------------------------------------------
input : StartTime(070000),EndTime(055500);
input : BuyN(40),SellN(80),당일수익틱수(120);;
var : Tcond(false),N1(0),dayPl(0),당일수익(0),Xcond(false);
당일수익 = PriceScale*당일수익틱수;
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
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
{
var1 = O;
Tcond = true;
Xcond = false;
N1 = NetProfit;
SetStopEndofday(0);
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 당일수익 Then
Xcond = true;
if IsExitName("dbp",1) == true or IsExitName("dsp",1) == true then
Xcond = true;
}
if Tcond == true and Xcond == False Then
{
if MarketPosition <= 0 and L >= DayOpen-20*PriceScale Then
Buy("b",AtLimit,DayOpen-20*PriceScale);
if MarketPosition <= 0 and L >= DayOpen-30*PriceScale Then
Sell("s",AtLimit,DayOpen+30*PriceScale);
}
if MarketPosition == 1 Then
{
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
SetStopProfittarget(PriceScale*BuyN,PointStop);
SetStopLoss(PriceScale*BuyN,PointStop);
}
Else if MarketPosition == -1 Then
{
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
SetStopProfittarget(PriceScale*SellN,PointStop);
SetStopLoss(PriceScale*SellN,PointStop);
}
Else
{
SetStopProfittarget(0);
SetStopLoss(0);
}
------------------------------------------
상기 2개의 수식어를 하나의 수식어로 부탁드립니다.
매매시간은 07:00 익일 05:50이고 청산시간은 05:55 입니다.
목표수익은 120틱 입니다.
2021-04-09
740
글번호 147835
knb 님에 의해서 삭제되었습니다.
2021-04-09
223
글번호 147834
답변완료
부탁드립니다
$,안녕하세요.
국내선물에서 20틱을1포인트라 기준하고 아래조건Text 출력요청드립니다.
1,전일시가대비 당일시가의 상승,하락률을 상승은(Red),하락은(Blue)로 소숫점 2자리
까지 포인트로 차트우측상단에 출력하고
2,시가기준으로 저점대비율과 고점대비율을 1번과 같이 포인트로 실시간 출력 부탁
드립니다.(Text출력위치는 1번아래)
#,도움주심에 미리 감사드립니다.
2021-04-09
990
글번호 147833
답변완료
시스템 의뢰
수고 하십니다 !
1 이평선 이 60 이평선 을 크로즈 업 할때 현재가 에서 5틱 아래로 매수 하여 1 이평선
이 30 이평선 을 크로즈 다운 할때 매수 청산 을 하고 ,
1 이평선 이 60 이평선 을 크로즈 다운 할때 현재가 에서 5틱 위로 매도 하여 1 이평선
이 30 이평선 을 크로즈 업 할때 매도 청산 을 하는 수식 좀 부탁 드립니다.
***** 수고 하세요 *****
2021-04-09
988
글번호 147832
답변완료
색상을 조건으로 주문하는 법 문의
안녕하세요 관리자님 늘 감사 드립니다.
제가 아래와 같이 색상을 조건식으로 주문을 할려하는데 주문이 안되서요
혹시 이상한 곳이 있는지 확인 부탁 드립니다.
감사 합니다.
{
If MarketPosition == 0 and (이평선1컬러 = RED) and (이평선2컬러 = GREEN) and (CXwave3[Shaft] > CXwave2) Then
{
Buy();
}
If MarketPosition == 0 and (이평선1컬러 = BLUE) and (이평선2컬러 = CYAN) and (CXwave3[Shaft] < CXwave2) Then
{
Sell();
}
if MarketPosition == 1 Then
{
if CrossDown(CXwave3[Shaft], CXwave2) Then
{
ExitLong();
}
}
if MarketPosition == -1 Then
{
if CrossUp(CXwave3[Shaft], CXwave2) Then
{
ExitShort();
}
}
}
2021-04-08
927
글번호 147831
답변완료
수식 좀 도와주세요~
안녕하세요.
Var1= ma(close,len1);
Var2= ma(close,len2);
Var3= ma(close,len3);
value1=CCI(CLen1);
value2=CCI(CLen2);
value3=CCI(CLen3);
value4=CCI(CLen4);
If Var1>var2 And value1>value2 Then
buy("매수");
If Var1<var2 And value3<value4 Then
sell("매도");
위와 같은 전략식의 경우,
매수로 진입 후 지수가 큰폭으로 하락하여 계속 손실은 보고있는데,
아직 매도로 포지션은 안바뀌고 있고, 이럴때 마음이 편치않은데요,
손실폭을 줄이기 위해서 아래와 같은 조건을 넣을 수 있는지요?
매수 진입 후 지수가 ( ) point 하락하면 일단 청산.
- 계속 하락하여 매도 조건이 되면 매도
- 매도 조건이 되기전에 도로 상승하여 매수 진입 조건에 도달하면 다시 매수.
반대의 경우도 있겠죠.
매도 진입 후 지수가 ( ) point 상승하면 청산.
- 계속 상승하여 매수 조건이 되면 매수.
- 매수 조건이 되기 전에 도로 하락하여 매도 진입 조건에 도달하면 다시 매도.
여기서 ( )point는 변수 처리.
수식으로 도와주시면 감사하겠습니다.
2021-04-08
806
글번호 147830