커뮤니티

문의 드립니다.

프로필 이미지
양치기
2014-11-13 07:00:52
151
글번호 80329
답변완료
항상 도움 주셔서 감사합니다. 문1) 매수, 매도 진입 후 수익이 10틱 이상 갔다가 1틱으로 줄면 청산 수익이 20틱 이상 갔다가 10틱으로 줄면 청산 수익이 30틱 이상 갔다가 20틱으로 줄면 청산 하는 로직 부탁드립니다. SetStopTrailing를 사용해야 하나요? 아래와 같이 코딩했는데 청산이 제대로 안됩니다. if (MarketPosition == 1 or MarketPosition == -1) and MaxPositionProfit >= 0.001 Then { if PositionProfit <= 0.0001 then ExitLong("B_out"); ExitShort("S_out"); } Else if (MarketPosition == 1 or MarketPosition == -1) and MaxPositionProfit >= 0.002 Then { if PositionProfit <= 0.001 then ExitLong("B_out2"); ExitShort("S_out2"); } else if (MarketPosition == 1 or MarketPosition == -1) and MaxPositionProfit >= 0.003 Then { if PositionProfit <= 0.002 then ExitLong("B_out3"); ExitShort("S_ou3t"); } 문2) 아래와 같이 코딩하였는데 조건시간 중 모두 정배열, 역배열 상태에서도 변수값이 모두 0으로 나옵니다. 로직이 문제가 있는지 점검 부탁드립니다. 정배열 = 이평5 > 이평20 and 이평20 > 이평60 ; 역배열 = 이평5 < 이평20 and 이평20 < 이평60 ; if sTime >= 010000 and stime < 070000 and 정배열 == true then{ var1 == 0; var2 == 1; } else if sTime >= 010000 and stime < 070000 and 역배열 == true then{ var1 == 1; var2 == 0; } else { var1 == 0; var2 == 0; } 문3) 해외선물 2분봉 차트에서 (거래시간 아침8시부터~익일 7시까지) 당일의 최고점을 상향 갱신하면 매수진입 당일의 최저점을 하향 갱신하면 매도진입 하는 시스템식 부탁드립니다. 문4) 해외선물 2분봉 차트에서 (거래시간 아침8시부터~익일 7시까지) 한시간(30봉전)전 최고점을 상향 갱신하면 매수진입 한시간(30봉전)전 최저점을 하향 갱신하면 매도진입 하는 시스템식 부탁드립니다. 문5) 해외선물 2분봉 차트에서 (거래시간 아침8시부터~익일 7시까지) 한시간(30봉전)전 최고점에서 20틱 하락하면 매도진입 한시간(30봉전)전 최저점에서 20틱 상승하면 매수진입 하는 시스템식 부탁드립니다. 문6) 해외선물 2분봉 차트에서 (거래시간 아침8시부터~익일 7시까지) 이평5>이평10 인상태가 10봉 이상 되면 매수진입 이평5<이평10 인상태가 10봉 이상 되면 매도진입 하는 시스템식 부탁드립니다. 많은 질문 드려 죄송합니다. 도움 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-11-13 13:20:12

