커뮤니티

문의합니다.^^

프로필 이미지
쿠루드
2013-05-27 14:24:53
268
글번호 63617
답변완료
안녕하세요^^ 시초가 이후 장중 특별한 조건의 봉이 발생하면 진입 청산 리버스하는 식을 부탁드립니다. 현재봉이 고가, 저가 차가 변수 A 이상이고, 시가와 종가의 차가 변수 B 이상이라면, 예를들어 A가 +1 이상이고, B가 +0.5 이상인 봉이 나오면 그 봉을 기준봉으로 하여, 매수 진입합니다. B가 -0.5 이하면 매도진입이겠지요. 손절은 매수인 경우 그 봉의 저가 -1틱, 매도인 경우 그 봉의 고가 +1틱 입니다. 목표가는 기준봉 고가 또는 저가 + A입니다. 목표가 청산인 경우 다음진입은 A가 그전 A보다 같거나 커야 합니다. 진입이 된 이후에 A보다 더 큰 봉이 나오면 진입되어 있는 현재 포지션은 이익이던 손절이던 무조건 청산, 그리고 처음처럼 매수건 매도건 다시 신규진입하여 조건대로 수행합니다. 손절이 되면 리버스로 손절가와 동일하게 들어갑니다. 리버스 횟수는 변수로 지정합니다. 리버스 횟수만큼 손절 후엔 신규진입 동일합니다. 리버스된 진입의 손절가는 기준봉의 저가 고가의 +- 1틱이 아니라 기준봉 생성후 생긴 저가 또는 고가 +- 1틱입니다. 목표가는........... 매도에서 매수로 리버스된 경우 그 방향으로 진입가 + 기준봉이후 생긴 저점에서 진입가까지의 크기입니다. 여기서 재차 2회째 매도로 리버스가 나온다면, 그때 목표가는 진입가 + 기준봉 이후에 생긴 고점에서 진입가까지의 크기입니다. 리버스횟수와 상관없이 리버스의 이행 조건은 매수에서 매도로는 현재가가 < 변수 X 일때만... 매도에서 매수로 리버스하려면 현재가가 > 변수 X 일때만 가능하도록 부탁합니다. 리버스 진입이 아닌 일반진입은 변수와 무관하게 진입해야 합니다. 진입후 청산가 안오면 장마감 동시호가에 청산합니다. 감사합니다.^^
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2013-05-27 18:05:32

