커뮤니티

최대수익대비하락 여러개 구현법

프로필 이미지
wizard
2005-09-12 14:29:33
843
글번호 8292
답변완료
안녕하세요. 한수식에 다중 최대수익대비하락을 표현하려합니다. 최대수익대비하락에 대해서 수식작성예제의 강제청산항목을 살펴보았습니다. 10%벌고 5%하락, 즉, 10% 번수익이 반토막 날때청산하는 경우를 예시되어있더군요. 아래에 옮겨놨습니다. 그런데 최대수익대비하락 상황이 한가지일경우인 것으로 보입니다.) 여기에 추가하여, 아래에 있는 10%벌고 5%손실이 날때 청산하는 아래의 강제청산식에 최대수익대비하락경우 한가지를 더 첨가하고 싶습니다. 즉, 20%벌고 10%손실(반토막)이 날때도 강제청산으로 추가하고 싶습니다. 즉, 식은 하나지만 다른 수익레벨에서의 강제청산 2가지를 원합니다. 참고로, SetstopTrailing으로 표현하면 예를들어.. if c > entryprice()*1.08 then setstoptrailing(50,20,Percent,0); if c < entryprice()*1.08 then setstoptrailing(50,10,Percent,0); 이런식으로 된다할 때 원래 특별한 조건없으면 앞식은 무효가 되지만 조건을 달아서 윗식은 둘다 유효로 나오게됩니다. 기존에 잘 써오던 것을 수식으로 표현하려는 것이지요. 즉, (많은 수익후의 최대수익대비하락)과 (적은 수익후의 최대수익대비하락)을 동시에 구현하려합니다. 윗식은 참고용이고, 아래 원문에 20%수익후 10%손실일때 최대수익대비하락을 추가하여 살짝 고쳐서 알려주시면 감사하겠습니다. 홈페이지에 있는 최대수익대비하락 [시스템식]예문 ########################################################## input : shortP(5), longP(20), 수익1(10), 손실1(5); var : 단기이평(0), 장기이평(0), buyVal(0), sellVal(0); 단기이평 = ma(C, shortP); 장기이평 = ma(C, longP); ### 매수식 if crossup(단기이평, 장기이평) and marketposition() != 1 then { buy(); var1 = 0; } ### 최대수익 대비 하락 (10% 수익후 5% 손실시) if marketposition() == 1 and C > entryprice(0) * (1 + 수익1/100) then { var1 = 1; buyVal = C; } if var1 == 1 then { if C < buyVal * (1 - 손실1/100) then exitlong("TrailingStop(매수)"); } ### 매도식 if crossdown(단기이평, 장기이평) and marketposition() != -1 then { sell(); var2 = 0; } ### 최대수익 대비 하락 (10% 수익후 5% 손실시) if marketposition() == -1 and C < entryprice(0) * (1 - 수익1/100) then { //문장4 var2 = -1; sellVal = C; //문장5 } if var2 == -1 then { if C > sellVal * (1 + 손실1/100) then //문장6 exitshort("TrailingStop(매도)"); } [문장설명] 문장1: 진입가격대비 10% 수익 문장2: 진입가격대비 10% 수익날 때의 종가를 저장 문장3: 진입후 10% 수익난 이후 5% 하락하면 청산 문장4: 진입가격대비 10% 수익 문장5: 진입가격대비 10% 수익날 때의 종가를 저장 문장6: 진입후 10% 수익난 이후 5% 하락하면 청산 ############################################### 수고하세요.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2005-09-13 16:58:50

