커뮤니티

식 8

프로필 이미지
회원
2011-07-23 12:35:55
655
글번호 41230
답변완료
안녕하세요 [질문1] 한 개의 수식에서 (적은수익후 최대수익대비하락)과 (많은수익후 최대수익대비하락)을 동시에 그동안 계속 사용하다가, 이제는 봉완성시 주문의 경우는 수식으로만 사용해야되므로 60분봉챠트 2002년~2011년까지에 적용한 결과 1) TrailingStop2(매수)"나 TrailingStop2(매도)" 만 나오고 "TrailingStop1(매수)이나 TrailingStop1(매도)"등의 1번류는 전혀 안나옵니다. 2) 그나마 TrailingStop2도 가끔씩 나오고 나와야할 곳에서 안나오는 경우도 있는 것 같습니다. 3) 선물 60분봉에서 2%수익후 1%하락 & 4%수익후 2%하락등 온갖 변수는 다 집어넣어 넣어봤는데 오직 TrailingStop2만 가끔씩 나온답니다.. 선물60분봉에서 꼭 TEST해보시고 (2002~2011) TrailingStop1과 2가 골고루 나올 수 있도록 수정해주시면 고맙겠습니다. input : shortP(5), longP(20),수익1(2),손실1(1),수익2(5),손실2(2.5); var : 단기이평(0), 장기이평(0), buyVal(0), sellVal(0); 단기이평 = ma(C, shortP); 장기이평 = ma(C, longP); ### 매수식 if crossup(단기이평, 장기이평) and marketposition() != 1 then { buy(); var1 = 0; } ### 최대수익 대비 하락 (2% 수익후 1% 손실시) if marketposition() == 1 and C > entryprice(0) * (1 + 수익1/100) then { //문장1 var1 = 1; buyVal = C; //문장2 } ### 최대수익 대비 하락 (5% 수익후 2.5% 손실시) if marketposition() == 1 and C > entryprice(0) * (1 + 수익2/100) then { //문장1 var1 = 2; buyVal = C; //문장2 } if var1 == 1 then { if C < buyVal * (1 - 손실1/100) then //문장3 exitlong("TrailingStop1(매수)"); } if var1 == 2 then { if C < buyVal * (1 - 손실2/100) then //문장3 exitlong("TrailingStop2(매수)"); } ### 매도식 if crossdown(단기이평, 장기이평) and marketposition() != -1 then { sell(); var2 = 0; } ### 최대수익 대비 하락 (2% 수익후 1% 손실시) if marketposition() == -1 and C < entryprice(0) * (1 - 수익1/100) then { //문장4 var2 = -1; sellVal = C; //문장5 } ### 최대수익 대비 하락 (5% 수익후 2.5% 손실시) if marketposition() == -1 and C < entryprice(0) * (1 - 수익2/100) then { //문장4 var2 = -2; sellVal = C; //문장5 } if var2 == -1 then { if C > sellVal * (1 + 손실1/100) then //문장6 exitshort("TrailingStop1(매도)"); } if var2 == -2 then { if C > sellVal * (1 + 손실2/100) then //문장6 exitshort("TrailingStop2(매도)"); } [질문2] --------------------------------------- Q.1 장기이평(300일선),단기이평(100일선) 역배열대세하락중에 오직 역배열하에서만 높이솟구쳐 만들어진 250봉이내의 여러개의 전고점(swinghigh(1,30,3, 250))들중 제일 높은 것을 var8 이라고 하자. 이것을 정배열로 들어선 지금 100일이평선이 그 최근 역배열하의전고점중 가장 높은 그 전고점 var8을 돌파하면 매수. ------------- 2. 1) 전고점들 자체도 역배열에서 이루어진 것이어야하는 제약이 따르고, 2) c가 아니라 정배열인 100 이평선이 역배열상 제일높은 var8 가격을 돌파하는 것을 문의드리는 것입니다. 3) 이 전고점의 수명은 이번 상승기간까지만 참조되고, 얼마후에 하락이 오면 더이상 수명끝. 재차 상승할땐 그땐 미래니까 다른 새롭게 생긴 전고점이 참조되게하려합니다. 즉, 과거 250봉중 제일 높은 역배열상태의 전고점들중에서 제일 높은 전고점 가격을 정배열하의 100 이평선이 들이박으면 매수입니다. [질문3] 1.60분봉 기준으로해서 양봉다음에 음봉이 완성되는 순간 또는 음봉다음에 양봉이 완성 되는순간 조건1로 규정하며.. 양봉+음봉 짝중에 또는 음봉+양봉 짝중에 O(시작가)만을 기억한다. 2. 그 이후의 봉부턴 1개부터 ~6개정도까지 경과하더라도 기억된 O는 유지. (진입없이 6봉 경과하면 초기화 or 거래 생기고 청산되도 초기화) 3. c가 그 O를 하회하면 매도한다. c가 그 o를 상승하면 매수한다 4. 조건1울 초기화를 해줘야 하겠죠? (안해주면 내일도 그 O만을 기억하게 되는 거 맞죠?) 1) 날짜가 바뀌어도 초기화된다. 2) 진입청산없이(보유량없이) 6봉 경과하면 초기화. 3)매수,또는 매도했다가..성공했던 실패했던 일단 청산되면.. 그때부터 조건1은 RESET초기화. 감사^^
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-07-25 10:37:18