안녕하세요 예스스탁입니다. input : AA(1),BB(0.5),RN(3),X(250); var : cnt(0),count(0),Rcnt(0); count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } Rcnt = 0; for cnt = 20 downto 0{ if sdate == EntryDate(cnt) and (IsEntryName("BS",cnt) or IsEntryName("BS",cnt)) Then Rcnt = Rcnt+1; } var1 = H-L; var2 = C-O; if count == 0 Then{ if var1 >= AA and var2 >= BB Then buy("b1"); if var1 >= AA and var2 <= -BB Then sell("S1"); } if count >= 0 Then{ if ((MarketPosition == 0 and (IsExitName("SP",1) == true or IsExitName("BP",1) == true) and var1 >= var1[BarsSinceEntry(1)]) or (MarketPosition == 0 and IsExitName("SP",1) == false and IsExitName("BP",1) == false)) and var1 >= AA and var2 >= BB Then buy(); if ((MarketPosition == 0 and (IsExitName("SP",1) == true or IsExitName("BP",1) == true) and var1 >= var1[BarsSinceEntry(1)]) or (MarketPosition == 0 and IsExitName("SP",1) == false and IsExitName("BP",1) == false)) and var1 >= AA and var2 <= -BB Then sell(); } if MarketPosition == 1 Then{ if H-L > AA Then ExitLong(); if Rcnt < RN and C > X Then{ if IsEntryName("SB") == false Then value1 = lowest(L,BarsSinceEntry)-PriceScale; Else value1 = L[BarsSinceEntry]-PriceScale; Sell("BS",AtStop,Value1); } if IsEntryName("BS") == False Then ExitLong("BP1",AtLimit,H[BarsSinceEntry]+AA); if IsEntryName("BS") == True Then ExitShort("BP2",AtLimit,EntryPrice+(EntryPrice-Lowest(L,BarsSinceEntry))); } if MarketPosition == -1 Then{ if H-L > AA Then ExitShort(); if Rcnt < RN and C < X Then{ if IsEntryName("BS") == false Then value1 = Highest(H,BarsSinceEntry)+PriceScale; Else value1 = H[BarsSinceEntry]+PriceScale; buy("SB",AtStop,H[BarsSinceEntry]+PriceScale); } if IsEntryName("BS") == false Then ExitShort("SP1",AtLimit,L[BarsSinceEntry]-AA); if IsEntryName("BS") == True Then ExitShort("SP2",AtLimit,EntryPrice-(highest(H,BarsSinceEntry)-EntryPrice)); } SetStopEndofday(150000); 즐거운 하루되세요 > 쿠루드 님이 쓴 글입니다. > 제목 : 문의합니다.^^ > 안녕하세요^^ 시초가 이후 장중 특별한 조건의 봉이 발생하면 진입 청산 리버스하는 식을 부탁드립니다. 현재봉이 고가, 저가 차가 변수 A 이상이고, 시가와 종가의 차가 변수 B 이상이라면, 예를들어 A가 +1 이상이고, B가 +0.5 이상인 봉이 나오면 그 봉을 기준봉으로 하여, 매수 진입합니다. B가 -0.5 이하면 매도진입이겠지요. 손절은 매수인 경우 그 봉의 저가 -1틱, 매도인 경우 그 봉의 고가 +1틱 입니다. 목표가는 기준봉 고가 또는 저가 + A입니다. 목표가 청산인 경우 다음진입은 A가 그전 A보다 같거나 커야 합니다. 진입이 된 이후에 A보다 더 큰 봉이 나오면 진입되어 있는 현재 포지션은 이익이던 손절이던 무조건 청산, 그리고 처음처럼 매수건 매도건 다시 신규진입하여 조건대로 수행합니다. 손절이 되면 리버스로 손절가와 동일하게 들어갑니다. 리버스 횟수는 변수로 지정합니다. 리버스 횟수만큼 손절 후엔 신규진입 동일합니다. 리버스된 진입의 손절가는 기준봉의 저가 고가의 +- 1틱이 아니라 기준봉 생성후 생긴 저가 또는 고가 +- 1틱입니다. 목표가는........... 매도에서 매수로 리버스된 경우 그 방향으로 진입가 + 기준봉이후 생긴 저점에서 진입가까지의 크기입니다. 여기서 재차 2회째 매도로 리버스가 나온다면, 그때 목표가는 진입가 + 기준봉 이후에 생긴 고점에서 진입가까지의 크기입니다. 리버스횟수와 상관없이 리버스의 이행 조건은 매수에서 매도로는 현재가가 < 변수 X 일때만... 매도에서 매수로 리버스하려면 현재가가 > 변수 X 일때만 가능하도록 부탁합니다. 리버스 진입이 아닌 일반진입은 변수와 무관하게 진입해야 합니다. 진입후 청산가 안오면 장마감 동시호가에 청산합니다. 감사합니다.^^
프로필 이미지

쿠루드

2013-05-29 15:16:29

