커뮤니티

시스템식 부탁드립니다

프로필 이미지
공부와노력
2009-11-02 11:59:53
486
글번호 25814
답변완료
안녕하세요 시스템식 부탁드립니다 ============== 시스템식은 이거고요 input : BBAND1_PERIOD(12), BBAND2_PERIOD(12), D(2); var1 = BollBandUp(BBAND1_PERIOD,D); var2 = BollBandDown(BBAND2_PERIOD,D); if crossup(c,var1) Then buy(); if CrossDown(c,var2) Then sell(); ====================== 이 시스템식의 연속손실 제한식을 부탁드립니다 식 작성은 1. 연속 2회 손실이 났을 경우 다음 거래를 쉬는 식 부탁합니다 2. 연속 2회 손실이 났을 경우 다음 2회의 거래를 쉬는 식 부탁드립니다 3. 이번이 손실거래 즉 손실거래 1회 발생시 다음 거래를 쉬는 식 부탁드립니다 4. 이번이 손실거래 즉 손실거래 1회 발생시 다음 2회의 거래를 쉬는 식 부탁드립니다 5. 이런 거 질문해도 되나요? 답변 안해주셔도 무방합니다 MDD를 줄이는 방법에는 어떤 방법들이 있나요? 연속손실을 줄이려면 이번이 손실거래라면 다음 진입이나 손실거래 이후의 2회 정도의 거래를 쉬어야 할 것으로 보이는데 손실 거래 이후의 진입 조건을 따져 보는 방식으로 MDD를 줄이는 건가요? MDD, 연속손실거래를 줄이는 방법을 아시면 좀 가르쳐 주세요 -답변 안해주셔도 무방
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2009-11-02 20:56:38

