커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6722
글번호 230811
매크로 님에 의해서 삭제되었습니다.
2014-10-11
0
글번호 79263
답변완료
문의
input : N(9);
var: Period(42);
var1 = ma(C,5);
var2 = ma(C,20);
var3 = BarsSinceEntry();
if SwingHigh(1,h,N,N,N*2+1) != -1 Then{
var11=SwinghighBar(1,h,N,N,N*2+1); //swinghigh가 발생한 봉의 Nth (현재봉에서)
var7=-1; //swinghigh->swinglow 확정 전
var8=c; //swinghigh가 확인된 시점의 현재가격
Var9=H[N]; // swinghigh 가격.
}
if SwingLow(1,L,N,N,N*2+1) != -1 Then{
var9=L[N]; //swinglow가격
var7=1; //swinglow->swinghigh 확정 전
var8=c; //swinglow가 확정된 시점의 현재가격
var11=SwingLowBar(1,h,N,N,N*2+1); //swinglow가 발생한 봉의 Nth(현재봉대비..)
}
제가 써 넣은 주석이 맞는지 확인 부탁드리고요.. 틀렸으면 수정 좀 부탁드립니다.
문의사항...
var11의 값인 swinghighbar,swinglowbar 의 값을 messagelog 로 체크해보면 -1 또는 9로 고정되어 나옵니다.. 현재봉에서 swinghigh 또는 swinglow가 발생한 봉의 갯수를 리턴해 주는것으로 알고있습니다. 왜 값이 고정되어 나올까요?.. 제가 원하는 것은.. 만약 var11=9 였다면..
현재봉+1 인 다음봉에서는 var11의 값이 10이 되어야 하는데.. 여전히 9로 되어있습니다.
캔들이 하나씩 생성될때 swinghighbar 또는 swinglowbar의 값이 서로의 값이 확인되어 바뀌기 전까지는 현재봉에서 계속 그 봉의 갯수를 리턴해 주기를 원합니다. 수정 부탁드립니다.
그리고.. swinghigh 있는 곳에서 swinghighbar를 같이 써 주는것이 맞지요?.
답변 부탁드립니다.
2014-10-13
184
글번호 79262
답변완료
선물옵션 과거물 차트
볼 수 있다고 들었는데
예스트레이드에서 가능한가요?
2014-10-10
172
글번호 79261
답변완료
다시 문의 드립니다.
아래 답변 주셨는데 정확히 전달이 되지 않은것 같아 다시 문의 드립니다.
현재는 매수진입 이후 손절. 이후 만일 5/20이평 정배열을 유지하고 있으면 5/20 정배열 조건이 매수 조건이기 때문에 바로 재매수 들어갑니다.
이걸 손절후 5/20 정배열 상태 그대로면 재매수 들어가지 않니하고
5/20 역배열로 한번 전환되었다가 재차 5/20 정배열 상태일때만 매수 들어가게 하고 싶습니다.
========================================================================================
안녕하세요
예스스탁입니다.
#무포지션이고, 직전거래가 매수이고, 손절로 청산
#위 3가지 조건이 동시에 충족이 되지 않을때만 매수진입
if !(MarketPosition == 0 and MarketPosition(1) == 1 and IsExitName("StopLoss",1) == true) then{
if ma(c,5) > ma(c,20) Then
buy();
}
#무포지션이고, 직전거래가 매도이고, 손절로 청산
#위 3가지 조건이 동시에 충족이 되지 않을때만 매도진입
if !(MarketPosition == 0 and MarketPosition(1) == -1 and IsExitName("StopLoss",1) == true) then{
if ma(c,5) < ma(c,20) Then
sell();
}
즐거운 하루되세요
> 뽕빵이 님이 쓴 글입니다.
> 제목 : 손절후 동일방향 재진입 제한 문의 드립니다.
> 정해진 손절폭 손절후 동일방향으로 재진입에 제한을 두고 싶습니다.
예를들면 다른조건과 더불어 5/20 이평 정배열 일때 매수 진입조건일 경우
진입후 반대로 진행하여 손절하였는데 여전히 이평이 5/20 정배열이라서 재진입 됩니다.
이럴경우 5/20 역배열로 한번 전환되었다가 재차 5/20 정배열 된후 매수 재진입 시키고자 합니다.
즉 5/20 이평이 반대로 역배열 한번 되었다가 다시 정배열 된 조건을 추가하고 싶습니다.
5/20 크로스 조건은 아니고 정배열 상태가 진입 조건 입니다.
부탁드립니다.
2014-10-10
171
글번호 79260
뽕빵이 님에 의해서 삭제되었습니다.
2014-10-10
0
글번호 79259
답변완료
파워랭귀지 화일 변환 하기
아래 화일 변환 부탁해요
Input: PriceArray[12](NumericArrayRef), a1(numeric), a2(numeric), b1(numeric), b2(numeric), c1(numeric), c2(numeric), d1(numeric), d2(numeric),e1(numeric), e2(numeric),
f1(numeric), f2(numeric);
Var : Result(0);
PriceArray[1]=a1;
PriceArray[2]=a2;
PriceArray[3]=b1;
PriceArray[4]=b2;
PriceArray[5]=c1;
PriceArray[6]=c2;
PriceArray[7]=d1;
PriceArray[8]=d2;
PriceArray[9]=e1;
PriceArray[10]=e2;
PriceArray[11]=f1;
PriceArray[12]=f2;
_mango6=Result;
2014-10-10
175
글번호 79258
답변완료
문의드립니다.
수고하십니다.
일봉차트에서 전일종가가 단기이평위에 있으면 시가매수하고 전일종가가 단기이평아래에
있으면 시가매도하는 전략에 1%손절매수식을 포함하여 아래와 같이 완성하였습니다.
IF C>ma(C,5) THEN Buy("Buy",atmarket);
IF C<ma(C,5) THEN Sell("Sell",atmarket);
If MarketPosition == 1 and Close <= EntryPrice*(100-1)/100 Then
{
If !(C<ma(C,5)) Then ExitLong ("ExitLong", Atmarket);
}
If MarketPosition == -1 and Close >= EntryPrice*(100+1)/100 Then
{
If !(C>ma(C,5)) Then ExitShort("ExitShort", Atmarket);
}
이전략의 총손익을 성능보고서의 총손익과 비교하려고 총손익곡선을 아래와 같이
만들었는데 값이 일치하지 않네요.
슬리피지 각각 1틱씩, 수수료를 포함한 총손익을 Plot할수 있도록 수정해주세요.
여기서 총손익은 가상으로 매매한 총손익을 의미합니다.
그리고 총손익의 20일이평이 아닌 20거래이평을 Plot할 수 있는 방법도 알려주세요.
감사합니다.
Var : BEntryPrice(0),SEntryPrice(0),MP(0),BuyPL(0),SellPL(0),NetPL(0),TotalPL(0);
If MP <= 0 and C>ma(C,5) Then
{
BEntryPrice = C;
MP = 1;
if MP == 1 and MP[1] == -1 Then NetPL = NetPL+(SEntryPrice-C);
}
If MP >= 0 and C<ma(C,5) Then
{
SEntryPrice = C;
MP = -1;
if MP == -1 and MP[1] == 1 Then NetPL = NetPL+(C-BEntryPrice);
}
If MP == 1 and C <= BEntryPrice*(100-1)/100 Then
{
If !(C<ma(C,5)) Then
{
MP = 0;
NetPL = NetPL+(C-BEntryPrice);
}
}
If MP == -1 and C >= SEntryPrice*(100+1)/100 Then
{
If !(C>ma(C,5)) Then
{
MP = 0;
NetPL = NetPL+(SEntryPrice-C);
}
}
if MP == 1 Then
{
BuyPL = C-BEntryPrice;
TotalPL = NetPL+BuyPL;
}
if MP == -1 Then
{
SellPL = SEntryPrice-C;
TotalPL = NetPL+SellPL;
}
plot1((TotalPL, "총손익", red);
plot2(ma(TotalPL,20), "총손익이평", blue);
2014-10-10
298
글번호 79247
답변완료
문의 드립니다.
예스글로벌 프로에서는 보조지표중에
'매물대' 라는게 없더라구요.
보조지표 '매물대' 수식 부탁드리겠습니다.
매물대가 제일 촘촘하게 나오도록요.
2014-10-10
179
글번호 79242
답변완료
질문입니다.
“진입금액의 일정 수익 이상 실현 후에는 신규 매수 금지”
예를 들어 진입금액의 A% 이상 수익을 실현했다면, 그 날은 더 이상 진입하고 싶지 않습니다.
위의 경우에, 어떻게 코딩해야 하나요?
2014-10-10
164
글번호 79241