커뮤니티

시스템 수식요청

프로필 이미지
장안퀙쿠르드
2020-04-23 00:52:15
495
글번호 138253
답변완료
일목균형표에 대하여 다음과 같은 조건일때 시스템 수식부탁드려요 <1>양운이고 전환선이 상승중일때 매수진입,음운이거나 기준선이 전환선을 하향돌파하거나 전환선이 하락하는 세가지 경우중 하나인 경우 매수청산 음운이고 전환선이 하락중일때 매도진입, 양운이거나 기준선이 전환선을 상향돌파하거나 전환선이 상승하는 세가지 경우중 하나인 경우 매도청산 <2>기준선이 전환선을 상승돌파하고 전환선이 상승중일때 매수진입, 음운이거나 기준선이 전환선을 하향돌파하거나 전환선이 하락하는 세가지 경우중 하나인 경우 매수청산 기준선이 전환선을 하락돌파하고 전환선이 하락중일때 매도진입, 양운이거나 기준선이 전환선을 상승돌파하거나 전환선이 상승하는 세가지 경우중 하나인 경우 매도청산 <3> 위<1>과 <2> 시스템식을 통합하여 하나의 시스템 수식으로 부탁 <4>양운하단선을 캔들이 터치하거나 양운 하단선을 캔들이 터치후 하락하였다가 양운하단선을 재차 상승돌파하는 경우 매수진입, 매수청산은 양운상단 또는 기준선 터치 또는 60일선 터치 세가지중 하나 (손절 전환선) 음운상단선을 캔들이 터치하거나 음운 상단선을 캔들이 터치후 상승하였다가 양운상단선을 재차 하락돌파하는 경우 매도진입, 매도청산은 음운하단 또는 기준선 터치 또는 60일선터치 세가지중 하나 (손절 전환선) <5>위<3>과 <4>시스템식을 통합하여 하나의 시스템 수식으로 부탁 <6>1분봉에서 캔들이 양운하단선을 하락돌파하고 전환선을 하향돌파한 경우 (위 <4>에서는 손절) 2분봉 양운하단선에서 매수진입, 음운이거나 기준선이 전환선을 하향돌파하거나 전환선이 하락하는 세가지 경우중 하나인 경우 매수청산 (손절 2분봉 전환선) 1분봉에서 캔들이 음운상단선을 상승돌파하고 전환선을 상승돌파한 경우 (위 <4>에서는 손절) 2분봉 양운상단선에서 매도진입, 양운이거나 기준선이 전환선을 상승돌파하거나 전환선이 상승하는 세가지 경우중 하나인 경우 매도청산 (손절 2분봉 전환선) <7>위 <6>의 경우에 손절20틱, 익절20틱만 추가 <8>위<5>와 <6>시스템식을 통합하여 하나의 시스템 수식으로 부탁 * 이 경우 위<5>에서는 전환선을 하락 또는 상승돌파하는 경우 손절이고 <6>에서는 손절이 아니고 전환선을 상승/하락돌파하는 경우 다음 분봉(여기서는 1분봉과 2분봉의 예를 들었음)에서 양운하단 또는 음운 상단에서 진입인대 이를 표현하는 것을 어떻게 할것인지가 관건이 될것 같네요.. 매번 신속하고 성실한 답변에 감사드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-04-23 17:43:35