안녕하세요 예스스탁입니다. 1. 아래와 같이 작성하시면 됩니다. if MarketPosition == 1 Then { var1 = highest(H,BarsSinceEntry); if var1 >= EntryPrice+PriceScale*10 and var1 < EntryPrice+PriceScale*20 then ExitLong("bx1",AtStop,EntryPrice+PriceScale*1); if var1 >= EntryPrice+PriceScale*20 and var1 < EntryPrice+PriceScale*30 then ExitLong("bx2",AtStop,EntryPrice+PriceScale*10); if var1 >= EntryPrice+PriceScale*30 then ExitLong("bx3",AtStop,EntryPrice+PriceScale*20); } if MarketPosition == -1 Then { var2 = lowest(L,BarsSinceEntry); if var2 <= EntryPrice-PriceScale*10 and var2 > EntryPrice-PriceScale*20 then ExitShort("sx1",AtStop,EntryPrice-PriceScale*1); if var2 <= EntryPrice-PriceScale*10 and var2 > EntryPrice-PriceScale*20 then ExitShort("sx2",AtStop,EntryPrice-PriceScale*10); if var2 <= EntryPrice-PriceScale*10 and var2 > EntryPrice-PriceScale*20 then ExitShort("sx3",AtStop,EntryPrice-PriceScale*20); } 2. 변수에 값저장은 = 입니다. ==은 같다라면 표현입니다. 정배열 = 이평5 > 이평20 and 이평20 > 이평60 ; 역배열 = 이평5 < 이평20 and 이평20 < 이평60 ; if sTime >= 010000 and stime < 070000 and 정배열 == true then{ var1 = 0; var2 = 1; } else if sTime >= 010000 and stime < 070000 and 역배열 == true then{ var1 = 1; var2 = 0; } else { var1 = 0; var2 = 0; } 3. var : ii(0); if stime == 080000 or (stime > 080000 and stime[1] < 080000) Then ii = 0; if stime >= 080000 or stime < 070000 Then{ ii = ii +1; if ii >= 2 and dayhigh > dayhigh[1] Then buy(); if ii >= 2 and DayLow < daylow[1] Then sell(); } 4. var : ii(0); if stime == 080000 or (stime > 080000 and stime[1] < 080000) Then ii = 0; if stime >= 080000 or stime < 070000 Then{ if H > H[30] Then buy(); if L < L[30] Then sell(); } 5. var : ii(0); if stime == 080000 or (stime > 080000 and stime[1] < 080000) Then ii = 0; if stime >= 080000 or stime < 070000 Then{ if C <= H[30]-PriceScale*20 Then buy(); if C >= L[30]+PriceScale*20 Then sell(); } 6. var : ii(0); var1 = ma(c,5); var2 = ma(c,10); if stime == 080000 or (stime > 080000 and stime[1] < 080000) Then ii = 0; if stime >= 080000 or stime < 070000 Then{ if countif(var1>var2,10) == 10 Then buy(); if countif(var1<var2,10) == 10 Then sell(); } 즐거운 하루되세요 > 양치기 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 항상 도움 주셔서 감사합니다. 문1) 매수, 매도 진입 후 수익이 10틱 이상 갔다가 1틱으로 줄면 청산 수익이 20틱 이상 갔다가 10틱으로 줄면 청산 수익이 30틱 이상 갔다가 20틱으로 줄면 청산 하는 로직 부탁드립니다. SetStopTrailing를 사용해야 하나요? 아래와 같이 코딩했는데 청산이 제대로 안됩니다. if (MarketPosition == 1 or MarketPosition == -1) and MaxPositionProfit >= 0.001 Then { if PositionProfit <= 0.0001 then ExitLong("B_out"); ExitShort("S_out"); } Else if (MarketPosition == 1 or MarketPosition == -1) and MaxPositionProfit >= 0.002 Then { if PositionProfit <= 0.001 then ExitLong("B_out2"); ExitShort("S_out2"); } else if (MarketPosition == 1 or MarketPosition == -1) and MaxPositionProfit >= 0.003 Then { if PositionProfit <= 0.002 then ExitLong("B_out3"); ExitShort("S_ou3t"); } 문2) 아래와 같이 코딩하였는데 조건시간 중 모두 정배열, 역배열 상태에서도 변수값이 모두 0으로 나옵니다. 로직이 문제가 있는지 점검 부탁드립니다. 정배열 = 이평5 > 이평20 and 이평20 > 이평60 ; 역배열 = 이평5 < 이평20 and 이평20 < 이평60 ; if sTime >= 010000 and stime < 070000 and 정배열 == true then{ var1 == 0; var2 == 1; } else if sTime >= 010000 and stime < 070000 and 역배열 == true then{ var1 == 1; var2 == 0; } else { var1 == 0; var2 == 0; } 문3) 해외선물 2분봉 차트에서 (거래시간 아침8시부터~익일 7시까지) 당일의 최고점을 상향 갱신하면 매수진입 당일의 최저점을 하향 갱신하면 매도진입 하는 시스템식 부탁드립니다. 문4) 해외선물 2분봉 차트에서 (거래시간 아침8시부터~익일 7시까지) 한시간(30봉전)전 최고점을 상향 갱신하면 매수진입 한시간(30봉전)전 최저점을 하향 갱신하면 매도진입 하는 시스템식 부탁드립니다. 문5) 해외선물 2분봉 차트에서 (거래시간 아침8시부터~익일 7시까지) 한시간(30봉전)전 최고점에서 20틱 하락하면 매도진입 한시간(30봉전)전 최저점에서 20틱 상승하면 매수진입 하는 시스템식 부탁드립니다. 문6) 해외선물 2분봉 차트에서 (거래시간 아침8시부터~익일 7시까지) 이평5>이평10 인상태가 10봉 이상 되면 매수진입 이평5<이평10 인상태가 10봉 이상 되면 매도진입 하는 시스템식 부탁드립니다. 많은 질문 드려 죄송합니다. 도움 부탁드립니다.