커뮤니티

시스템신호 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 중에 &#48163;생하는 매수매도식은 중복발생금지... ************************************************************ ############################################################# ##### 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 중에 &#48163;생하는 매수매도식은 중복발생금지... ************************************************************ ############################################################# ##### 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"); 감사합니다