커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6309
글번호 230811
답변완료
문의드립니다
아래만들어주신수식에서 FX유로가격과 엔화 가격만 표현이 안되고총6자리의가격중 3자리만표시되고있습니다(오일 골드 국선 에스엔피등은 정상으로 잘표시됩니다)
예를들어유로의경우 1.08910이연1.09로표현되고 엔화의경우0.90165면0.90으로표현되고있습니다
유로와엔화도 정상가격이표시될수있는지요? 감사합니다
Input:length(12);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),Text1(0),처리구분(""),
TL_Val1(0),TL_Val2(0);
Array:고점[10,2](0),저점[10,2](0);
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
If 고점[3,1][1] < 고점[2,1][1] and 고점[2,1][1] > 고점[1,1][1] and 저점[2,1][1] < 저점[1,1][1] Then
TL_Delete(TL2);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");//소리출력
TL_SetColor(TL1,red);
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(abs(고점[1,1]-저점[1,1])/PriceScale,0)+NewLine+NumToStr(고점[1,1],2));
Text_SetStyle(Text1, 2, 1);
If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then
{
sBar = Index - 저점[2,2];
eBar = Index - 저점[1,2];
}
}
}
If 처리구분 == "저점처리" Then
{
lastLoVal = L;
If 저점[1,2] < 고점[1,2] Then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L Then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
If 저점[2,1][1] < 저점[1,1][1] and 저점[2,1][1] < 저점[3,1][1] and 고점[2,1][1] > 고점[1,1][1] Then
TL_Delete(TL3);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
PlaySound("C:₩WRFutures₩YesGlobalPro₩data₩Sound₩SoundTest.wav");//소리출력
TL_SetColor(TL1,blue);
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(abs(고점[1,1]-저점[1,1])/PriceScale,0)+NewLine+NumToStr(저점[1,1],2));
Text_SetStyle(Text1, 2, 0);
If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then
{
sBar = Index - 고점[2,2];
eBar = Index - 고점[1,2];
}
}
}
TL_SetSize(TL1,3);
2017-04-28
215
글번호 109262
답변완료
손절관련
시간에 따라 손절틱수를 변경할수있도록 문의 드렸는데 아래와 같이 답변 주셨습니다. 근데 그럼 예를들어 아래 수식에 추가적으로 19시에 모두 청산하는 수식을 넣을수 있나요? 손절조건은 아래 조건대로 적용되면서 정해진 시간되면 모두 청산 하게끔요.
만약에 가능하다면 혹시 아래 손절 틱수를 변수로 빼서 조절할수 있게 작성할수 있을까요?
if MarketPosition == 1 Then{
if stime < 150000 Then
exitlong("bx1",AtStop,EntryPrice-PriceScale*12);
else
exitlong("bx2",AtStop,EntryPrice-PriceScale*7);
}
if MarketPosition == -1 Then{
if stime < 150000 Then
ExitShort("sx1",AtStop,EntryPrice+PriceScale*12);
else
ExitShort("sx2",AtStop,EntryPrice+PriceScale*7);
}
2017-04-28
122
글번호 109254
동동이아빠 님에 의해서 삭제되었습니다.
2017-04-28
11
글번호 109249
답변완료
부탁 드립니다.
안녕하세요.
수식 요청 드립니다.
수동으로 매도 진입되는 기존 피라미딩 시스템에 적용되는 추가수식 요청 드립니다.
연결선물 분봉 틱봉 차트에 시스템을 장중 어는 시간이든지 적용할 경우 차트에 진행중인 다음봉 시가에
매도 진입되는 수식 요청 드림니다.
감사합니다.
2017-04-28
113
글번호 109248
답변완료
안녕하세요
반갑습니다 문의합니다
1.시가와 전일중심값..(타회원분 문의결과로 적용해보니 챠트가 그려지질 않아서요)
.분봉용 입니다,
2.피보나치 로그적용
감사합니다
2017-04-28
137
글번호 109244
답변완료
문의드립니다
안녕하세요 9시에 신호가 바로 나오는 이유를 알고싶습니다
시작시간이 9시3분 인데요 3분전에 신호가 나오네요 감사합니다
input : Period(1),당일청산시간(142000),스탑(0.35),시작시간(090300);
var : value1(0),value6(0,data2),value7(0,data3),value3(0),value8(0,data4),value9(0,data5),value5(0),tcond(False),count(0),value10(0);
# 당일진입횟수계산
count = 0 ;
for value1 = 0 to 10 {
if entrydate(value10) == date then count = count + 1 ;
}
value3 = data2("C")-data3("C");
Value1 = data2("C")/data3("C")*100;
value5 = data4("C")/data5("C")*100;
if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then {
tcond = true;
}
if tcond == true and count < 3 then {
if CrossDown(value1,200) Then
sell();
if Crossup(value1,50) Then
buy();
}
2017-04-28
111
글번호 109243
답변완료
문의 드립니다.
진입후 경과시간(분단위- 60 이면 60분)을 나타내는 식 부탁드립니다.
2017-04-28
117
글번호 109241
천년의사랑 님에 의해서 삭제되었습니다.
2017-04-28
0
글번호 109240
답변완료
부탁 합니다
문의드립니다
다음수식에 첨부 하고 싶은게 있습니다
*진입후 2시간후에도 20틱 이상 수익권 아닐때
손실권에서는 스탑으로 대응하고 본청오면 청산
수익권에서는 아무구간 수익청산
*진입봉기분 200봉이 지나도 20틱 이상 수익권 아닐때
손실권에서는 스탑으로 대응하고 본청오면 청산
수익권에서는 아무구간 수익청산
부탁 드립니다
-------------------------------------------------------
Input : Period(12), sigPeriod(9);
Input : short(12), long(26), Sig(9);
var : T1(0),entry(0);
if bdate != bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
value1 = TRIX(Period);
value2 = ema(value1, sigPeriod);
if crossup(value1,0) Then
buy();
if CrossDown(value1,0) Then
sell();
if MarketPosition == 1 and entry >= 2 Then
exitlong("bx",AtStop,highest(H,20)-PriceScale*5);
if MarketPosition == -1 and entry >= 2 Then
ExitShort("sx",AtStop,Lowest(L,20)+PriceScale*5);
SetStopProfittarget(PercentProfit*20,PointStop);
SetStopLoss(PriceScale*30,PointStop);
2017-04-27
112
글번호 109239