안녕하세요 예스스탁입니다. 1 input : 전환선기간(9),기준선기간(26),선행스팬2기간(52); var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0); 전환선 = (highest(H,전환선기간)+lowest(L,전환선기간))/2; 기준선 = (highest(H,기준선기간)+lowest(L,기준선기간))/2; 선행스팬1 = (전환선[25]+기준선[25])/2; 선행스팬2 = (highest(H,선행스팬2기간)[25]+lowest(L,선행스팬2기간)[25])/2; if MarketPosition <= 0 and 선행스팬1 > 선행스팬2 and 전환선 > 전환선[1] Then buy(); if MarketPosition == 1 then { if 선행스팬1 < 선행스팬2 Then ExitLong(); if CrossDown(기준선, 전환선) Then ExitLong(); if 전환선 < 전환선[1] Then ExitLong(); } if MarketPosition >= 0 and 선행스팬1 < 선행스팬2 and 전환선 < 전환선[1] Then sell(); if MarketPosition == 1 then { if 선행스팬1 > 선행스팬2 Then ExitShort(); if CrossUp(기준선, 전환선) Then ExitShort(); if 전환선 > 전환선[1] Then ExitShort(); } 2 input : 전환선기간(9),기준선기간(26),선행스팬2기간(52); var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0); 전환선 = (highest(H,전환선기간)+lowest(L,전환선기간))/2; 기준선 = (highest(H,기준선기간)+lowest(L,기준선기간))/2; 선행스팬1 = (전환선[25]+기준선[25])/2; 선행스팬2 = (highest(H,선행스팬2기간)[25]+lowest(L,선행스팬2기간)[25])/2; if MarketPosition <= 0 and crossup(기준선,전환선) and 전환선 > 전환선[1] Then buy(); if MarketPosition == 1 then { if 선행스팬1 < 선행스팬2 Then ExitLong(); if CrossDown(기준선, 전환선) Then ExitLong(); if 전환선 < 전환선[1] Then ExitLong(); } if MarketPosition >= 0 and CrossDown(기준선,전환선) and 전환선 < 전환선[1] Then sell(); if MarketPosition == 1 then { if 선행스팬1 > 선행스팬2 Then ExitShort(); if CrossUp(기준선, 전환선) Then ExitShort(); if 전환선 > 전환선[1] Then ExitShort(); } 3 input : 전환선기간(9),기준선기간(26),선행스팬2기간(52); var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0); 전환선 = (highest(H,전환선기간)+lowest(L,전환선기간))/2; 기준선 = (highest(H,기준선기간)+lowest(L,기준선기간))/2; 선행스팬1 = (전환선[25]+기준선[25])/2; 선행스팬2 = (highest(H,선행스팬2기간)[25]+lowest(L,선행스팬2기간)[25])/2; if MarketPosition <= 0 and 선행스팬1 > 선행스팬2 and 전환선 > 전환선[1] Then buy("b1"); if MarketPosition <= 0 and crossup(기준선,전환선) and 전환선 > 전환선[1] Then buy("b2"); if MarketPosition == 1 then { if 선행스팬1 < 선행스팬2 Then ExitLong(); if CrossDown(기준선, 전환선) Then ExitLong(); if 전환선 < 전환선[1] Then ExitLong(); } if MarketPosition >= 0 and 선행스팬1 < 선행스팬2 and 전환선 < 전환선[1] Then sell("s1"); if MarketPosition >= 0 and CrossDown(기준선,전환선) and 전환선 < 전환선[1] Then sell("s2"); if MarketPosition == 1 then { if 선행스팬1 > 선행스팬2 Then ExitShort(); if CrossUp(기준선, 전환선) Then ExitShort(); if 전환선 > 전환선[1] Then ExitShort(); } 4 input : 전환선기간(9),기준선기간(26),선행스팬2기간(52); var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0),mav(0); 전환선 = (highest(H,전환선기간)+lowest(L,전환선기간))/2; 기준선 = (highest(H,기준선기간)+lowest(L,기준선기간))/2; 선행스팬1 = (전환선[25]+기준선[25])/2; 선행스팬2 = (highest(H,선행스팬2기간)[25]+lowest(L,선행스팬2기간)[25])/2; mav = ma(C,60); if crossup(선행스팬1,선행스팬2) Then T = 1; if CrossDown(선행스팬1,선행스팬2) Then T = -1; if T == 1 and L <= 선행스팬2 Then T = 2; if T == -1 and H >= 선행스팬2 Then T = -2; if MarketPosition <= 0 and T == 2 and c > 선행스팬2 Then { t = 3; buy("b3"); } if MarketPosition == 1 then { if 선행스팬1 > 선행스팬2 Then ExitLong("bx1",atlimit,선행스팬1); if NextBarOpen < 기준선 Then ExitLong("bx21",atlimit,기준선); Else ExitLong("bx22",AtStop,기준선); if NextBarOpen < mav Then ExitLong("bx31",atlimit,mav); Else ExitLong("bx32",AtStop,mav); if NextBarOpen < 전환선 Then ExitLong("bl1",AtLimit,전환선); Else ExitLong("bl2",AtStop,전환선); } if MarketPosition >= 0 and T == -2 and c < 선행스팬2 Then { t = -3; sell("s3"); } if MarketPosition == -1 then { if 선행스팬1 < 선행스팬2 Then ExitShort("sx1",atlimit,선행스팬1); if NextBarOpen > 기준선 Then ExitShort("sx21",atlimit,기준선); Else ExitShort("sx22",AtStop,기준선); if NextBarOpen > mav Then ExitShort("sx31",atlimit,mav); Else ExitShort("sx32",AtStop,mav); if NextBarOpen > 전환선 Then ExitShort("sl1",atlimit,전환선); Else ExitShort("sl2",AtStop,전환선); } 5 input : 전환선기간(9),기준선기간(26),선행스팬2기간(52); var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0),mav(0); 전환선 = (highest(H,전환선기간)+lowest(L,전환선기간))/2; 기준선 = (highest(H,기준선기간)+lowest(L,기준선기간))/2; 선행스팬1 = (전환선[25]+기준선[25])/2; 선행스팬2 = (highest(H,선행스팬2기간)[25]+lowest(L,선행스팬2기간)[25])/2; mav = ma(C,60); if MarketPosition <= 0 and 선행스팬1 > 선행스팬2 and 전환선 > 전환선[1] Then buy("b1"); if MarketPosition <= 0 and crossup(기준선,전환선) and 전환선 > 전환선[1] Then buy("b2"); if MarketPosition == 1 and (IsEntryName("b1") == true or IsEntryName("b2") == true) then { if 선행스팬1 < 선행스팬2 Then ExitLong(); if CrossDown(기준선, 전환선) Then ExitLong(); if 전환선 < 전환선[1] Then ExitLong(); } if MarketPosition >= 0 and 선행스팬1 < 선행스팬2 and 전환선 < 전환선[1] Then sell("s1"); if MarketPosition >= 0 and CrossDown(기준선,전환선) and 전환선 < 전환선[1] Then sell("s2"); if MarketPosition == 1 and (IsEntryName("s1") == true or IsEntryName("s2") == true) then { if 선행스팬1 > 선행스팬2 Then ExitShort(); if CrossUp(기준선, 전환선) Then ExitShort(); if 전환선 > 전환선[1] Then ExitShort(); } if crossup(선행스팬1,선행스팬2) Then T = 1; if CrossDown(선행스팬1,선행스팬2) Then T = -1; if T == 1 and L <= 선행스팬2 Then T = 2; if T == -1 and H >= 선행스팬2 Then T = -2; if MarketPosition <= 0 and T == 2 and c > 선행스팬2 Then { t = 3; buy("b3"); } if MarketPosition == 1 and IsEntryName("b3") == true then { if 선행스팬1 > 선행스팬2 Then ExitLong("bx1",atlimit,선행스팬1); if NextBarOpen < 기준선 Then ExitLong("bx21",atlimit,기준선); Else ExitLong("bx22",AtStop,기준선); if NextBarOpen < mav Then ExitLong("bx31",atlimit,mav); Else ExitLong("bx32",AtStop,mav); if NextBarOpen < 전환선 Then ExitLong("bl1",AtLimit,전환선); Else ExitLong("bl2",AtStop,전환선); } if MarketPosition >= 0 and T == -2 and c < 선행스팬2 Then { t = -3; sell("s3"); } if MarketPosition == -1 and IsEntryName("s3") == true then { if 선행스팬1 < 선행스팬2 Then ExitShort("sx1",atlimit,선행스팬1); if NextBarOpen > 기준선 Then ExitShort("sx21",atlimit,기준선); Else ExitShort("sx22",AtStop,기준선); if NextBarOpen > mav Then ExitShort("sx31",atlimit,mav); Else ExitShort("sx32",AtStop,mav); if NextBarOpen > 전환선 Then ExitShort("sl1",atlimit,전환선); Else ExitShort("sl2",AtStop,전환선); } 6 input : 전환선기간(9),기준선기간(26),선행스팬2기간(52); input : ntime1(2); var : a전환선(0),a기준선(0),a선행스팬1(0),a선행스팬2(0),T(0),mav(0); var : TF(0),S1(0),D1(0),TM(0),cnt(0); var : H1(0),L1(0),H11(0),L11(0),H2(0),L2(0),H22(0),L22(0),H3(0),L3(0); var : b전환선(0),b기준선(0),b선행스팬1(0),b선행스팬2(0); Array : HH[100](0),LL[100](0); #기본차트 일목균형 a전환선 = (highest(H,전환선기간)+lowest(L,전환선기간))/2; a기준선 = (highest(H,기준선기간)+lowest(L,기준선기간))/2; a선행스팬1 = (a전환선[25]+a기준선[25])/2; a선행스팬2 = (highest(H,선행스팬2기간)[25]+lowest(L,선행스팬2기간)[25])/2; #타주기 일목균형 계산 if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { HH[0] = H; LL[0] = L; for cnt = 1 to 99{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; if HH[선행스팬2기간+25] > 0 and LL[선행스팬2기간+25] > 0 then { H1 = HH[0]; L1 = LL[0]; H11 = HH[25]; L11 = LL[25]; H2 = HH[0]; L2 = LL[0]; H22 = HH[25]; L22 = LL[25]; H3 = HH[25]; L3 = LL[25]; for cnt = 0 to 선행스팬2기간-1{ if cnt < 전환선기간 Then{ if HH[cnt] > H1 Then H1 = HH[cnt]; if LL[cnt] < L1 Then L1 = LL[cnt]; if HH[cnt+25] > H11 Then H11 = HH[cnt+25]; if LL[cnt+25] < L11 Then L11 = LL[cnt+25]; } if cnt < 기준선기간 Then{ if HH[cnt] > H2 Then H2 = HH[cnt]; if LL[cnt] < L2 Then L2 = LL[cnt]; if HH[cnt+25] > H22 Then H22 = HH[cnt+25]; if LL[cnt+25] < L22 Then L22 = LL[cnt+25]; } if HH[cnt+25] > H3 Then H3 = HH[cnt+25]; if LL[cnt+25] < L3 Then L3 = LL[cnt+25]; } b전환선 = (H1 + L1)/2; b기준선 = (H2 + L2)/2; b선행스팬1 = ((H11+L11)/2 + (H22+L22)/2) / 2 ; b선행스팬2 = (H3+L3) / 2; } } if a선행스팬1 > a선행스팬2 and C < a선행스팬2 and c < a전환선 and b선행스팬1 > b선행스팬2 and CrossDown(c,b선행스팬2) Then buy("b6"); if MarketPosition == 1 then { if a선행스팬1 < a선행스팬2 Then ExitLong(); if CrossDown(a기준선, a전환선) Then ExitLong(); if a전환선 < a전환선[1] Then ExitLong(); if CrossDown(c,b전환선) Then exitlong(); } if MarketPosition == 1 then { if a선행스팬1 > a선행스팬2 Then ExitShort(); if CrossUp(a기준선, a전환선) Then ExitShort(); if a전환선 > a전환선[1] Then ExitShort(); if CrossUp(c,b전환선) Then ExitShort(); } 즐거운 하루되세요 > 장안퀙쿠르드 님이 쓴 글입니다. > 제목 : 시스템 수식요청 > 일목균형표에 대하여 다음과 같은 조건일때 시스템 수식부탁드려요 <1>양운이고 전환선이 상승중일때 매수진입,음운이거나 기준선이 전환선을 하향돌파하거나 전환선이 하락하는 세가지 경우중 하나인 경우 매수청산 음운이고 전환선이 하락중일때 매도진입, 양운이거나 기준선이 전환선을 상향돌파하거나 전환선이 상승하는 세가지 경우중 하나인 경우 매도청산 <2>기준선이 전환선을 상승돌파하고 전환선이 상승중일때 매수진입, 음운이거나 기준선이 전환선을 하향돌파하거나 전환선이 하락하는 세가지 경우중 하나인 경우 매수청산 기준선이 전환선을 하락돌파하고 전환선이 하락중일때 매도진입, 양운이거나 기준선이 전환선을 상승돌파하거나 전환선이 상승하는 세가지 경우중 하나인 경우 매도청산 <3> 위<1>과 <2> 시스템식을 통합하여 하나의 시스템 수식으로 부탁 <4>양운하단선을 캔들이 터치하거나 양운 하단선을 캔들이 터치후 하락하였다가 양운하단선을 재차 상승돌파하는 경우 매수진입, 매수청산은 양운상단 또는 기준선 터치 또는 60일선 터치 세가지중 하나 (손절 전환선) 음운상단선을 캔들이 터치하거나 음운 상단선을 캔들이 터치후 상승하였다가 양운상단선을 재차 하락돌파하는 경우 매도진입, 매도청산은 음운하단 또는 기준선 터치 또는 60일선터치 세가지중 하나 (손절 전환선) <5>위<3>과 <4>시스템식을 통합하여 하나의 시스템 수식으로 부탁 <6>1분봉에서 캔들이 양운하단선을 하락돌파하고 전환선을 하향돌파한 경우 (위 <4>에서는 손절) 2분봉 양운하단선에서 매수진입, 음운이거나 기준선이 전환선을 하향돌파하거나 전환선이 하락하는 세가지 경우중 하나인 경우 매수청산 (손절 2분봉 전환선) 1분봉에서 캔들이 음운상단선을 상승돌파하고 전환선을 상승돌파한 경우 (위 <4>에서는 손절) 2분봉 양운상단선에서 매도진입, 양운이거나 기준선이 전환선을 상승돌파하거나 전환선이 상승하는 세가지 경우중 하나인 경우 매도청산 (손절 2분봉 전환선) <7>위 <6>의 경우에 손절20틱, 익절20틱만 추가 <8>위<5>와 <6>시스템식을 통합하여 하나의 시스템 수식으로 부탁 * 이 경우 위<5>에서는 전환선을 하락 또는 상승돌파하는 경우 손절이고 <6>에서는 손절이 아니고 전환선을 상승/하락돌파하는 경우 다음 분봉(여기서는 1분봉과 2분봉의 예를 들었음)에서 양운하단 또는 음운 상단에서 진입인대 이를 표현하는 것을 어떻게 할것인지가 관건이 될것 같네요.. 매번 신속하고 성실한 답변에 감사드립니다.