안녕하세요 예스스탁입니다. 문의하신 식은 다음과 같습니다. input : shortP(5), longP(20),수익1(10),손실1(5),수익2(10),손실2(5); var : 단기이평(0), 장기이평(0), buyVal(0), sellVal(0); 단기이평 = ma(C, shortP); 장기이평 = ma(C, longP); ### 매수식 if crossup(단기이평, 장기이평) and marketposition() != 1 then { buy(); var1 = 0; } ### 최대수익 대비 하락 (10% 수익후 5% 손실시) if marketposition() == 1 and C > entryprice(0) * (1 + 수익1/100) then { //문장1 var1 = 1; buyVal = C; //문장2 } ### 최대수익 대비 하락 (20% 수익후 10% 손실시) 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; } ### 최대수익 대비 하락 (10% 수익후 5% 손실시) if marketposition() == -1 and C < entryprice(0) * (1 - 수익1/100) then { //문장4 var2 = -1; sellVal = C; //문장5 } ### 최대수익 대비 하락 (20% 수익후 10% 손실시) 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(매도)"); } 즐거운 하루되세요 > wizard 님이 쓴 글입니다. > 제목 : 최대수익대비하락 여러개 구현법 > 안녕하세요. 한수식에 다중 최대수익대비하락을 표현하려합니다. 최대수익대비하락에 대해서 수식작성예제의 강제청산항목을 살펴보았습니다. 10%벌고 5%하락, 즉, 10% 번수익이 반토막 날때청산하는 경우를 예시되어있더군요. 아래에 옮겨놨습니다. 그런데 최대수익대비하락 상황이 한가지일경우인 것으로 보입니다.) 여기에 추가하여, 아래에 있는 10%벌고 5%손실이 날때 청산하는 아래의 강제청산식에 최대수익대비하락경우 한가지를 더 첨가하고 싶습니다. 즉, 20%벌고 10%손실(반토막)이 날때도 강제청산으로 추가하고 싶습니다. 즉, 식은 하나지만 다른 수익레벨에서의 강제청산 2가지를 원합니다. 참고로, SetstopTrailing으로 표현하면 예를들어.. if c > entryprice()*1.08 then setstoptrailing(50,20,Percent,0); if c < entryprice()*1.08 then setstoptrailing(50,10,Percent,0); 이런식으로 된다할 때 원래 특별한 조건없으면 앞식은 무효가 되지만 조건을 달아서 윗식은 둘다 유효로 나오게됩니다. 기존에 잘 써오던 것을 수식으로 표현하려는 것이지요. 즉, (많은 수익후의 최대수익대비하락)과 (적은 수익후의 최대수익대비하락)을 동시에 구현하려합니다. 윗식은 참고용이고, 아래 원문에 20%수익후 10%손실일때 최대수익대비하락을 추가하여 살짝 고쳐서 알려주시면 감사하겠습니다. 홈페이지에 있는 최대수익대비하락 [시스템식]예문 ########################################################## input : shortP(5), longP(20), 수익1(10), 손실1(5); var : 단기이평(0), 장기이평(0), buyVal(0), sellVal(0); 단기이평 = ma(C, shortP); 장기이평 = ma(C, longP); ### 매수식 if crossup(단기이평, 장기이평) and marketposition() != 1 then { buy(); var1 = 0; } ### 최대수익 대비 하락 (10% 수익후 5% 손실시) if marketposition() == 1 and C > entryprice(0) * (1 + 수익1/100) then { var1 = 1; buyVal = C; } if var1 == 1 then { if C < buyVal * (1 - 손실1/100) then exitlong("TrailingStop(매수)"); } ### 매도식 if crossdown(단기이평, 장기이평) and marketposition() != -1 then { sell(); var2 = 0; } ### 최대수익 대비 하락 (10% 수익후 5% 손실시) if marketposition() == -1 and C < entryprice(0) * (1 - 수익1/100) then { //문장4 var2 = -1; sellVal = C; //문장5 } if var2 == -1 then { if C > sellVal * (1 + 손실1/100) then //문장6 exitshort("TrailingStop(매도)"); } [문장설명] 문장1: 진입가격대비 10% 수익 문장2: 진입가격대비 10% 수익날 때의 종가를 저장 문장3: 진입후 10% 수익난 이후 5% 하락하면 청산 문장4: 진입가격대비 10% 수익 문장5: 진입가격대비 10% 수익날 때의 종가를 저장 문장6: 진입후 10% 수익난 이후 5% 하락하면 청산 ############################################### 수고하세요.