예스스탁
예스스탁 답변
2025-07-29 09:31:06
안녕하세요
예스스탁입니다.
input : 진입시간(084500),진입제한시간(141500);
input : 거래횟수(2);
input : b1(80),진입눌림1(4),진입돌파1(1);
input : b2(90),진입눌림2(4),진입돌파2(1);
var : TT(0,data1),T1(0,Data1),entry(0,Data1),LL(0,Data1),EH(0,Data1),E1(0,Data1);
var : H1(0,Data1),i1(0,Data1),S1(0,Data1),L1(0,Data1),V1(0,Data1);
var : Tcond(false,Data1);
var : cond(false,data2),x2(0,Data2);
TT = TotalTrades;
if Data1((sdate != sdate[1] and stime >= 진입제한시간) or
(sdate == sdate[1] and stime >= 진입제한시간 and stime[1] < 진입제한시간)) Then
Tcond = false;
if Data1((sdate != sdate[1] and stime >= 진입시간) or
(sdate == sdate[1] and stime >= 진입시간 and stime[1] < 진입시간)) Then
{
Tcond = true;
T1 = TT[1];
E1 = 0;
LL = L;
}
if data1(stime >= 진입시간) then
{
if L < LL Then
LL = L;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if TT > TT[1] Then
{
cond = False;
x2 = Data2(Index);
}
if entry == 1
and Data2(Index) >= x2+5
and Data2(CountIf(C>O,5)== 5 and AccumN(C-O,5) >= 2) Then
cond = true;
if MarketPosition == 0 and entry == 0 Then
{
if E1 == 0 and C >= LL+PriceScale*B1 Then
{
E1 = 1;
H1 = H;
i1 = index;
V1 = LL; //시작점 종가
}
if E1 == 1 and index > i1 then
{
if H > H1 Then
H1 = H;
#저가가 시작봉종가보다 클때만 눌림체크
if L >= V1 and L <= H1-PriceScale*진입눌림1 Then
{
E1 = 2;
i1 = index;
S1 = H1;
}
}
//시작점 종가보다 낮은 가격이 발생하면 초기화
if E1 >= 1 and L < V1 Then
{
E1 = 0;
LL = L;
}
if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파1 and Tcond == true Then
{
buy("b1");
}
}
if TotalTrades > TotalTrades[1] Then
{
E1 = 0;
LL = L;
}
if L < LL Then
LL = L;
if MarketPosition == 0 and entry >= 1 and entry < 거래횟수 Then
{
if E1 == 0 and C >= LL+PriceScale*B2 Then
{
E1 = 1;
H1 = H;
i1 = index;
V1 = LL; //시작점 종가
}
if E1 == 1 and index > i1 then
{
if H > H1 Then
H1 = H;
#저가가 시작봉종가보다 클때만 눌림체크
if L >= V1 and L <= H1-PriceScale*진입눌림2 Then
{
E1 = 2;
i1 = index;
S1 = H1;
}
}
//시작점 종가보다 낮은 가격이 발생하면 초기화
if E1 >= 1 and L < V1 Then
{
E1 = 0;
LL = L;
}
if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파2 and Tcond == true and cond == False Then
{
buy("b2");
}
}
}
즐거운 하루되세요
> 목마와숙녀 님이 쓴 글입니다.
> 제목 : 문의
> 답변수식을 해당수식에 적용해보았는데
변수가 겹치는 것도 있고...제가 잘못 적용했는지 파라미터값에 변화가 없습니다.
사용수식에 직접 추가해주셨으면 합니다.
진입필터 추가할 수식입니다.
input : 진입시간(084500),진입제한시간(141500);
input : 거래횟수(2);
input : b1(80),진입눌림1(4),진입돌파1(1);
input : b2(90),진입눌림2(4),진입돌파2(1);
var : T1(0),entry(0),LL(0),EH(0),E1(0),H1(0),i1(0),S1(0),L1(0),V1(0);
var : Tcond(false);
if (sdate != sdate[1] and stime >= 진입시간) or
(sdate == sdate[1] and stime >= 진입시간 and stime[1] < 진입시간) Then
Tcond = true;
if (sdate != sdate[1] and stime >= 진입제한시간) or
(sdate == sdate[1] and stime >= 진입제한시간 and stime[1] < 진입제한시간) Then
Tcond = false;
if (sdate != sdate[1] and stime >= 진입시간) or
(sdate == sdate[1] and stime >= 진입시간 and stime[1] < 진입시간) Then{
T1 = TotalTrades;
E1 = 0;
LL = L;
}
if stime >= 진입시간 then{
if L < LL Then
LL = L;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 Then{
if E1 == 0 and C >= LL+PriceScale*B1 Then{
E1 = 1;
H1 = H;
i1 = index;
V1 = LL; //시작점 종가
}
if E1 == 1 and index > i1 then{
if H > H1 Then
H1 = H;
#저가가 시작봉종가보다 클때만 눌림체크
if L >= V1 and L <= H1-PriceScale*진입눌림1 Then{
E1 = 2;
i1 = index;
S1 = H1;
}
}
//시작점 종가보다 낮은 가격이 발생하면 초기화
if E1 >= 1 and L < V1 Then{
E1 = 0;
LL = L;
}
if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파1 and Tcond == true Then{
buy("b1");
}
}
if TotalTrades > TotalTrades[1] Then{
E1 = 0;
LL = L;
}
if L < LL Then
LL = L;
if MarketPosition == 0 and entry >= 1 and entry < 거래횟수 Then{
if E1 == 0 and C >= LL+PriceScale*B2 Then{
E1 = 1;
H1 = H;
i1 = index;
V1 = LL; //시작점 종가
}
if E1 == 1 and index > i1 then{
if H > H1 Then
H1 = H;
#저가가 시작봉종가보다 클때만 눌림체크
if L >= V1 and L <= H1-PriceScale*진입눌림2 Then{
E1 = 2;
i1 = index;
S1 = H1;
}
}
//시작점 종가보다 낮은 가격이 발생하면 초기화
if E1 >= 1 and L < V1 Then{
E1 = 0;
LL = L;
}
if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파2 and Tcond == true Then{
buy("b2");
}
}
}
**********************************************************************************
안녕하세요
예스스탁입니다.
var : tt(0,Data1),t1(0,Data1),entry(0,Data1);
var : cond(False,Data2),x2(0,Data2);
tt = TotalTrades;
if bdate != Bdate[1] Then
{
t1 = tt[1];
cond = False;
}
entry = tt-t1 + IFF(MarketPosition != 0,1,0);
if tt > tt[1] Then
{
cond = False;
x2 = Data2(Index);
}
if entry == 1
and Data2(Index) >= x2+5
and Data2(CountIf(C>O,5)== 5 and AccumN(C-O,5) >= 2) Then
cond = true;
if MarketPosition == 0 and entry == 0 and 진입수식a then
buy("b1");
if MarketPosition == 0
and entry == 1
and cond == False
and 진입수식b then
buy("b2");
즐거운 하루되세요
> 목마와숙녀 님이 쓴 글입니다.
> 제목 : 문의
> 주간거래
data1 미니선물 30틱
data2 외인주식 5분봉(진입필터용)
하루 2번 진입하는 수식입니다.
첫번째 진입하고 청산.
두번째 진입할 때 필터를 추가하는 건입니다.
if 진입수식a then
buy("b1");
if b1청산 이후부터 발생한 !(data2 연속된 양봉 5개,몸통합 2) and 진입수식b then
buy("b2");
b1 청산 이후부터 발생한 봉부터 계산했다는 점이 중요합니다.
수식 작성 부탁드립니다.
항상 고맙습니다.