안녕하세요 예스스탁입니다. 1. input : BBAND1_PERIOD(12), BBAND2_PERIOD(12), D(2); var : cnt(0),count(0); count = 0; for cnt = 20 DownTo 1 { if PositionProfit(cnt) < 0 Then count = count+1; Else count = 0; } var1 = BollBandUp(BBAND1_PERIOD,D); var2 = BollBandDown(BBAND2_PERIOD,D); if count == 0 Then{ if crossup(c,var1) Then{ buy("B0"); } if CrossDown(c,var2) Then{ sell("S0"); } } if count >= 1 and MarketPosition != 0 Then{ if crossup(c,var1) Then{ if C <= EntryPrice Then buy("B1"); Else ExitShort("SX"); } if CrossDown(c,var2) Then{ if C >= EntryPrice Then sell("S1"); Else ExitLong("BX"); } } if count >= 2 and MarketPosition == 0 Then{ if MarketPosition(1) == 1 and crossup(c,var1) Then{ buy("B2"); } if MarketPosition(1) == -1 and CrossDown(c,var2) Then{ sell("S2"); } } 2. input : BBAND1_PERIOD(12), BBAND2_PERIOD(12), D(2); var : cnt(0),count(0); count = 0; for cnt = 20 DownTo 1 { if PositionProfit(cnt) < 0 Then count = count+1; Else count = 0; } var1 = BollBandUp(BBAND1_PERIOD,D); var2 = BollBandDown(BBAND2_PERIOD,D); if count == 0 Then{ if crossup(c,var1) Then{ buy("B0"); } if CrossDown(c,var2) Then{ sell("S0"); } } if count >= 1 and MarketPosition != 0 Then{ if crossup(c,var1) Then{ if C <= EntryPrice Then buy("B1"); Else ExitShort("SX"); } if CrossDown(c,var2) Then{ if C >= EntryPrice Then sell("S1"); Else ExitLong("BX"); } } if count >= 2 and MarketPosition == 0 Then{ if MarketPosition(1) == -1 and countif(CrossDown(c,var2),BarsSinceExit(1)) >= 1 and crossup(c,var1) Then{ buy("B2"); } if MarketPosition(1) == 1 and countif(CrossUp(c,var1),BarsSinceExit(1)) >= 1 and CrossDown(c,var2) Then{ sell("S2"); } } 3. input : BBAND1_PERIOD(12), BBAND2_PERIOD(12), D(2); var : cnt(0),count(0); count = 0; for cnt = 20 DownTo 1 { if PositionProfit(cnt) < 0 Then count = count+1; Else count = 0; } var1 = BollBandUp(BBAND1_PERIOD,D); var2 = BollBandDown(BBAND2_PERIOD,D); if count == 0 and MarketPosition == 0 Then{ if crossup(c,var1) Then{ buy("B0"); } if CrossDown(c,var2) Then{ sell("S0"); } } if MarketPosition != 0 Then{ if crossup(c,var1) Then{ if C <= EntryPrice Then buy("B1"); Else ExitShort("SX"); } if CrossDown(c,var2) Then{ if C >= EntryPrice Then sell("S1"); Else ExitLong("BX"); } } if count >= 1 and MarketPosition == 0 Then{ if MarketPosition(1) == 1 and crossup(c,var1) Then{ buy("B2"); } if MarketPosition(1) == -1 and CrossDown(c,var2) Then{ sell("S2"); } } 4. input : BBAND1_PERIOD(12), BBAND2_PERIOD(12), D(2); var : cnt(0),count(0); count = 0; for cnt = 20 DownTo 1 { if PositionProfit(cnt) < 0 Then count = count+1; Else count = 0; } var1 = BollBandUp(BBAND1_PERIOD,D); var2 = BollBandDown(BBAND2_PERIOD,D); if count == 0 and MarketPosition == 0 Then{ if crossup(c,var1) Then{ buy("B0"); } if CrossDown(c,var2) Then{ sell("S0"); } } if MarketPosition != 0 Then{ if crossup(c,var1) Then{ if C <= EntryPrice Then buy("B1"); Else ExitShort("SX"); } if CrossDown(c,var2) Then{ if C >= EntryPrice Then sell("S1"); Else ExitLong("BX"); } } if count >= 1 and MarketPosition == 0 Then{ if MarketPosition(1) == -1 and countif(CrossDown(c,var2),BarsSinceExit(1)) >= 1 and crossup(c,var1) Then{ buy("B2"); } if MarketPosition(1) == 1 and countif(CrossUp(c,var1),BarsSinceExit(1)) >= 1 and CrossDown(c,var2) Then{ sell("S2"); } } 5. MDD를 줄이는 방법에 대해서는 특별히 조언해 드릴 부분이 없습니다. 손실의 횟수를 카운트하여 거래를 쉬는 방법도 하나의 방법일 수 있지만 그 쉬는 거래가 수익거래일수도 있으므로 유의하셔야 합니다. 거래의 횟수보다는 진입과 청산의 조건이 더 중요한 부분이라고 생각됩니다. 즐거운 하루되세요 > 공부와노력 님이 쓴 글입니다. > 제목 : 시스템식 부탁드립니다 > 안녕하세요 시스템식 부탁드립니다 ============== 시스템식은 이거고요 input : BBAND1_PERIOD(12), BBAND2_PERIOD(12), D(2); var1 = BollBandUp(BBAND1_PERIOD,D); var2 = BollBandDown(BBAND2_PERIOD,D); if crossup(c,var1) Then buy(); if CrossDown(c,var2) Then sell(); ====================== 이 시스템식의 연속손실 제한식을 부탁드립니다 식 작성은 1. 연속 2회 손실이 났을 경우 다음 거래를 쉬는 식 부탁합니다 2. 연속 2회 손실이 났을 경우 다음 2회의 거래를 쉬는 식 부탁드립니다 3. 이번이 손실거래 즉 손실거래 1회 발생시 다음 거래를 쉬는 식 부탁드립니다 4. 이번이 손실거래 즉 손실거래 1회 발생시 다음 2회의 거래를 쉬는 식 부탁드립니다 5. 이런 거 질문해도 되나요? 답변 안해주셔도 무방합니다 MDD를 줄이는 방법에는 어떤 방법들이 있나요? 연속손실을 줄이려면 이번이 손실거래라면 다음 진입이나 손실거래 이후의 2회 정도의 거래를 쉬어야 할 것으로 보이는데 손실 거래 이후의 진입 조건을 따져 보는 방식으로 MDD를 줄이는 건가요? MDD, 연속손실거래를 줄이는 방법을 아시면 좀 가르쳐 주세요 -답변 안해주셔도 무방