말씀드린 내용과 다른 결과가 나와서 추가로 문의드립니다. 그림에서처럼 좌측의 매수신호 후 기준봉의 저가 -1틱이 훼손되지 ㅇ낳았는데, 손절이 나갑니다. 오른쪽 아래는 목표가인데, 매수신호가 나온 기준봉의 고가와 저가 크기만큼 진입가 위로 설정되야 한느데, 그전에 청산되는군요. 화살표 부근정도는 되야 그 크기가 될거 같은데요... 수정 부탁드리겠습니다. 감사합니다.^^ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의합니다.^^ > 안녕하세요 예스스탁입니다. input : AA(1),BB(0.5),RN(3),X(250); var : cnt(0),count(0),Rcnt(0); count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } Rcnt = 0; for cnt = 20 downto 0{ if sdate == EntryDate(cnt) and (IsEntryName("BS",cnt) or IsEntryName("BS",cnt)) Then Rcnt = Rcnt+1; } var1 = H-L; var2 = C-O; if count == 0 Then{ if var1 >= AA and var2 >= BB Then buy("b1"); if var1 >= AA and var2 <= -BB Then sell("S1"); } if count >= 0 Then{ if ((MarketPosition == 0 and (IsExitName("SP",1) == true or IsExitName("BP",1) == true) and var1 >= var1[BarsSinceEntry(1)]) or (MarketPosition == 0 and IsExitName("SP",1) == false and IsExitName("BP",1) == false)) and var1 >= AA and var2 >= BB Then buy(); if ((MarketPosition == 0 and (IsExitName("SP",1) == true or IsExitName("BP",1) == true) and var1 >= var1[BarsSinceEntry(1)]) or (MarketPosition == 0 and IsExitName("SP",1) == false and IsExitName("BP",1) == false)) and var1 >= AA and var2 <= -BB Then sell(); } if MarketPosition == 1 Then{ if H-L > AA Then ExitLong(); if Rcnt < RN and C > X Then{ if IsEntryName("SB") == false Then value1 = lowest(L,BarsSinceEntry)-PriceScale; Else value1 = L[BarsSinceEntry]-PriceScale; Sell("BS",AtStop,Value1); } if IsEntryName("BS") == False Then ExitLong("BP1",AtLimit,H[BarsSinceEntry]+AA); if IsEntryName("BS") == True Then ExitShort("BP2",AtLimit,EntryPrice+(EntryPrice-Lowest(L,BarsSinceEntry))); } if MarketPosition == -1 Then{ if H-L > AA Then ExitShort(); if Rcnt < RN and C < X Then{ if IsEntryName("BS") == false Then value1 = Highest(H,BarsSinceEntry)+PriceScale; Else value1 = H[BarsSinceEntry]+PriceScale; buy("SB",AtStop,H[BarsSinceEntry]+PriceScale); } if IsEntryName("BS") == false Then ExitShort("SP1",AtLimit,L[BarsSinceEntry]-AA); if IsEntryName("BS") == True Then ExitShort("SP2",AtLimit,EntryPrice-(highest(H,BarsSinceEntry)-EntryPrice)); } SetStopEndofday(150000); 즐거운 하루되세요 > 쿠루드 님이 쓴 글입니다. > 제목 : 문의합니다.^^ > 안녕하세요^^ 시초가 이후 장중 특별한 조건의 봉이 발생하면 진입 청산 리버스하는 식을 부탁드립니다. 현재봉이 고가, 저가 차가 변수 A 이상이고, 시가와 종가의 차가 변수 B 이상이라면, 예를들어 A가 +1 이상이고, B가 +0.5 이상인 봉이 나오면 그 봉을 기준봉으로 하여, 매수 진입합니다. B가 -0.5 이하면 매도진입이겠지요. 손절은 매수인 경우 그 봉의 저가 -1틱, 매도인 경우 그 봉의 고가 +1틱 입니다. 목표가는 기준봉 고가 또는 저가 + A입니다. 목표가 청산인 경우 다음진입은 A가 그전 A보다 같거나 커야 합니다. 진입이 된 이후에 A보다 더 큰 봉이 나오면 진입되어 있는 현재 포지션은 이익이던 손절이던 무조건 청산, 그리고 처음처럼 매수건 매도건 다시 신규진입하여 조건대로 수행합니다. 손절이 되면 리버스로 손절가와 동일하게 들어갑니다. 리버스 횟수는 변수로 지정합니다. 리버스 횟수만큼 손절 후엔 신규진입 동일합니다. 리버스된 진입의 손절가는 기준봉의 저가 고가의 +- 1틱이 아니라 기준봉 생성후 생긴 저가 또는 고가 +- 1틱입니다. 목표가는........... 매도에서 매수로 리버스된 경우 그 방향으로 진입가 + 기준봉이후 생긴 저점에서 진입가까지의 크기입니다. 여기서 재차 2회째 매도로 리버스가 나온다면, 그때 목표가는 진입가 + 기준봉 이후에 생긴 고점에서 진입가까지의 크기입니다. 리버스횟수와 상관없이 리버스의 이행 조건은 매수에서 매도로는 현재가가 < 변수 X 일때만... 매도에서 매수로 리버스하려면 현재가가 > 변수 X 일때만 가능하도록 부탁합니다. 리버스 진입이 아닌 일반진입은 변수와 무관하게 진입해야 합니다. 진입후 청산가 안오면 장마감 동시호가에 청산합니다. 감사합니다.^^