커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3357
글번호 230811
답변완료
수정 부탁드려요.
81086 수정부탁드립니다.
해선 당일시가 에서 n봉후 박스생성.
n봉후 박스생성한 종가에서 출발 또 n 봉후 2번째 박스 생성...
이렇게 독립된 박스 생성해 주세요. 2,3...박스가 당일 시가출발이 아니라 이전박스 종가 출발.
감사합니다.
2023-03-06
1264
글번호 166949
답변완료
수식보완부탁드립니다
수고하십니다.
아래 수식(그림)에서 파동의 꼭지점에 HH, HL, LL, LH 문자를 표시하는 식을 첨가부탁드립니다.
HH, HL 은 빨강색문자
LL, LH 는 라임색문자
============
//수식
Input:length(20),굵기(1),중간선굵기(2);
input : Per1(0),Per2(23.6),Per3(38.2),Per4(50.0),Per5(61.8),Per6(76.4),Per7(100),Per8(123.6),Per9(161.8);
Var : j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0);
var : HV(0),LV(0);
var : TL11(0),TL12(0),TL13(0),TL14(0),TL15(0),TL16(0),TL17(0),TL18(0),TL19(0);
var : Tx11(0),Tx12(0),Tx13(0),Tx14(0),Tx15(0),Tx16(0),Tx17(0),Tx18(0),Tx19(0);
Array:valArr[10](0),barArr[10](0),turnPntArr[10]("");
For j = 0 To 9
{
barArr[j] = barArr[j] + 1;
}
HV = highest(h,length);
LV = lowest(l,length);
Condition1 = HV > HV[1] ;
Condition2 = LV < LV[1] ;
If Condition1 Then { lastHiVal = H; lastLoVal = 0; }
If Condition2 Then { lastLoVal = L; lastHiVal = 0; }
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]);
value1 = valArr[2]-valArr[3];
TL_Delete(TL11);
TL_Delete(TL12);
TL_Delete(TL13);
TL_Delete(TL14);
TL_Delete(TL15);
TL_Delete(TL16);
TL_Delete(TL17);
TL_Delete(TL18);
TL_Delete(TL19);
TL_SetExtRight(TL11,False);
TL_SetExtRight(TL12,False);
TL_SetExtRight(TL13,False);
TL_SetExtRight(TL14,False);
TL_SetExtRight(TL15,False);
TL_SetExtRight(TL16,False);
TL_SetExtRight(TL17,False);
TL_SetExtRight(TL18,False);
TL_SetExtRight(TL19,False);
TL11 = TL_New(sDate[barArr[3]],sTime[barArr[3]],valArr[2]-value1*(per1/100),sDate[barArr[2]],sTime[barArr[2]],valArr[2]-value1*(per1/100));
TL12 = TL_New(sDate[barArr[3]],sTime[barArr[3]],valArr[2]-value1*(per2/100),sDate[barArr[2]],sTime[barArr[2]],valArr[2]-value1*(per2/100));
TL13 = TL_New(sDate[barArr[3]],sTime[barArr[3]],valArr[2]-value1*(per3/100),sDate[barArr[2]],sTime[barArr[2]],valArr[2]-value1*(per3/100));
TL14 = TL_New(sDate[barArr[3]],sTime[barArr[3]],valArr[2]-value1*(per4/100),sDate[barArr[2]],sTime[barArr[2]],valArr[2]-value1*(per4/100));
TL15 = TL_New(sDate[barArr[3]],sTime[barArr[3]],valArr[2]-value1*(per5/100),sDate[barArr[2]],sTime[barArr[2]],valArr[2]-value1*(per5/100));
TL16 = TL_New(sDate[barArr[3]],sTime[barArr[3]],valArr[2]-value1*(per6/100),sDate[barArr[2]],sTime[barArr[2]],valArr[2]-value1*(per6/100));
TL17 = TL_New(sDate[barArr[3]],sTime[barArr[3]],valArr[2]-value1*(per7/100),sDate[barArr[2]],sTime[barArr[2]],valArr[2]-value1*(per7/100));
TL18 = TL_New(sDate[barArr[3]],sTime[barArr[3]],valArr[2]-value1*(per8/100),sDate[barArr[2]],sTime[barArr[2]],valArr[2]-value1*(per8/100));
TL19 = TL_New(sDate[barArr[3]],sTime[barArr[3]],valArr[2]-value1*(per9/100),sDate[barArr[2]],sTime[barArr[2]],valArr[2]-value1*(per9/100));
TL_SetExtRight(TL11,true);
TL_SetExtRight(TL12,true);
TL_SetExtRight(TL13,true);
TL_SetExtRight(TL14,true);
TL_SetExtRight(TL15,true);
TL_SetExtRight(TL16,true);
TL_SetExtRight(TL17,true);
TL_SetExtRight(TL18,true);
TL_SetExtRight(TL19,true);
TL_SetColor(TL11,RED);
TL_SetColor(TL12,GRAY);
TL_SetColor(TL13,GRAY);
TL_SetColor(TL14,GRAY);
TL_SetColor(TL15,YELLOW);
TL_SetColor(TL16,GRAY);
TL_SetColor(TL17,BLUE);
TL_SetColor(TL18,GRAY);
TL_SetColor(TL19,YELLOW);
TL_SetSize(TL11,굵기);
TL_SetSize(TL12,굵기);
TL_SetSize(TL13,굵기);
TL_SetSize(TL14,굵기);
TL_SetSize(TL15,중간선굵기);
TL_SetSize(TL16,굵기);
TL_SetSize(TL17,굵기);
TL_SetSize(TL18,굵기);
TL_SetSize(TL19,굵기);
Text_Delete(Tx11);
Text_Delete(Tx12);
Text_Delete(Tx13);
Text_Delete(Tx14);
Text_Delete(Tx15);
Text_Delete(Tx16);
Text_Delete(Tx17);
Text_Delete(Tx18);
Text_Delete(Tx19);
tx11 = Text_New(sdate,stime,TL_GetValue(TL11,sdate,stime),NumToStr(Per1,2)+"%("+NumToStr(TL_GetValue(TL11,sdate,stime),2)+")");
tx12 = Text_New(sdate,stime,TL_GetValue(TL12,sdate,stime),NumToStr(Per2,2)+"%("+NumToStr(TL_GetValue(TL12,sdate,stime),2)+")");
tx13 = Text_New(sdate,stime,TL_GetValue(TL13,sdate,stime),NumToStr(Per3,2)+"%("+NumToStr(TL_GetValue(TL13,sdate,stime),2)+")");
tx14 = Text_New(sdate,stime,TL_GetValue(TL14,sdate,stime),NumToStr(Per4,2)+"%("+NumToStr(TL_GetValue(TL14,sdate,stime),2)+")");
tx15 = Text_New(sdate,stime,TL_GetValue(TL15,sdate,stime),NumToStr(Per5,2)+"%("+NumToStr(TL_GetValue(TL15,sdate,stime),2)+")");
tx16 = Text_New(sdate,stime,TL_GetValue(TL16,sdate,stime),NumToStr(Per6,2)+"%("+NumToStr(TL_GetValue(TL16,sdate,stime),2)+")");
tx17 = Text_New(sdate,stime,TL_GetValue(TL17,sdate,stime),NumToStr(Per7,2)+"%("+NumToStr(TL_GetValue(TL17,sdate,stime),2)+")");
tx18 = Text_New(sdate,stime,TL_GetValue(TL18,sdate,stime),NumToStr(Per8,2)+"%("+NumToStr(TL_GetValue(TL18,sdate,stime),2)+")");
tx19 = Text_New(sdate,stime,TL_GetValue(TL19,sdate,stime),NumToStr(Per9,2)+"%("+NumToStr(TL_GetValue(TL19,sdate,stime),2)+")");
Text_SetStyle(tx11,2,1);
Text_SetStyle(tx12,2,1);
Text_SetStyle(tx13,2,1);
Text_SetStyle(tx14,2,1);
Text_SetStyle(tx15,2,1);
Text_SetStyle(tx16,2,1);
Text_SetStyle(tx17,2,1);
Text_SetStyle(tx18,2,1);
Text_SetStyle(tx19,2,1);
}
}
value1 = valArr[2]-valArr[3];
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
//TL_SetBegin(TL11,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per1/100));
TL_SetEnd(TL11,sDate,sTime,valArr[2]-value1*(per1/100));
//TL_SetBegin(TL12,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per2/100));
TL_SetEnd(TL12,sDate,sTime,valArr[2]-value1*(per2/100));
//TL_SetBegin(TL13,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per3/100));
TL_SetEnd(TL13,sDate,sTime,valArr[2]-value1*(per3/100));
//TL_SetBegin(TL14,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per4/100));
TL_SetEnd(TL14,sDate,sTime,valArr[2]-value1*(per4/100));
//TL_SetBegin(TL15,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per5/100));
TL_SetEnd(TL15,sDate,sTime,valArr[2]-value1*(per5/100));
//TL_SetBegin(TL16,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per6/100));
TL_SetEnd(TL16,sDate,sTime,valArr[2]-value1*(per6/100));
//TL_SetBegin(TL17,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per7/100));
TL_SetEnd(TL17,sDate,sTime,valArr[2]-value1*(per7/100));
//TL_SetBegin(TL18,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per8/100));
TL_SetEnd(TL18,sDate,sTime,valArr[2]-value1*(per8/100));
//TL_SetBegin(TL19,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per9/100));
TL_SetEnd(TL19,sDate,sTime,valArr[2]-value1*(per9/100));
Text_SetLocation(Tx11,sdate,stime,TL_GetValue(TL11,sdate,stime));
Text_SetLocation(Tx12,sdate,stime,TL_GetValue(TL12,sdate,stime));
Text_SetLocation(Tx13,sdate,stime,TL_GetValue(TL13,sdate,stime));
Text_SetLocation(Tx14,sdate,stime,TL_GetValue(TL14,sdate,stime));
Text_SetLocation(Tx15,sdate,stime,TL_GetValue(TL15,sdate,stime));
Text_SetLocation(Tx16,sdate,stime,TL_GetValue(TL16,sdate,stime));
Text_SetLocation(Tx17,sdate,stime,TL_GetValue(TL17,sdate,stime));
Text_SetLocation(Tx18,sdate,stime,TL_GetValue(TL18,sdate,stime));
Text_SetLocation(Tx19,sdate,stime,TL_GetValue(TL19,sdate,stime));
Text_SetString(Tx11,NumToStr(Per1,2)+"%("+NumToStr(TL_GetValue(TL11,sdate,stime),2)+")");
Text_SetString(Tx12,NumToStr(Per2,2)+"%("+NumToStr(TL_GetValue(TL12,sdate,stime),2)+")");
Text_SetString(Tx13,NumToStr(Per3,2)+"%("+NumToStr(TL_GetValue(TL13,sdate,stime),2)+")");
Text_SetString(Tx14,NumToStr(Per4,2)+"%("+NumToStr(TL_GetValue(TL14,sdate,stime),2)+")");
Text_SetString(Tx15,NumToStr(Per5,2)+"%("+NumToStr(TL_GetValue(TL15,sdate,stime),2)+")");
Text_SetString(Tx16,NumToStr(Per6,2)+"%("+NumToStr(TL_GetValue(TL16,sdate,stime),2)+")");
Text_SetString(Tx17,NumToStr(Per7,2)+"%("+NumToStr(TL_GetValue(TL17,sdate,stime),2)+")");
Text_SetString(Tx18,NumToStr(Per8,2)+"%("+NumToStr(TL_GetValue(TL18,sdate,stime),2)+")");
Text_SetString(Tx19,NumToStr(Per9,2)+"%("+NumToStr(TL_GetValue(TL19,sdate,stime),2)+")");
}
TL_SetSize(TL1,굵기);
TL_SetColor(TL1,black);
2023-03-06
1906
글번호 166945
답변완료
당일 분봉상 최고거래대금
당일 분봉상 10봉이내 최고 거래대금을 찾고 지금 거래대금이 전 최고 거래대금을 돌파 할때를 찾고싶어요
2023-03-06
1105
글번호 166944
답변완료
수식 부탁드립니다
20,60,120일 이동평균선이 정배열이고, rsi70 이상이면
또는
rsi75 이상이면
매도해라
부탁드립니다~
2023-03-06
802
글번호 166943
답변완료
수식 부탁드립니다.
수고하십니다.
var ChartSet = new ReqChartItem("00000000",2,CHART_PERIOD_MINUTE,5000,CHART_REQCOUNT_BAR,false,true);
스팟에서 갭보정을 시킨다음
예스랭귀지에서는 전일종가-당일시가는 갭이 계산되는데..
갭보정을해서 전일종가-당일시가가 틀려집니다..
정확한 갭 계산을 하고 싶네요..
2023-03-06
929
글번호 166942
lbh1119 님에 의해서 삭제되었습니다.
2023-03-06
0
글번호 166934
답변완료
시스템식 부탁드립니다.
안녕하세요.
아래 시스템식 수정 부탁드립니다.
종목 : 해외선물
요청사항 1
가격이 계속 하락시 20개까지 추가 매수하도록 되어 있지만
최대 6개밖에 매수가 되지 않습니다.
왜 더 추가로 매수가 되지 않는지 모르겠습니다.
시스템식 수정 부탁드립니다.
요청사항 2
가격이 계속 하락하여 만약 5계약이 매수된 경우
첫번째 청산은 마지막 5번째 들어간 매수부터 청산하되
5번째 매수한 가격에서 20틱 상승시 청산
그 다음 4번째 들어간 매수를 청산하되
4번째 매수도 매수가격보다 20틱 상승시 청산
그 다음 3번째 들어간 매수를 청산하되
3번째 매수도 매수가격보다 20틱 상승시 청산
마지막으로 1번째로 매수한 것을 마지막으로 청산하고 싶습니다.
시스템식 수정 부탁드립니다.
요청사항 3
가령 매수를 5계약을 들어간 경우
청산은 5계약의 평균 진입가격에서 20틱 상승한 경우
한번에 청산하는 시스템식으로 수정 부탁드립니다.
감사합니다.
#-----------------------------------------
# 변수셋팅
#-----------------------------------------
Input : 매수진입폭(20) ;
Input : 매도진입폭(20) ;
var : 기준가격(0) ;
#---------------------------------------------------
# 매수시스템
#--------------------------------------------------
var1 = PriceScale*매수진입폭;
#-------------
# Long 매수
#-------------
if MarketPosition == 0 and L > DayOpen-var1 Then
Buy("B1",AtLimit,DayOpen-var1,1);
#---------------------
# Long 매수 물타기
#---------------------
if MarketPosition == 1 and MaxEntries == 1 Then
Buy("B2",AtLimit,DayOpen-var1*2,1);
if MarketPosition == 1 and MaxEntries == 2 Then
Buy("B3",AtLimit,DayOpen-var1*3,1);
if MarketPosition == 1 and MaxEntries == 3 Then
Buy("B4",AtLimit,DayOpen-var1*4,1);
if MarketPosition == 1 and MaxEntries == 4 Then
Buy("B5",AtLimit,DayOpen-var1*5,1);
if MarketPosition == 1 and MaxEntries == 5 Then
Buy("B6",AtLimit,DayOpen-var1*6,1);
if MarketPosition == 1 and MaxEntries == 6 Then
Buy("B7",AtLimit,DayOpen-var1*7,1);
if MarketPosition == 1 and MaxEntries == 7 Then
Buy("B8",AtLimit,DayOpen-var1*8,1);
if MarketPosition == 1 and MaxEntries == 8 Then
Buy("B9",AtLimit,DayOpen-var1*9,1);
if MarketPosition == 1 and MaxEntries == 9 Then
Buy("B10",AtLimit,DayOpen-var1*10,1);
if MarketPosition == 1 and MaxEntries == 10 Then
Buy("B11",AtLimit,DayOpen-var1*11,1);
if MarketPosition == 1 and MaxEntries == 11 Then
Buy("B12",AtLimit,DayOpen-var1*12,1);
if MarketPosition == 1 and MaxEntries == 12 Then
Buy("B13",AtLimit,DayOpen-var1*13,1);
if MarketPosition == 1 and MaxEntries == 13 Then
Buy("B14",AtLimit,DayOpen-var1*14,1);
if MarketPosition == 1 and MaxEntries == 14 Then
Buy("B15",AtLimit,DayOpen-var1*15,1);
if MarketPosition == 1 and MaxEntries == 15 Then
Buy("B16",AtLimit,DayOpen-var1*16,1);
if MarketPosition == 1 and MaxEntries == 16 Then
Buy("B17",AtLimit,DayOpen-var1*17,1);
if MarketPosition == 1 and MaxEntries == 17 Then
Buy("B18",AtLimit,DayOpen-var1*18,1);
if MarketPosition == 1 and MaxEntries == 18 Then
Buy("B19",AtLimit,DayOpen-var1*19,1);
if MarketPosition == 1 and MaxEntries == 19 Then
Buy("B20",AtLimit,DayOpen-var1*20,1);
#---------------------
# Long 매수 청산
#---------------------
if MarketPosition == 1 and MaxEntries == 1 Then
ExitLong("BX1",AtLimit,DayOpen+var1*0,"",1,2);
if MarketPosition == 1 and MaxEntries == 2 Then
ExitLong("BX2",AtLimit,DayOpen+var1*1,"",1,2);
if MarketPosition == 1 and MaxEntries == 3 Then
ExitLong("BX3",AtLimit,DayOpen+var1*2,"",1,2);
if MarketPosition == 1 and MaxEntries == 4 Then
ExitLong("BX4",AtLimit,DayOpen+var1*3,"",1,2);
if MarketPosition == 1 and MaxEntries == 5 Then
ExitLong("BX5",AtLimit,DayOpen+var1*4,"",1,2);
if MarketPosition == 1 and MaxEntries == 6 Then
ExitLong("BX6",AtLimit,DayOpen+var1*5,"",1,2);
if MarketPosition == 1 and MaxEntries == 7 Then
ExitLong("BX7",AtLimit,DayOpen+var1*6,"",1,2);
if MarketPosition == 1 and MaxEntries == 8 Then
ExitLong("BX8",AtLimit,DayOpen+var1*7,"",1,2);
if MarketPosition == 1 and MaxEntries == 9 Then
ExitLong("BX9",AtLimit,DayOpen+var1*8,"",1,2);
if MarketPosition == 1 and MaxEntries == 10 Then
ExitLong("BX10",AtLimit,DayOpen+var1*9,"",1,2);
if MarketPosition == 1 and MaxEntries == 11 Then
ExitLong("BX11",AtLimit,DayOpen+var1*10,"",1,2);
if MarketPosition == 1 and MaxEntries == 12 Then
ExitLong("BX12",AtLimit,DayOpen+var1*11,"",1,2);
if MarketPosition == 1 and MaxEntries == 13 Then
ExitLong("BX13",AtLimit,DayOpen+var1*12,"",1,2);
if MarketPosition == 1 and MaxEntries == 14 Then
ExitLong("BX14",AtLimit,DayOpen+var1*13,"",1,2);
if MarketPosition == 1 and MaxEntries == 15 Then
ExitLong("BX15",AtLimit,DayOpen+var1*14,"",1,2);
if MarketPosition == 1 and MaxEntries == 16 Then
ExitLong("BX16",AtLimit,DayOpen+var1*15,"",1,2);
if MarketPosition == 1 and MaxEntries == 17 Then
ExitLong("BX17",AtLimit,DayOpen+var1*16,"",1,2);
if MarketPosition == 1 and MaxEntries == 18 Then
ExitLong("BX18",AtLimit,DayOpen+var1*17,"",1,2);
if MarketPosition == 1 and MaxEntries == 19 Then
ExitLong("BX19",AtLimit,DayOpen+var1*18,"",1,2);
if MarketPosition == 1 and MaxEntries == 20 Then
ExitLong("BX20",AtLimit,DayOpen+var1*19,"",1,2);
#---------------------------------------------------
# 매도시스템
#---------------------------------------------------
var3 = PriceScale*매도진입폭;
#-------------
# short 매도
#-------------
if MarketPosition == 0 and H < DayOpen+var3 Then
Sell("S1",AtLimit,DayOpen+var3,1);
#---------------------
# Short 매도 물타기
#---------------------
if MarketPosition == -1 and MaxEntries == 1 Then
Sell("S2",AtLimit,DayOpen+var3*2,1);
if MarketPosition == -1 and MaxEntries == 2 Then
Sell("S3",AtLimit,DayOpen+var3*3,1);
if MarketPosition == -1 and MaxEntries == 3 Then
Sell("S4",AtLimit,DayOpen+var3*4,1);
if MarketPosition == -1 and MaxEntries == 4 Then
Sell("S5",AtLimit,DayOpen+var3*5,1);
if MarketPosition == -1 and MaxEntries == 5 Then
Sell("S6",AtLimit,DayOpen+var3*6,1);
if MarketPosition == -1 and MaxEntries == 6 Then
Sell("S7",AtLimit,DayOpen+var3*7,1);
if MarketPosition == -1 and MaxEntries == 7 Then
Sell("S8",AtLimit,DayOpen+var3*8,1);
if MarketPosition == -1 and MaxEntries == 8 Then
Sell("S9",AtLimit,DayOpen+var3*9,1);
if MarketPosition == -1 and MaxEntries == 9 Then
Sell("S10",AtLimit,DayOpen+var3*10,1);
if MarketPosition == -1 and MaxEntries == 10 Then
Sell("S11",AtLimit,DayOpen+var3*11,1);
if MarketPosition == -1 and MaxEntries == 11 Then
Sell("S12",AtLimit,DayOpen+var3*12,1);
if MarketPosition == -1 and MaxEntries == 12 Then
Sell("S13",AtLimit,DayOpen+var3*13,1);
if MarketPosition == -1 and MaxEntries == 13 Then
Sell("S14",AtLimit,DayOpen+var3*14,1);
if MarketPosition == -1 and MaxEntries == 14 Then
Sell("S15",AtLimit,DayOpen+var3*15,1);
if MarketPosition == -1 and MaxEntries == 15 Then
Sell("S16",AtLimit,DayOpen+var3*16,1);
if MarketPosition == -1 and MaxEntries == 16 Then
Sell("S17",AtLimit,DayOpen+var3*17,1);
if MarketPosition == -1 and MaxEntries == 17 Then
Sell("S18",AtLimit,DayOpen+var3*18,1);
if MarketPosition == -1 and MaxEntries == 18 Then
Sell("S19",AtLimit,DayOpen+var3*19,1);
if MarketPosition == -1 and MaxEntries == 19 Then
Sell("S20",AtLimit,DayOpen+var3*20,1);
#---------------------
# Short 매도 청산
#---------------------
if MarketPosition == -1 and MaxEntries == 1 Then
ExitShort("SX1",AtLimit,DayOpen-var3*0,"",1,2);
if MarketPosition == -1 and MaxEntries == 2 Then
ExitShort("SX2",AtLimit,DayOpen-var3*1,"",1,2);
if MarketPosition == -1 and MaxEntries == 3 Then
ExitShort("SX3",AtLimit,DayOpen-var3*2,"",1,2);
if MarketPosition == -1 and MaxEntries == 4 Then
ExitShort("SX4",AtLimit,DayOpen-var3*3,"",1,2);
if MarketPosition == -1 and MaxEntries == 5 Then
ExitShort("SX5",AtLimit,DayOpen-var3*4,"",1,2);
if MarketPosition == -1 and MaxEntries == 6 Then
ExitShort("SX6",AtLimit,DayOpen-var3*5,"",1,2);
if MarketPosition == -1 and MaxEntries == 7 Then
ExitShort("SX7",AtLimit,DayOpen-var3*6,"",1,2);
if MarketPosition == -1 and MaxEntries == 8 Then
ExitShort("SX8",AtLimit,DayOpen-var3*7,"",1,2);
if MarketPosition == -1 and MaxEntries == 9 Then
ExitShort("SX9",AtLimit,DayOpen-var3*8,"",1,2);
if MarketPosition == -1 and MaxEntries == 10 Then
ExitShort("SX10",AtLimit,DayOpen-var3*9,"",1,2);
if MarketPosition == -1 and MaxEntries == 11 Then
ExitShort("SX11",AtLimit,DayOpen-var3*10,"",1,2);
if MarketPosition == -1 and MaxEntries == 12 Then
ExitShort("SX12",AtLimit,DayOpen-var3*11,"",1,2);
if MarketPosition == -1 and MaxEntries == 13 Then
ExitShort("SX13",AtLimit,DayOpen-var3*12,"",1,2);
if MarketPosition == -1 and MaxEntries == 14 Then
ExitShort("SX14",AtLimit,DayOpen-var3*13,"",1,2);
if MarketPosition == -1 and MaxEntries == 15 Then
ExitShort("SX15",AtLimit,DayOpen-var3*14,"",1,2);
if MarketPosition == -1 and MaxEntries == 16 Then
ExitShort("SX16",AtLimit,DayOpen-var3*15,"",1,2);
if MarketPosition == -1 and MaxEntries == 17 Then
ExitShort("SX17",AtLimit,DayOpen-var3*16,"",1,2);
if MarketPosition == -1 and MaxEntries == 18 Then
ExitShort("SX18",AtLimit,DayOpen-var3*17,"",1,2);
if MarketPosition == -1 and MaxEntries == 19 Then
ExitShort("SX19",AtLimit,DayOpen-var3*18,"",1,2);
if MarketPosition == -1 and MaxEntries == 20 Then
ExitShort("SX20",AtLimit,DayOpen-var3*19,"",1,2);
2023-03-05
701
글번호 166933
답변완료
수식 작성 문의드려요
수고가 많으십니다.
첨부파일은 예스트레이더에서 사용하는 Williams Vix Fix 와 Williams Vix Fix inverse 지표입니다.(출처는 갬블러라는분의 블로그입니다.)
이 지표를 가지고 종목검색식을 만들고 싶습니다.
검색 조건은 아래와 같습니다.
검색식은 각각 따로 분리해주시면 감사하겠습니다.
검색조건 1. Williams Vix Fix 가 과매도구간(녹색)인 종목 검색
검색조건 2. Williams Vix Fix inverse 값이 3 이하인종목 검색
검색조건 3. Williams Vix Fix 값이 전일 대비 감소한 종목 검색
검색조건 4. Williams Vix Fix inverse 값이 전일 대비 증가한 종목 검색
미리 감사의 말씀 드립니다.
2023-03-05
1404
글번호 166932
답변완료
문의드립니다
안녕하세요?
아래수식에서 plot1 과 plot5 두가지의선이 기울기가 상향일때 빨강색 ,수평일때 그린색 ,하향일때 파랑색으로 표현되기를원합니다
감사드립니다
input : a(60);
var1 = highest(h,a)[1];
Var2 = (3*highest(h,a)[1]+lowest(l,a)[1])/4;
Var3 = (highest(h,a)[1]+lowest(l,a)[1])/2;
var4 = (3*lowest(l,a)[1]+highest(h,a)[1])/4;
var5 = lowest(l,a)[1];
Plot1(var1);
Plot2(var2);
Plot3(var3);
Plot4(var4);
Plot5(var5);
2023-03-05
1292
글번호 166931