커뮤니티

수식 수정 변경 요청 드립니다.

프로필 이미지
dandy
2015-03-23 14:24:37
162
글번호 84298
답변완료
아래 기존수식 수정 변경 요청 드립니다. NO-1. 아래수식에서 고점 저점 Pt(4) 최소 변폭만 설정, 기존수식 매수 매도 진입 후, 최고 최저점의 변폭이 설정변폭을 달성 확대될 경우, 변폭확대에 비례해서 설정 변폭도 비례 확대 수식에 적용 기존 수식신호 발행 후 한번 확대된 변폭은 다음 신호 발생전까지만 적용, 다음신호 발생시 부터 최소 설정 변폭으로 복귀 -> 상방 변폭 증가시 각봉의 저가가 20일 이평선(외부변수)을 하향이탈 전까지만 변폭 확대적용 / 재 진입 drop(-1.5) 적용 -> 하방 변폭 증가시 각봉의 고가가 20일 이평선(외부변수)을 상향돌파 전까지만 변폭 확대적용 / 재 진입 drop(+1.5) 적용 NO-2. 아래수식에서 1. 고점 저점 Pt(4) 최소 변폭만 설정, 기존수식 매수 매도 진입 후, 최고 최저점의 변폭이 설정변폭을 달성 확대될 경우, 변폭확대에 비례해서 설정변폭도 비례 확대 수식적용 기존수식신호 발행 후 한번 변폭은 다음 신호 발생전까지만 적용, 다음신호 발생시 부터 최소변폭으로 복귀 -> 상방 변폭 증가시 각봉의 저가가 20일 이평선(외부변수)을 하향이탈 전까지만 변폭 확대적용 -> 하방 변폭 증가시 각봉의 고가가 20일 이평선(외부변수)을 상향돌파 전까지만 변폭 확대적용 수식 작성 하신 후 수식에 주석 설명 달아주세요. 초보라서 설명이 부족하시면 전화 주세요. --------------------------------------- 아 래----------------------------------------------------- NO-1. input : pt(4),drop(1.5); var : H1(0),L1(0),H2(0),L2(0),H3(0),L3(0),H4(0),L4(0); if MarketPosition == -1 Then{ if Condition1 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{ Condition1 = true; H1 = H; L1 = L; } if Condition1 == true and CrossDown(C,H1-drop) Then buy("b"); } Else Condition1 = false; if MarketPosition == 1 Then{ if Condition2 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{ Condition2 = true; H2 = H; L2 = L; } if Condition2 == true and CrossUp(C,L2+drop) Then sell("s"); } Else Condition2 = false; if MarketPosition == -1 Then{ if Condition3 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{ Condition3 = true; H3 = H; L3 = L; } if Condition3 == true and CrossDown(C,H3-drop) Then ExitShort("sx"); } Else Condition3 = false; if MarketPosition == 1 Then{ if Condition4 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{ Condition4 = true; H4 = H; L4 = L; } if Condition4 == true and CrossUp(C,L4+drop) Then ExitLong("bx"); } Else Condition4 = false; ------------------------------------------------------------------------------------------------ NO-2. input : Pt(4); if 매수조건 Then{ #첫매수 if MarketPosition == 0 Then buy(); #추가매수 if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then buy(); } if 매도조건 Then{ #첫매도 if MarketPosition == 0 Then sell(); #추가매도 if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then sell(); } #매수진입후 pt이상 변폭이 발생하고 매수청산조건이 만족하면 청산 if MarketPosition == 1 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{ if 매수청산조건 Then exitlong(); } #매도진입후 pt이상 변폭이 발생하고 매도청산조건이 만족하면 청산 if MarketPosition == -1 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{ if 매도청산조건 Then ExitShort(); } #무포지션이거나 스위칭이 되면 강제청산 해제 if MarketPosition == 0 or (MarketPosition != 0 and MarketPosition != MarketPosition[1]) Then{ SetStopProfittarget(0); SetStoploss(0); } #포지션 진입후 pt이상 변폭이 발생하면 셋팅 if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{ SetStopProfittarget(1,PointStop); SetStoploss(1,PointStop); } NO-2-1. input : Pt(4); if 매수조건 Then{ #첫매수 if MarketPosition == 0 Then buy(); #추가매수 if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then buy(); } if 매도조건 Then{ #첫매도 if MarketPosition == 0 Then sell(); #추가매도 if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then sell(); } if MarketPosition == 1 Then{ if 매수청산조건 Then exitlong(); } if MarketPosition == -1 Then{ if 매도청산조건 Then ExitShort(); } SetStopProfittarget(1,PointStop); SetStoploss(1,PointStop); 감사 합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-03-23 19:44:50

안녕하세요 예스스탁입니다. 1. input : pt(4),drop(1.5); var : H1(0),L1(0),H2(0),L2(0),H3(0),L3(0),H4(0),L4(0),mav(0); mav = ma(C,20); #매도진입 후 if MarketPosition == -1 Then{ #Condition1이 false인 상태에서 변폭이 pt를 넘으면 if Condition1 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{ #Condition1은 true Condition1 = true; #Condition11은 false Condition11 = false; #고가 저장 H1 = H; #저가저장 L1 = L; } # Condition1이 true이고 if Condition1 == true Then{ #Condition11이 false인 상태에서 저가가 이평을 하향이탈하면 if Condition11 == false and CrossDown(L,mav) Then{ #Condition11은 true Condition11 = true; } #Condition11이 false인 상태에서 진입이후 최고가가 커지면 H1에 고가를 저장 if Condition11 == false and highest(H,BarsSinceEntry) > highest(H,BarsSinceEntry)[1] Then H1 = H; #종가가 H1-drop을 하향이탈하면 매수로 스위칭 if CrossDown(C,H1-drop) Then buy("b"); } } Else{#매도포지션이 아니면 모두 false로 초기화 Condition1 = false; Condition11 = false; } #매수진입후 if MarketPosition == 1 Then{ #Condition2가 false인 상태에서 변폭이 pt를 넘으면 if Condition2 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{ #Condition2는 true Condition2 = true; #Condition22는 false Condition22 = false; #고가저장 H2 = H; #저가저장 L2 = L; } # Condition2는 true이고 if Condition2 == true Then{ #Condition22가 false인 상태에서 고가가 이평을 상향돌파하면 if Condition22 == false and CrossUp(H,mav) Then{ #Condition22는 true Condition22 = true; } #Condition22가 false인 상태에서 진입이후 최저가가 작아지면 L1에 저가를 저장 if Condition22 == false and Lowest(L,BarsSinceEntry) < Lowest(L,BarsSinceEntry)[1] Then L2 = L; #종가가 H2+drop을 상향돌파하면 매도로 스위칭 if CrossUp(C,L2+drop) Then sell("s"); } } Else{#매수포지션이 아니면 모두 false로 초기화 Condition2 = false; Condition22 = false; } #매도진입 후 if MarketPosition == -1 Then{ #Condition3이 false인 상태에서 변폭이 pt를 넘으면 if Condition3 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{ #Condition3은 true Condition3 = true; #Condition33은 false Condition33 = false; #고가 저장 H3 = H; #저가저장 L3 = L; } # Condition3이 true이고 if Condition3 == true Then{ #Condition33이 false인 상태에서 저가가 이평을 하향이탈하면 if Condition33 == false and CrossDown(L,mav) Then{ #Condition33은 true Condition33 = true; } #Condition33이 false인 상태에서 진입이후 최고가가 커지면 H3에 고가를 저장 if Condition33 == false and highest(H,BarsSinceEntry) > highest(H,BarsSinceEntry)[1] Then H3 = H; #종가가 H3-drop을 하향이탈하면 매도포지션 청산 if CrossDown(C,H3-drop) Then ExitShort("sx"); } } Else{#매도포지션이 아니면 모두 false로 초기화 Condition3 = false; Condition33 = false; } #매수진입후 if MarketPosition == 1 Then{ #Condition4가 false인 상태에서 변폭이 pt를 넘으면 if Condition4 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{ #Condition4는 true Condition4 = true; #Condition44는 false Condition44 = false; #고가저장 H4 = H; #저가저장 L4 = L; } # Condition4는 true이고 if Condition4 == true Then{ #Condition44가 false인 상태에서 고가가 이평을 상향돌파하면 if Condition44 == false and CrossUp(H,mav) Then{ #Condition44는 true Condition44 = true; } #Condition44가 false인 상태에서 진입이후 최저가가 작아지면 L4에 저가를 저장 if Condition44 == false and Lowest(L,BarsSinceEntry) < Lowest(L,BarsSinceEntry)[1] Then L4 = L; #종가가 H4+drop을 상향돌파하면 매수포지션 청산 if CrossUp(C,L4+drop) Then ExitLong("bx"); } } Else{#매수포지션이 아니면 모두 false로 초기화 Condition4 = false; Condition44 = false; } 2. 수식중 NO-2와 NO-2-1은 단순 변폭이 몇이상이면 진입이나 청산여부를 결정하는 내용입니다. 최소변폭만 발생여부로 진입과 청산을 제어하는 내용입니다. 1번과 같이 확대변폭을 계산해도 따로 쓰이는 부분이 없습니다. 전화를 받지 않으셔서 1번까지만 남겨드립니다. 내일 편하신 시간에 전화주시기 바랍니다.(02-3453-1060) 즐거운 하루되세요 > dandy 님이 쓴 글입니다. > 제목 : 수식 수정 변경 요청 드립니다. > 아래 기존수식 수정 변경 요청 드립니다. NO-1. 아래수식에서 고점 저점 Pt(4) 최소 변폭만 설정, 기존수식 매수 매도 진입 후, 최고 최저점의 변폭이 설정변폭을 달성 확대될 경우, 변폭확대에 비례해서 설정 변폭도 비례 확대 수식에 적용 기존 수식신호 발행 후 한번 확대된 변폭은 다음 신호 발생전까지만 적용, 다음신호 발생시 부터 최소 설정 변폭으로 복귀 -> 상방 변폭 증가시 각봉의 저가가 20일 이평선(외부변수)을 하향이탈 전까지만 변폭 확대적용 / 재 진입 drop(-1.5) 적용 -> 하방 변폭 증가시 각봉의 고가가 20일 이평선(외부변수)을 상향돌파 전까지만 변폭 확대적용 / 재 진입 drop(+1.5) 적용 NO-2. 아래수식에서 1. 고점 저점 Pt(4) 최소 변폭만 설정, 기존수식 매수 매도 진입 후, 최고 최저점의 변폭이 설정변폭을 달성 확대될 경우, 변폭확대에 비례해서 설정변폭도 비례 확대 수식적용 기존수식신호 발행 후 한번 변폭은 다음 신호 발생전까지만 적용, 다음신호 발생시 부터 최소변폭으로 복귀 -> 상방 변폭 증가시 각봉의 저가가 20일 이평선(외부변수)을 하향이탈 전까지만 변폭 확대적용 -> 하방 변폭 증가시 각봉의 고가가 20일 이평선(외부변수)을 상향돌파 전까지만 변폭 확대적용 수식 작성 하신 후 수식에 주석 설명 달아주세요. 초보라서 설명이 부족하시면 전화 주세요. --------------------------------------- 아 래----------------------------------------------------- NO-1. input : pt(4),drop(1.5); var : H1(0),L1(0),H2(0),L2(0),H3(0),L3(0),H4(0),L4(0); if MarketPosition == -1 Then{ if Condition1 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{ Condition1 = true; H1 = H; L1 = L; } if Condition1 == true and CrossDown(C,H1-drop) Then buy("b"); } Else Condition1 = false; if MarketPosition == 1 Then{ if Condition2 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{ Condition2 = true; H2 = H; L2 = L; } if Condition2 == true and CrossUp(C,L2+drop) Then sell("s"); } Else Condition2 = false; if MarketPosition == -1 Then{ if Condition3 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{ Condition3 = true; H3 = H; L3 = L; } if Condition3 == true and CrossDown(C,H3-drop) Then ExitShort("sx"); } Else Condition3 = false; if MarketPosition == 1 Then{ if Condition4 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{ Condition4 = true; H4 = H; L4 = L; } if Condition4 == true and CrossUp(C,L4+drop) Then ExitLong("bx"); } Else Condition4 = false; ------------------------------------------------------------------------------------------------ NO-2. input : Pt(4); if 매수조건 Then{ #첫매수 if MarketPosition == 0 Then buy(); #추가매수 if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then buy(); } if 매도조건 Then{ #첫매도 if MarketPosition == 0 Then sell(); #추가매도 if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then sell(); } #매수진입후 pt이상 변폭이 발생하고 매수청산조건이 만족하면 청산 if MarketPosition == 1 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{ if 매수청산조건 Then exitlong(); } #매도진입후 pt이상 변폭이 발생하고 매도청산조건이 만족하면 청산 if MarketPosition == -1 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{ if 매도청산조건 Then ExitShort(); } #무포지션이거나 스위칭이 되면 강제청산 해제 if MarketPosition == 0 or (MarketPosition != 0 and MarketPosition != MarketPosition[1]) Then{ SetStopProfittarget(0); SetStoploss(0); } #포지션 진입후 pt이상 변폭이 발생하면 셋팅 if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{ SetStopProfittarget(1,PointStop); SetStoploss(1,PointStop); } NO-2-1. input : Pt(4); if 매수조건 Then{ #첫매수 if MarketPosition == 0 Then buy(); #추가매수 if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then buy(); } if 매도조건 Then{ #첫매도 if MarketPosition == 0 Then sell(); #추가매도 if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then sell(); } if MarketPosition == 1 Then{ if 매수청산조건 Then exitlong(); } if MarketPosition == -1 Then{ if 매도청산조건 Then ExitShort(); } SetStopProfittarget(1,PointStop); SetStoploss(1,PointStop); 감사 합니다.