커뮤니티

문의드립니다

프로필 이미지
logos
2011-11-09 10:38:32
387
글번호 44578
답변완료
문1) 지난번 문의 드렸던 수식 누락된 부분이 있어 추가문의 드립니다 아래 답변수식의 하단부분의 if Condition1 == true and index >= var1+10 and index <= var1+30 and CrossDown(value1,value2) and H < var2 Then exitlong(); 수식과 같이 데드크로스 발생한 봉 이후 30개봉 이내에서 value1이 value2를 또다시 데드크로스 발생하면 바로 매수청산 하는 것으로 작성해 주셨는데 2번째 데드크로스 발생하면 바로 청산 하는 것이 아니라 다음과 같이 수정부탁드립니다 첫번째 데드크로스 발생한 봉 이후 30개봉 이내에서 value1이 value2를 1회이상 데드크로스 한적이 있으면 가장 최근에 value1이 value2를 골든크로스 발생했던 봉의 저가를 찾아 바로 이 봉의 저가를 하향돌파 하면 매수청산 하는 수식으로 수정부탁드립니다 -------------- 지난번 답변해 주신 수식 --------------------- input : shortPeriod(12),longPeriod(26),Period(9); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1,Period); if MarketPosition == 1 Then{ if Condition1 == false and BarsSinceEntry >= 5 and CrossDown(value1,value2) Then{ Condition1 = true; var1 = index; var2 = H; } if Condition1 == true and index >= var1+10 and index <= var1+30 and CrossDown(value1,value2) and H < var2 Then exitlong(); } Else Condition1 = false; 문2) 현재 매수포지션 일 때 매수진입 한 봉 이전 20개봉 이후로부터 매수진입 한 봉 사이에서 value1 이 value2를 1회 이상 데드크로스 한 적이 있으면 (즉 매수진입 한 봉 이전으로부터 20개봉 사이에서만 데드크로스 발생) 매수진입 한 봉의 30개봉 이내에서 value1 이 value2를 1회 이상 데드크로스 하면 (이때의 데드크로스시 봉의 고가는 진입봉 이전의 데드크로스 당시 봉의 고가보다 작아야 함) 가장 최근에 value1 이 value2를 골든크로스 했던 봉의 저가를 하향돌파 하면 매수청산 하는 수식부탁
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-11-09 13:12:16

안녕하세요 예스스탁입니다. 1. input : shortPeriod(12),longPeriod(26),Period(9); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1,Period); if MarketPosition == 1 Then{ if crossup(value1,value2) Then var3 = L; if BarsSinceEntry >= 5 and CrossDown(value1,value2) Then{ value3 = value3+1; var1 = index; var2 = var1[1]; var5 = H; var6 = var5[1]; if value3 == 2 and var1 >= var2+10 and var1 <= var2+30 and var5 < var6 Then{ Condition1 = true; var4 = var3; } } if Condition1 == true and CrossDown(c,var4) Then exitlong(); } Else{ value3 = 0; Condition1 = false; } 2. input : shortPeriod(12),longPeriod(26),Period(9); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1,Period); value3 = countif(CrossDown(value1,value2),20); if CrossDown(value1,value2) Then var1 = H; if CrossUp(value1,value2) Then var3 = L; if MarketPosition == 1 Then{ if value3[BarsSinceEntry] >= 1 and CrossDown(value1,value2) And H < var1[BarsSinceEntry] Then{ value4 = L; Condition1 = True; } if Condition1 == true and CrossDown(c,var3) Then exitlong(); } Else{ Condition1 = false; } 즐거운 하루되세요 > logos 님이 쓴 글입니다. > 제목 : 문의드립니다 > 문1) 지난번 문의 드렸던 수식 누락된 부분이 있어 추가문의 드립니다 아래 답변수식의 하단부분의 if Condition1 == true and index >= var1+10 and index <= var1+30 and CrossDown(value1,value2) and H < var2 Then exitlong(); 수식과 같이 데드크로스 발생한 봉 이후 30개봉 이내에서 value1이 value2를 또다시 데드크로스 발생하면 바로 매수청산 하는 것으로 작성해 주셨는데 2번째 데드크로스 발생하면 바로 청산 하는 것이 아니라 다음과 같이 수정부탁드립니다 첫번째 데드크로스 발생한 봉 이후 30개봉 이내에서 value1이 value2를 1회이상 데드크로스 한적이 있으면 가장 최근에 value1이 value2를 골든크로스 발생했던 봉의 저가를 찾아 바로 이 봉의 저가를 하향돌파 하면 매수청산 하는 수식으로 수정부탁드립니다 -------------- 지난번 답변해 주신 수식 --------------------- input : shortPeriod(12),longPeriod(26),Period(9); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1,Period); if MarketPosition == 1 Then{ if Condition1 == false and BarsSinceEntry >= 5 and CrossDown(value1,value2) Then{ Condition1 = true; var1 = index; var2 = H; } if Condition1 == true and index >= var1+10 and index <= var1+30 and CrossDown(value1,value2) and H < var2 Then exitlong(); } Else Condition1 = false; 문2) 현재 매수포지션 일 때 매수진입 한 봉 이전 20개봉 이후로부터 매수진입 한 봉 사이에서 value1 이 value2를 1회 이상 데드크로스 한 적이 있으면 (즉 매수진입 한 봉 이전으로부터 20개봉 사이에서만 데드크로스 발생) 매수진입 한 봉의 30개봉 이내에서 value1 이 value2를 1회 이상 데드크로스 하면 (이때의 데드크로스시 봉의 고가는 진입봉 이전의 데드크로스 당시 봉의 고가보다 작아야 함) 가장 최근에 value1 이 value2를 골든크로스 했던 봉의 저가를 하향돌파 하면 매수청산 하는 수식부탁