안녕하세요 예스스탁입니다. 1. input : shortP(5), longP(20),수익1(2),손실1(1),수익2(5),손실2(2.5); var : 단기이평(0), 장기이평(0), buyVal(0), sellVal(0); 단기이평 = ma(C, shortP); 장기이평 = ma(C, longP); ### 매수식 if crossup(단기이평, 장기이평) and marketposition != 1 then { buy(); } ### 최대수익 대비 하락 (2%~5% 수익후 1% 손실시) if marketposition() == 1 and highest(C,BarsSinceEntry) >= entryprice*(1+수익1/100) And highest(C,BarsSinceEntry) < entryprice*(1+수익2/100) then exitlong("TrailingStop1(매수)",AtStop,highest(C,BarsSinceEntry)*(1-손실1/100)); ### 최대수익 대비 하락 (5%이상 수익후 2.5% 손실시) if marketposition() == 1 and highest(C,BarsSinceEntry) >= entryprice*(1+수익2/100) then exitlong("TrailingStop2(매수)",AtStop,highest(C,BarsSinceEntry)*(1-손실2/100)); ### 매도식 if crossdown(단기이평, 장기이평) and marketposition() != -1 then { sell(); } ### 최대수익 대비 하락 (2%~5% 수익후 1% 손실시) if marketposition() == -1 and Lowest(C,BarsSinceEntry) <= entryprice(0)*(1-수익1/100) and Lowest(C,BarsSinceEntry) > entryprice(0)*(1-수익2/100)then exitshort("TrailingStop1(매도)",AtStop,Lowest(C,BarsSinceEntry)*(1+손실1/100)); ### 최대수익 대비 하락 (5%이상 수익후 2.5% 손실시) if marketposition() == -1 and Lowest(C,BarsSinceEntry) <= entryprice(0)*(1-수익2/100) then exitshort("TrailingStop2(매도)",AtStop,Lowest(C,BarsSinceEntry)*(1+손실2/100)); 2. var : HH(0); var1 = ma(c,100); var2 = ma(c,300); if CrossDown(var1,var2) Then{ value1 = -1; var8 = 0; } if Crossup(Var1,var2) Then value1 = 1; #역배열시 swinghigh중 가장 높은 값 if value1 == -1 Then{ if SwingHigh(1,h,3,3,7) != -1 then{ value2 = H[3]; if value2 > var8 Then var8 = Value2; } } if value1 == 1 and var8 != 0 and crossup(var1,var8) Then buy(); 3. Condition1 = (C < O and C[1] > O[1]) Or (C > O and C[1] < O[1]); if Condition1 == true Then{ var1 = O; } if countif(Condition1,6) >= 1 Then{ if crossup(c,var1) Then buy(); if CrossDown(c,var1) Then Sell(); } 즐거운 하루되세요 > yang오뚜기 님이 쓴 글입니다. > 제목 : 식 8 > 안녕하세요 [질문1] 한 개의 수식에서 (적은수익후 최대수익대비하락)과 (많은수익후 최대수익대비하락)을 동시에 그동안 계속 사용하다가, 이제는 봉완성시 주문의 경우는 수식으로만 사용해야되므로 60분봉챠트 2002년~2011년까지에 적용한 결과 1) TrailingStop2(매수)"나 TrailingStop2(매도)" 만 나오고 "TrailingStop1(매수)이나 TrailingStop1(매도)"등의 1번류는 전혀 안나옵니다. 2) 그나마 TrailingStop2도 가끔씩 나오고 나와야할 곳에서 안나오는 경우도 있는 것 같습니다. 3) 선물 60분봉에서 2%수익후 1%하락 & 4%수익후 2%하락등 온갖 변수는 다 집어넣어 넣어봤는데 오직 TrailingStop2만 가끔씩 나온답니다.. 선물60분봉에서 꼭 TEST해보시고 (2002~2011) TrailingStop1과 2가 골고루 나올 수 있도록 수정해주시면 고맙겠습니다. input : shortP(5), longP(20),수익1(2),손실1(1),수익2(5),손실2(2.5); var : 단기이평(0), 장기이평(0), buyVal(0), sellVal(0); 단기이평 = ma(C, shortP); 장기이평 = ma(C, longP); ### 매수식 if crossup(단기이평, 장기이평) and marketposition() != 1 then { buy(); var1 = 0; } ### 최대수익 대비 하락 (2% 수익후 1% 손실시) if marketposition() == 1 and C > entryprice(0) * (1 + 수익1/100) then { //문장1 var1 = 1; buyVal = C; //문장2 } ### 최대수익 대비 하락 (5% 수익후 2.5% 손실시) if marketposition() == 1 and C > entryprice(0) * (1 + 수익2/100) then { //문장1 var1 = 2; buyVal = C; //문장2 } if var1 == 1 then { if C < buyVal * (1 - 손실1/100) then //문장3 exitlong("TrailingStop1(매수)"); } if var1 == 2 then { if C < buyVal * (1 - 손실2/100) then //문장3 exitlong("TrailingStop2(매수)"); } ### 매도식 if crossdown(단기이평, 장기이평) and marketposition() != -1 then { sell(); var2 = 0; } ### 최대수익 대비 하락 (2% 수익후 1% 손실시) if marketposition() == -1 and C < entryprice(0) * (1 - 수익1/100) then { //문장4 var2 = -1; sellVal = C; //문장5 } ### 최대수익 대비 하락 (5% 수익후 2.5% 손실시) if marketposition() == -1 and C < entryprice(0) * (1 - 수익2/100) then { //문장4 var2 = -2; sellVal = C; //문장5 } if var2 == -1 then { if C > sellVal * (1 + 손실1/100) then //문장6 exitshort("TrailingStop1(매도)"); } if var2 == -2 then { if C > sellVal * (1 + 손실2/100) then //문장6 exitshort("TrailingStop2(매도)"); } [질문2] --------------------------------------- Q.1 장기이평(300일선),단기이평(100일선) 역배열대세하락중에 오직 역배열하에서만 높이솟구쳐 만들어진 250봉이내의 여러개의 전고점(swinghigh(1,30,3, 250))들중 제일 높은 것을 var8 이라고 하자. 이것을 정배열로 들어선 지금 100일이평선이 그 최근 역배열하의전고점중 가장 높은 그 전고점 var8을 돌파하면 매수. ------------- 2. 1) 전고점들 자체도 역배열에서 이루어진 것이어야하는 제약이 따르고, 2) c가 아니라 정배열인 100 이평선이 역배열상 제일높은 var8 가격을 돌파하는 것을 문의드리는 것입니다. 3) 이 전고점의 수명은 이번 상승기간까지만 참조되고, 얼마후에 하락이 오면 더이상 수명끝. 재차 상승할땐 그땐 미래니까 다른 새롭게 생긴 전고점이 참조되게하려합니다. 즉, 과거 250봉중 제일 높은 역배열상태의 전고점들중에서 제일 높은 전고점 가격을 정배열하의 100 이평선이 들이박으면 매수입니다. [질문3] 1.60분봉 기준으로해서 양봉다음에 음봉이 완성되는 순간 또는 음봉다음에 양봉이 완성 되는순간 조건1로 규정하며.. 양봉+음봉 짝중에 또는 음봉+양봉 짝중에 O(시작가)만을 기억한다. 2. 그 이후의 봉부턴 1개부터 ~6개정도까지 경과하더라도 기억된 O는 유지. (진입없이 6봉 경과하면 초기화 or 거래 생기고 청산되도 초기화) 3. c가 그 O를 하회하면 매도한다. c가 그 o를 상승하면 매수한다 4. 조건1울 초기화를 해줘야 하겠죠? (안해주면 내일도 그 O만을 기억하게 되는 거 맞죠?) 1) 날짜가 바뀌어도 초기화된다. 2) 진입청산없이(보유량없이) 6봉 경과하면 초기화. 3)매수,또는 매도했다가..성공했던 실패했던 일단 청산되면.. 그때부터 조건1은 RESET초기화. 감사^^