커뮤니티

시스템식 부탁드립니다.

프로필 이미지
양치기
2021-11-06 10:58:13
680
글번호 153443
답변완료
항상 도움 주셔서 감사합니다. 아래 조건에 맞는 시스템식 부탁드립니다. 요청수식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. 전체적으로 무슨 뜻인가요? 시스템식 부탁드립니다. 감사합니다.