예스스탁
예스스탁 답변
2020-02-20 14:15:19
안녕하세요
예스스탁입니다.
input : N(5),X(10);
var : idx(0),entry(0);
if (sdate != sdate[1] and stime >= 101500) or
(sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then
{
entry = 0;
}
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
if stime >= 101500 and stime < 170000 then
{
idx = idx+1;
if idx >= 5 and entry < X then
{
if MarketPosition <= 0 Then
buy("b",AtStop,highest(H,N)+PriceScale);
if MarketPosition >= 0 Then
sell("s",AtStop,lowest(L,N)-PriceScale);
}
}
SetStopEndofday(170000);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
아래의 스크립트의 전략을 수정하고 합니다.
항셍선물 1분봉으로 거래를 하고자 합니다.
T장에만 거래하고 싶습니다.
10시 15분에 시가가 들어오면 그 이후부터 최근 5개봉 고점 돌파완성 익봉에 매수 진입
10시 15분에 시가가 들어오면 그 이후부터 최근 5개봉 저점 이탈완성 익봉에 매도 진입
매수와 매도 리버스로 된 전략이며 10시 16분 완성봉부터 1개를 카운팅하여
최근 5개 봉 고점과 저점을 돌파시 계속 진입하되
17시 강제청산하며 진입기준으로 10회만 하고자 합니다.
스크립트 작성 요청드립니다.
Vars : SP(0,data1), TickSize(0,data1);
Vars : fstHH(0,data1), fstLL(0,data1), sndHH(0,data2), sndLL(0,data2);
var : v1(0,data2),v2(0,data2);
SP = MarketPosition;
TickSize = PriceScale;
v1 = data2(H);
v2 = data2(L);
IF v1[10] > 0 Then
Begin
fstHH = data1(Highest(H, 5));
fstLL = data1(Lowest(L, 5));
sndHH = Max(v1, v1[1], v1[2], v1[3], v1[4], v1[5], v1[6], v1[7], v1[8], v1[9], v1[10]);
sndLL = Min(v2, v2[1], v2[2], v2[3], v2[4], v2[5], v2[6], v2[7], v2[8], v2[9], v2[10]);
End;
IF MarketPosition == 0 and data2(C) > sndHH[1] Then Buy("B", AtStop, fstHH - TickSize);
IF MarketPosition == 0 and data2(C) < sndLL[1] Then Sell("S", AtStop, fstLL + TickSize);
흰둥이아빠
2020-02-20 16:56:07
답변 감사드립니다.
그런데 작성주신 스크립트에는 data2에 대한 함수가 없네요.
기본 스크립트를 유지하되 T장에서만 봉을 카운팅하고 진입횟수를 제어하여 거래하고자 하는게 큰 컨셉입니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 함수요청
> 안녕하세요
예스스탁입니다.
input : N(5),X(10);
var : idx(0),entry(0);
if (sdate != sdate[1] and stime >= 101500) or
(sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then
{
entry = 0;
}
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
if stime >= 101500 and stime < 170000 then
{
idx = idx+1;
if idx >= 5 and entry < X then
{
if MarketPosition <= 0 Then
buy("b",AtStop,highest(H,N)+PriceScale);
if MarketPosition >= 0 Then
sell("s",AtStop,lowest(L,N)-PriceScale);
}
}
SetStopEndofday(170000);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
아래의 스크립트의 전략을 수정하고 합니다.
항셍선물 1분봉으로 거래를 하고자 합니다.
T장에만 거래하고 싶습니다.
10시 15분에 시가가 들어오면 그 이후부터 최근 5개봉 고점 돌파완성 익봉에 매수 진입
10시 15분에 시가가 들어오면 그 이후부터 최근 5개봉 저점 이탈완성 익봉에 매도 진입
매수와 매도 리버스로 된 전략이며 10시 16분 완성봉부터 1개를 카운팅하여
최근 5개 봉 고점과 저점을 돌파시 계속 진입하되
17시 강제청산하며 진입기준으로 10회만 하고자 합니다.
스크립트 작성 요청드립니다.
Vars : SP(0,data1), TickSize(0,data1);
Vars : fstHH(0,data1), fstLL(0,data1), sndHH(0,data2), sndLL(0,data2);
var : v1(0,data2),v2(0,data2);
SP = MarketPosition;
TickSize = PriceScale;
v1 = data2(H);
v2 = data2(L);
IF v1[10] > 0 Then
Begin
fstHH = data1(Highest(H, 5));
fstLL = data1(Lowest(L, 5));
sndHH = Max(v1, v1[1], v1[2], v1[3], v1[4], v1[5], v1[6], v1[7], v1[8], v1[9], v1[10]);
sndLL = Min(v2, v2[1], v2[2], v2[3], v2[4], v2[5], v2[6], v2[7], v2[8], v2[9], v2[10]);
End;
IF MarketPosition == 0 and data2(C) > sndHH[1] Then Buy("B", AtStop, fstHH - TickSize);
IF MarketPosition == 0 and data2(C) < sndLL[1] Then Sell("S", AtStop, fstLL + TickSize);
예스스탁
예스스탁 답변
2020-02-21 10:18:55
안녕하세요
예스스탁입니다.
input : N1(5),N2(10),X(10);
var : entry(0,data1);
var : H1(0,data1),L1(0,data1),H2(0,data2),L2(0,data2);
H1 = data1(highest(H,N1));
L1 = data1(Lowest(L,N1));
H2 = data2(highest(H,N2));
L2 = data2(Lowest(L,N2));
if (sdate != sdate[1] and stime >= 101500) or
(sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then
{
entry = 0;
}
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
if stime >= 101500 and stime < 170000 then
{
if entry < X then
{
if MarketPosition <= 0 and data2(C > H2[1]) Then
buy("b",AtStop,H1+PriceScale);
if MarketPosition >= 0 and data2(C < L2[1]) Then
sell("s",AtStop,L1-PriceScale);
}
}
SetStopEndofday(170000);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : Re : Re : 함수요청
> 답변 감사드립니다.
그런데 작성주신 스크립트에는 data2에 대한 함수가 없네요.
기본 스크립트를 유지하되 T장에서만 봉을 카운팅하고 진입횟수를 제어하여 거래하고자 하는게 큰 컨셉입니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 함수요청
> 안녕하세요
예스스탁입니다.
input : N(5),X(10);
var : idx(0),entry(0);
if (sdate != sdate[1] and stime >= 101500) or
(sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then
{
entry = 0;
}
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
if stime >= 101500 and stime < 170000 then
{
idx = idx+1;
if idx >= 5 and entry < X then
{
if MarketPosition <= 0 Then
buy("b",AtStop,highest(H,N)+PriceScale);
if MarketPosition >= 0 Then
sell("s",AtStop,lowest(L,N)-PriceScale);
}
}
SetStopEndofday(170000);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
아래의 스크립트의 전략을 수정하고 합니다.
항셍선물 1분봉으로 거래를 하고자 합니다.
T장에만 거래하고 싶습니다.
10시 15분에 시가가 들어오면 그 이후부터 최근 5개봉 고점 돌파완성 익봉에 매수 진입
10시 15분에 시가가 들어오면 그 이후부터 최근 5개봉 저점 이탈완성 익봉에 매도 진입
매수와 매도 리버스로 된 전략이며 10시 16분 완성봉부터 1개를 카운팅하여
최근 5개 봉 고점과 저점을 돌파시 계속 진입하되
17시 강제청산하며 진입기준으로 10회만 하고자 합니다.
스크립트 작성 요청드립니다.
Vars : SP(0,data1), TickSize(0,data1);
Vars : fstHH(0,data1), fstLL(0,data1), sndHH(0,data2), sndLL(0,data2);
var : v1(0,data2),v2(0,data2);
SP = MarketPosition;
TickSize = PriceScale;
v1 = data2(H);
v2 = data2(L);
IF v1[10] > 0 Then
Begin
fstHH = data1(Highest(H, 5));
fstLL = data1(Lowest(L, 5));
sndHH = Max(v1, v1[1], v1[2], v1[3], v1[4], v1[5], v1[6], v1[7], v1[8], v1[9], v1[10]);
sndLL = Min(v2, v2[1], v2[2], v2[3], v2[4], v2[5], v2[6], v2[7], v2[8], v2[9], v2[10]);
End;
IF MarketPosition == 0 and data2(C) > sndHH[1] Then Buy("B", AtStop, fstHH - TickSize);
IF MarketPosition == 0 and data2(C) < sndLL[1] Then Sell("S", AtStop, fstLL + TickSize);