커뮤니티

문의드립니다.

프로필 이미지
깜피
2018-06-26 17:08:19
221
글번호 120045
답변완료
문의 1번. 안녕하세요. 다음과 같은 형태의 검색식을 작성해봤는데 원하는 대로 검색이 안되네요. 수식 확인 부탁드립니다. 감사합니다. * 60봉 동안 최고-최저가 20% 이내 * 종가 위치가 박스권의 하단 25% 이내 * 60봉 중 상단(20%) 부분에서 종가가 5회 이상 위치 * 60봉 중 하단(20%) 부분에서 종가가 5회 이상 위치 Variables : count1(0),count2(0), HH(0), LL(0), H_count(0), L_count(0); input: 날짜(20100101); HH = Highest(C[1],60); LL = Lowest(C[1],60); H_count = AccumN(iff(C > (HH -LL)*3/4 + LL, 1,0),60) ; L_count = AccumN(iff(C < (HH -LL)*4 + LL, 1,0),60) ; If HH <= LL * 1.2 and C < LL + (HH-LL) / 4 and H_count >=5 and L_count >=5 Then value1 = C; Else value1 = 0; Find(Value1); -------------------------------------------------------------------------------------- 문의 2번. 2차 매수 관련 문의 * 1차 매수 시 매수가와 직전 30봉의 최저가 체크 * 2차 매수는 1차 매수가(종가)와 직전 30봉 최저가(종가)의 차이에 따라서 변경됨 ** 최저가가 매수가 대비 -15% 이내일 경우 2차 매수 금지 ** 최저가가 매수가 대비 -15~ -20% 이내일 경우 crossdown(C, 1차매수가 * 0.85)하는 봉의 종가에서 2차 매수 ** 최저가가 매수가 대비 -20 ~ -30% 이내일 경우 crossdown(C, 1차매수가 * 0.80)하는 봉의 종가에서 2차 매수 ** 최저가가 매수가 대비 -30% 이상 벌어진 경우 2차 매수 금지 파란 원 부분에서 2차 매수가 나와야할 것 같은데 안나왔습니다. 수식 검토 부탁드립니다. 감사합니다. low30 = lowest(C,30); ma_min = min(ma(c,5), ma(c,10),ma(c,20), ma(c,60), ma(c,120)); MessageLog("%.2f %.2f %.2f %.2f %.2f", edate, low30, LatestEntryPrice, low30_no, low30_no); if 조건 만족 then { buy("b"); edate = entrydate; } ////추가 매수 If CurrentEntries == 1 and edate == EntryDate then { If low30 > LatestEntryPrice * 0.85 Then { low30_no = 1; } else If low30 <= LatestEntryPrice * 0.85 and low30 > LatestEntryPrice * 0.8 Then { low30_no = 2; } else If low30 > LatestEntryPrice * 0.7 Then { low30_no = 3; } Else { low30_no = 4; } } If CurrentEntries == 0 then edate = 0; if sdate >= 날짜 and currententries == 1 Then { If low30_no == 1 Then { } else If low30_no ==2 Then { if L<= latestentryprice * 0.85 then {buy("b2(-15%)",AtMarket,def);} } else If low30 == 3 Then { If L <= avgentryprice * 0.8 Then { buy("b2(-20%)",AtMarket,def);} } Else {}// 30% 이하찍으면 2차 매수 안함 }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-06-26 20:22:56

