커뮤니티
시스템신호 2번째 신호부터 매매시작 검증
2016-10-02 22:06:01
121
글번호 102423
항상 감사드립니다
아래의 조건을 시스템식에 적용코자하는데 오류가 발생합니다
수정부탁드립니다
하나의 시스템에서 시간을 분할하여
17:00~익일03:00 까지는 첫번째신호는 무시하고 두번째신호부터 매매(신호시작시간17:00)
익일03:00~익일 14:30까지의 시간에서는 첫번째신호 매매(신호시작시간 03:00)
전체시간 17:00~익일 14:30 중에 밣생하는 매수매도식은 중복발생금지...
************************************************************
#############################################################
##### 1_매매식_A_17:00 ~ 03:00_ 2번째신호부터 매매 #####
#############################################################
if (stime >= 170000 or stime < 030000) Then{
# 현지시간_뉴욕 17:00 장시작~익일 03:00 #
### 동일방향 재진입금지/전일 마지막신호와 무관하게 진입 ###
var :entrycnt(0) ,T(0),count(0);
if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then
Entrycnt = 0;
T = 0;
count = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
Entrycnt = Entrycnt+1;
/******************************************************************************/
#매수조건이면 T는 1, 카운트 1증가
if T <= 0 and c>o and c>var77 and C>var51 and stok>stod and (xx+yy)>=-0 and c>var90 and c>var60 and c>피봇1차지지 then {
T = 1;
count = count+1;
#카운트가 2 이상이고 나머지 포지션 조건 만족할때 진입
if count >= 2 and ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != 1) or (MarketPosition == -1)) Then #동일방향 재진입금지#
BUY("B1_윗꼬리_51");
}
#매도조건이면 T는 -1, 카운트 1증가
if T >= 0 and c<o and c<var77 and c<var51 and stok<stod and (xx+yy)<=0 and c<var90 and c<var60 and c<피봇1차저항 Then{
T = -1;
count = count+1;
#카운트가 2 이상이고 나미저 포지션 조건 만족할때 진입
if count >= 2 and ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != -1) or (MarketPosition == 1)) then #동일방향 재진입금지#
sell("S1_윗꼬리_51");
}
}
#############################################################
##### 2_매매식_B_03:00 ~ 14:30_ 1번째신호부터 매매 #####
#############################################################
if (stime >= 030000 and stime < 143000) Then{
### 동일방향 재진입금지/전일 마지막신호와 무관하게 진입 ###
var : T2(0),count2(0);
if stime == 030000 or (stime > 030000 and stime[1] < 030000) Then
T2 = 0;
count2 = 0;
/***************************************************************/
#매수조건이면 T는 1, 카운트 1증가
if T2 <= 0 and c>o and c>var77 and C>var51 and stok>stod and (xx+yy)>=-0 and c>var90 and c>var60 and c>피봇1차지지 then {
T2 = 1;
count2 = count2+1;
#카운트가 2 이상이고 나머지 포지션 조건 만족할때 진입
if count2 >= 1 and ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != 1) or (MarketPosition == -1)) Then #동일방향 재진입금지#
BUY("BB1_윗꼬리_51");
}
#매도조건이면 T는 -1, 카운트 1증가
if T2 >= 0 and c<o and c<var77 and c<var51 and stok<stod and (xx+yy)<=0 and c<var90 and c<var60 and c<피봇1차저항 Then{
T2 = -1;
count2 = count2+1;
#카운트가 2 이상이고 나미저 포지션 조건 만족할때 진입
if count2 >= 1 and ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != -1) or (MarketPosition == 1)) then #동일방향 재진입금지#
sell("SS1_윗꼬리_51");
}
}
###################
##### 청산식 #####
###################
if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*30 and (xx+yy)<=4 and (xx+yy)>0 and c<rsi70 Then
exitlong("eB_macd_sar");
if MarketPosition == -1 and lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*30 and (xx+yy)>=-4 and (xx+yy)<0 and c>rsi30 Then
exitshort("eS_macd_sar");
감사합니다
답변 1
예스스탁 예스스탁 답변
2016-10-04 14:07:13
안녕하세요
예스스탁입니다.
#############################################################
##### 1_매매식_A_17:00 ~ 03:00_ 2번째신호부터 매매 #####
#############################################################
var :entrycnt(0) ,T(0),count(0);
#17시나 03시가 되면 0으로 초기화
if (stime == 170000 or (stime > 170000 and stime[1] < 170000)) or
(stime == 030000 or (stime > 030000 and stime[1] < 030000)) Then{
Entrycnt = 0;
T = 0;
count = 0;
}
# 현지시간_뉴욕 17:00 장시작~익일 03:00 #
## 동일방향 재진입금지/전일 마지막신호와 무관하게 진입 ###
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
Entrycnt = Entrycnt+1;
/******************************************************************************/
#매수조건이면 T는 1, 카운트 1증가
if T <= 0 and c>o and c>var77 and C>var51 and stok>stod and (xx+yy)>=-0 and c>var90 and c>var60 and c>피봇1차지지 then {
T = 1;
count = count+1;
#17시~03시 사이
if (stime >= 170000 or stime < 030000) Then{
#카운트가 2 이상이고 나머지 포지션 조건 만족할때 진입
if count >= 2 and ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != 1) or (MarketPosition == -1)) Then #동일방향 재진입금지#
BUY("B1_윗꼬리_51");
}
#03시~14시30분 사이
if (stime >= 030000 or stime < 143000) Then{
#카운트가 2 이상이고 나머지 포지션 조건 만족할때 진입
if count >= 1 and ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != 1) or (MarketPosition == -1)) Then #동일방향 재진입금지#
BUY("BB1_윗꼬리_51");
}
}
#매도조건이면 T는 -1, 카운트 1증가
if T >= 0 and c<o and c<var77 and c<var51 and stok<stod and (xx+yy)<=0 and c<var90 and c<var60 and c<피봇1차저항 Then{
T = -1;
count = count+1;
#17시~03시 사이
if (stime >= 170000 or stime < 030000) Then{
#카운트가 2 이상이고 나미저 포지션 조건 만족할때 진입
if count >= 2 and ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != -1) or (MarketPosition == 1)) then #동일방향 재진입금지#
Sell("S1_윗꼬리_51");
}
#03시~14시30분 사이
if (stime >= 030000 or stime < 143000) Then{
#카운트가 2 이상이고 나미저 포지션 조건 만족할때 진입
if count >= 2 and ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != -1) or (MarketPosition == 1)) then #동일방향 재진입금지#
Sell("SS1_윗꼬리_51");
}
}
###################
##### 청산식 #####
###################
if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*30 and (xx+yy)<=4 and (xx+yy)>0 and c<rsi70 Then
ExitLong("eB_macd_sar");
if MarketPosition == -1 and lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*30 and (xx+yy)>=-4 and (xx+yy)<0 and c>rsi30 Then
ExitShort("eS_macd_sar");
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : 시스템신호 2번째 신호부터 매매시작 검증
> 항상 감사드립니다
아래의 조건을 시스템식에 적용코자하는데 오류가 발생합니다
수정부탁드립니다
하나의 시스템에서 시간을 분할하여
17:00~익일03:00 까지는 첫번째신호는 무시하고 두번째신호부터 매매(신호시작시간17:00)
익일03:00~익일 14:30까지의 시간에서는 첫번째신호 매매(신호시작시간 03:00)
전체시간 17:00~익일 14:30 중에 밣생하는 매수매도식은 중복발생금지...
************************************************************
#############################################################
##### 1_매매식_A_17:00 ~ 03:00_ 2번째신호부터 매매 #####
#############################################################
if (stime >= 170000 or stime < 030000) Then{
# 현지시간_뉴욕 17:00 장시작~익일 03:00 #
### 동일방향 재진입금지/전일 마지막신호와 무관하게 진입 ###
var :entrycnt(0) ,T(0),count(0);
if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then
Entrycnt = 0;
T = 0;
count = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
Entrycnt = Entrycnt+1;
/******************************************************************************/
#매수조건이면 T는 1, 카운트 1증가
if T <= 0 and c>o and c>var77 and C>var51 and stok>stod and (xx+yy)>=-0 and c>var90 and c>var60 and c>피봇1차지지 then {
T = 1;
count = count+1;
#카운트가 2 이상이고 나머지 포지션 조건 만족할때 진입
if count >= 2 and ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != 1) or (MarketPosition == -1)) Then #동일방향 재진입금지#
BUY("B1_윗꼬리_51");
}
#매도조건이면 T는 -1, 카운트 1증가
if T >= 0 and c<o and c<var77 and c<var51 and stok<stod and (xx+yy)<=0 and c<var90 and c<var60 and c<피봇1차저항 Then{
T = -1;
count = count+1;
#카운트가 2 이상이고 나미저 포지션 조건 만족할때 진입
if count >= 2 and ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != -1) or (MarketPosition == 1)) then #동일방향 재진입금지#
sell("S1_윗꼬리_51");
}
}
#############################################################
##### 2_매매식_B_03:00 ~ 14:30_ 1번째신호부터 매매 #####
#############################################################
if (stime >= 030000 and stime < 143000) Then{
### 동일방향 재진입금지/전일 마지막신호와 무관하게 진입 ###
var : T2(0),count2(0);
if stime == 030000 or (stime > 030000 and stime[1] < 030000) Then
T2 = 0;
count2 = 0;
/***************************************************************/
#매수조건이면 T는 1, 카운트 1증가
if T2 <= 0 and c>o and c>var77 and C>var51 and stok>stod and (xx+yy)>=-0 and c>var90 and c>var60 and c>피봇1차지지 then {
T2 = 1;
count2 = count2+1;
#카운트가 2 이상이고 나머지 포지션 조건 만족할때 진입
if count2 >= 1 and ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != 1) or (MarketPosition == -1)) Then #동일방향 재진입금지#
BUY("BB1_윗꼬리_51");
}
#매도조건이면 T는 -1, 카운트 1증가
if T2 >= 0 and c<o and c<var77 and c<var51 and stok<stod and (xx+yy)<=0 and c<var90 and c<var60 and c<피봇1차저항 Then{
T2 = -1;
count2 = count2+1;
#카운트가 2 이상이고 나미저 포지션 조건 만족할때 진입
if count2 >= 1 and ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != -1) or (MarketPosition == 1)) then #동일방향 재진입금지#
sell("SS1_윗꼬리_51");
}
}
###################
##### 청산식 #####
###################
if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*30 and (xx+yy)<=4 and (xx+yy)>0 and c<rsi70 Then
exitlong("eB_macd_sar");
if MarketPosition == -1 and lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*30 and (xx+yy)>=-4 and (xx+yy)<0 and c>rsi30 Then
exitshort("eS_macd_sar");
감사합니다
다음글