항상 도움 주셔서 감사합니다.
아래 조건에 맞는 시스템식 부탁드립니다.
요청수식1 :
종목 : 해외선물(오일)
차트 : 틱차트 100
매수 : MACD가 0선 크로스 업 매수진입
단, 매수는 바로 이전 진입이 매도 일때만 가능
포지션 진입후 10틱 하락하면 추가 매수
매도 : MACD가 0선 크로스 다운 매도진입
단, 매도는 바로 이전 진입이 매수 일때만 가능
포지션 진입후 10틱 상승하면 추가 매도
즉 이전 포지션이 매수면 그 다음은 매도, 이전 포지션이 매도면 그 다음은 매수
이런식으로 교차했으면 합니다.
단, 그 다음날 (익일 7시)은 다시 초기화 했으면 합니다.
예)
var : MACDV(0) ;
# 매일 장 시작전 진입조건 초기화
if marketpositon == 0 and crossup(MACDv,0) then {
# 여기조건에 바로이전 포지션이 매도 인경우에만 매수진입 가능
buy("b");
}
# 매수진입 후 진입가격에서 10틱하락하면 추가 1계약 매수
if marketpositon == 0 and crossdown(MACDv,0) then {
# 여기조건에 바로이전 포지션이 매수 인경우에만 매도진입 가능
sell("s");
}
# 매도진입 후 진입가격에서 10틱상승하면 추가 1계약 매도
요청수식2)
종목 : 해외선물(오일)
차트 : 틱차트 100
매수 : MACD가 0선 크로스 업 매수진입
단, 아침 7시 장시작부터 새벽 6시 장 끝날때까지 매수는 1번만 진입
그리고 진입가격에서 10틱 하락하면 추가 매수
매도 : MACD가 0선 크로스 다운 매도진입
단, 아침 7시 장시작부터 새벽 6시 장 끝날때까지 매도는 1번만 진입
그리고 진입가격에서 10틱 상승하면 추가 매도
단, 그 다음날 (익일 7시)은 다시 초기화 했으면 합니다.
예)
var : MACDV(0) ;
# 매일 장 시작전 진입횟수 초기화
# 진입횟수는 변경할수 있도록 변수화 부탁드립니다.
if marketpositon == 0 and crossup(MACDv,0) then {
buy("b");
}
# 매수 진입후 10틱 하락하면 추가 매수
if marketpositon == 0 and crossdown(MACDv,0) then {
sell("s");
}
# 매도 진입후 10틱 하락하면 추가 매도
요청질문)
input : StartTime(070000),EndTime(010000);
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
제가 초보라 위 수식에 대해 이해가 안됩니다.
죄송하지만 수식에 대한 설명좀 부탁드립니다.
1. sdate != sdate[1] 무슨 뜻인가요?
2. sdate == sdate[1] 무슨 뜻인가요?
3. stime >= StartTime and stime[1] < StartTime 무슨 뜻인가요?
4. 전체적으로 무슨 뜻인가요?
시스템식 부탁드립니다.
감사합니다.
답변 1
예스스탁
예스스탁 답변
2021-11-09 14:35:36
안녕하세요
예스스탁입니다.
1
input : short(12),long(26);
var : macdv(0),entry(0);
macdv = macd(short,long);
if Bdate != Bdate[1] Then
entry = 0;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if CrossUp(MACDV,0) Then
{
if entry == 0 or
(entry > 0 and MarketPosition == 0 and MarketPosition(1) == -1) or
(entry > 0 and MarketPosition == -1) Then
Buy();
}
if CrossDown(MACDV,0) Then
{
if entry == 0 or
(entry > 0 and MarketPosition == 0 and MarketPosition(1) == 1) or
(entry > 0 and MarketPosition == 1) Then
Sell();
}
2
input : short(12),long(26);
var : macdv(0),Bentry(0),Sentry(0);
macdv = macd(short,long);
if Bdate != Bdate[1] Then
{
Bentry = 0;
Sentry = 0;
}
if (MarketPosition == 1 and MarketPosition != MarketPosition[1]) Then
Bentry = Bentry+1;
if (MarketPosition == -1 and MarketPosition != MarketPosition[1]) Then
Sentry = Sentry+1;
if MarketPosition == 0 and CrossUp(MACDV,0) and Bentry < 1 Then
Buy("b1");
if MarketPosition == 1 and MaxEntries == 1 Then
Buy("b2",AtLimit,EntryPrice-PriceScale*10);
if MarketPosition == 0 and CrossDown(MACDV,0) and Sentry < 1 Then
Sell("s1");
if MarketPosition == -1 and MaxEntries == 1 Then
Sell("s2",AtLimit,EntryPrice+PriceScale*10);
3
당일에 지정한 시간(StartTime)이후의 첫봉을 의미합니다.
sdate != sdate[1]은 날짜가 변경된것을 의미하고 당일첫봉을 의미합니다.
현재봉이 전봉의 날짜와 다르고(당일첫봉) 현재봉 시간이 StartTime이후이거나
현재봉이 전봉의 날짜와 같고(당일두번쨰봉)부터는 현재봉 시간이 StartTime이후인데 전봉은 StartTime 전이라는 의미이빈다.
즐거운 하루되세요
> 양치기 님이 쓴 글입니다.
> 제목 : 시스템식 부탁드립니다.
> 항상 도움 주셔서 감사합니다.
아래 조건에 맞는 시스템식 부탁드립니다.
요청수식1 :
종목 : 해외선물(오일)
차트 : 틱차트 100
매수 : MACD가 0선 크로스 업 매수진입
단, 매수는 바로 이전 진입이 매도 일때만 가능
포지션 진입후 10틱 하락하면 추가 매수
매도 : MACD가 0선 크로스 다운 매도진입
단, 매도는 바로 이전 진입이 매수 일때만 가능
포지션 진입후 10틱 상승하면 추가 매도
즉 이전 포지션이 매수면 그 다음은 매도, 이전 포지션이 매도면 그 다음은 매수
이런식으로 교차했으면 합니다.
단, 그 다음날 (익일 7시)은 다시 초기화 했으면 합니다.
예)
var : MACDV(0) ;
# 매일 장 시작전 진입조건 초기화
if marketpositon == 0 and crossup(MACDv,0) then {
# 여기조건에 바로이전 포지션이 매도 인경우에만 매수진입 가능
buy("b");
}
# 매수진입 후 진입가격에서 10틱하락하면 추가 1계약 매수
if marketpositon == 0 and crossdown(MACDv,0) then {
# 여기조건에 바로이전 포지션이 매수 인경우에만 매도진입 가능
sell("s");
}
# 매도진입 후 진입가격에서 10틱상승하면 추가 1계약 매도
요청수식2)
종목 : 해외선물(오일)
차트 : 틱차트 100
매수 : MACD가 0선 크로스 업 매수진입
단, 아침 7시 장시작부터 새벽 6시 장 끝날때까지 매수는 1번만 진입
그리고 진입가격에서 10틱 하락하면 추가 매수
매도 : MACD가 0선 크로스 다운 매도진입
단, 아침 7시 장시작부터 새벽 6시 장 끝날때까지 매도는 1번만 진입
그리고 진입가격에서 10틱 상승하면 추가 매도
단, 그 다음날 (익일 7시)은 다시 초기화 했으면 합니다.
예)
var : MACDV(0) ;
# 매일 장 시작전 진입횟수 초기화
# 진입횟수는 변경할수 있도록 변수화 부탁드립니다.
if marketpositon == 0 and crossup(MACDv,0) then {
buy("b");
}
# 매수 진입후 10틱 하락하면 추가 매수
if marketpositon == 0 and crossdown(MACDv,0) then {
sell("s");
}
# 매도 진입후 10틱 하락하면 추가 매도
요청질문)
input : StartTime(070000),EndTime(010000);
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
제가 초보라 위 수식에 대해 이해가 안됩니다.
죄송하지만 수식에 대한 설명좀 부탁드립니다.
1. sdate != sdate[1] 무슨 뜻인가요?
2. sdate == sdate[1] 무슨 뜻인가요?
3. stime >= StartTime and stime[1] < StartTime 무슨 뜻인가요?
4. 전체적으로 무슨 뜻인가요?
시스템식 부탁드립니다.
감사합니다.