안녕하세요 예스스탁입니다. 1 Var : count1(0),count2(0), HH(0), LL(0), H_count(0), L_count(0); var : cnt(0); HH = Highest(C[1],60); LL = Lowest(C[1],60); H_count = 0 ; L_count = 0; for cnt = 1 to 60 { if C[cnt] >= HH-(HH-LL)*20 then H_count = H_count+1; if C[cnt] <= LL+(HH-LL)*20 then L_count = L_count+1; } If HH <= LL * 1.2 and C < LL + (HH-LL) / 4 and H_count >=5 and L_count >=5 Then value1 = C; Else value1 = 0; Find(Value1); 2 진입하지 않는 내용에 대해서는 조건지정이 불필요 합니다. 추가진입을 하는 식이므로 식 적용시에 시스템 트레이딩 설정창의 피라미딩 탭에서 다른신호만 허용으로 설정하고 적용하시면 됩니다. #매수진입후이고 최대 진입이 1회일때 if MarketPosition == 1 and MaxEntries == 1 then { #진입가 대비 30봉 최저가 등락률 var1 = (Low30-LatestEntryPrice(0))/LatestEntryPrice(0)*100; #-15~-20 사이이고 진입가-15%를 하향이탈하거나 #-20~-30 사이이고 진입가-20%를 하향이탈하면 매수 if (var1 <= -15 and var1 > -20 and CrossDown(c,LatestEntryPrice(0)*0.85)) or (var1 <= -20 and var1 > -30 and CrossDown(c,LatestEntryPrice(0)*0.80))Then buy("b2"); } 즐거운 하루되세요 > 깜피 님이 쓴 글입니다. > 제목 : 문의드립니다. > 문의 1번. 안녕하세요. 다음과 같은 형태의 검색식을 작성해봤는데 원하는 대로 검색이 안되네요. 수식 확인 부탁드립니다. 감사합니다. * 60봉 동안 최고-최저가 20% 이내 * 종가 위치가 박스권의 하단 25% 이내 * 60봉 중 상단(20%) 부분에서 종가가 5회 이상 위치 * 60봉 중 하단(20%) 부분에서 종가가 5회 이상 위치 Variables : count1(0),count2(0), HH(0), LL(0), H_count(0), L_count(0); input: 날짜(20100101); HH = Highest(C[1],60); LL = Lowest(C[1],60); H_count = AccumN(iff(C > (HH -LL)*3/4 + LL, 1,0),60) ; L_count = AccumN(iff(C < (HH -LL)*4 + LL, 1,0),60) ; If HH <= LL * 1.2 and C < LL + (HH-LL) / 4 and H_count >=5 and L_count >=5 Then value1 = C; Else value1 = 0; Find(Value1); -------------------------------------------------------------------------------------- 문의 2번. 2차 매수 관련 문의 * 1차 매수 시 매수가와 직전 30봉의 최저가 체크 * 2차 매수는 1차 매수가(종가)와 직전 30봉 최저가(종가)의 차이에 따라서 변경됨 ** 최저가가 매수가 대비 -15% 이내일 경우 2차 매수 금지 ** 최저가가 매수가 대비 -15~ -20% 이내일 경우 crossdown(C, 1차매수가 * 0.85)하는 봉의 종가에서 2차 매수 ** 최저가가 매수가 대비 -20 ~ -30% 이내일 경우 crossdown(C, 1차매수가 * 0.80)하는 봉의 종가에서 2차 매수 ** 최저가가 매수가 대비 -30% 이상 벌어진 경우 2차 매수 금지 파란 원 부분에서 2차 매수가 나와야할 것 같은데 안나왔습니다. 수식 검토 부탁드립니다. 감사합니다. low30 = lowest(C,30); ma_min = min(ma(c,5), ma(c,10),ma(c,20), ma(c,60), ma(c,120)); MessageLog("%.2f %.2f %.2f %.2f %.2f", edate, low30, LatestEntryPrice, low30_no, low30_no); if 조건 만족 then { buy("b"); edate = entrydate; } ////추가 매수 If CurrentEntries == 1 and edate == EntryDate then { If low30 > LatestEntryPrice * 0.85 Then { low30_no = 1; } else If low30 <= LatestEntryPrice * 0.85 and low30 > LatestEntryPrice * 0.8 Then { low30_no = 2; } else If low30 > LatestEntryPrice * 0.7 Then { low30_no = 3; } Else { low30_no = 4; } } If CurrentEntries == 0 then edate = 0; if sdate >= 날짜 and currententries == 1 Then { If low30_no == 1 Then { } else If low30_no ==2 Then { if L<= latestentryprice * 0.85 then {buy("b2(-15%)",AtMarket,def);} } else If low30 == 3 Then { If L <= avgentryprice * 0.8 Then { buy("b2(-20%)",AtMarket,def);} } Else {}// 30% 이하찍으면 2차 매수 안함 }