커뮤니티
수식 부탁드립니다.
2009-10-27 15:36:20
585
글번호 25687
제 시스템은 단타시스템이라서 지난 기간에 조금 수익이 났었습니다.
그런데 어제 사단이 터졌습니다.
한달 전쯤에도 시스템 만들 초기에 질문을 드린바 있었고, 성실하게 예문도
보내주셔서 공부해 보았습니다.
어제 강한 상승추세에서 중간에 매도신호 나온 후 고점 돌파 당해서 곧이어
손절 신호가 나왔습니다.
문제는 손절신호가 atlimit 방식이었는데 동일 캔들에서 손절되자 마자 또
매도진입 신호가 나와서 이런게 어제 2번 있었습니다.
또 비슷한 경우인데요. setstoptrailing을 걸어서 수익이 나자마자 또 다시
그 캔들에서 진입 신호가 나와서 손실을 입었습니다. ( 지난 기간에는 신호가
다시 나와서 이익 보는 경우가 많아서 혹시나 해서 놔두었던 것이 화근이
되었습니다.)
아무래도 진입이 특정시점이 아니라 특정기간으로 해 놔서 진입시점과 청산이나
손절, setstop 시점이 3-4캔들 이내에 걸리면 이러한 현상이 일어날 수 밖에
없다고 봅니다. 아무래도 시스템은 안전이 우선이니깐, 혹시나 추가 신호가
더 이익 주지 않을까 하는 마음은 접었습니다. 그래서 다시 도움을 부탁드립니다.
(어제 전에 보내주신 예문으로 해 봤는데 잘 안되서 다시 설명 드리고 도움을
부탁드리겠습니다)
제 식의 구조는 다음과 같은 형식입니다.
if 조건a
then {
sell("a"); }
if isentryname("a") == true then {
if 청산조건
then
exitshort("청산a");
if 손절조건
then
exitshort("손절a"); }
if isexitname("손절a",1)== true then
if 재진입조건a
then
sell("재매도a");
if isentryname("a") == true then {
if 청산조건
then
exitshort("재매도청산a");
if 손절조건
then
exitshort("재매도손절a"); }
if 조건b
then {
sell("b"); }
if isentryname("b") == true then {
if 청산조건
then
exitshort("청산b");
if 손절조건
then
exitshort("손절b"); }
이렇게 동일한 방식으로 조건식이 c,d,e 식으로 몇 개 있고
마지막으로
if IsEntryName("a") == true Then
SetStopTrailing(0.05,0.34,PointStop);
else if IsEntryName("b") == true Then
SetStopTrailing(0.05,0.34,PointStop);
else if IsEntryName("c") == true Then
SetStopTrailing(0.05,0.55,PointStop);
.
.
.
.
Else
SetStopTrailing(0,0);
이렇게 되어있습니다.
이 상태에서 아까 질문드린 대로 청산,손절,setstoptrailing 과 동시에
청산 주문이 안 나오게 했으면 좋겠습니다.
더불어 청산,손절setstoptrailing 후 몇 캔들 내에서는 재진입 금지도 알려
주세요.
늘 바쁘신대 감사드립니다.
답변 1
예스스탁 예스스탁 답변
2009-10-28 11:10:15
안녕하세요
예스스탁입니다.
청산과 동시에 진입을 막으시기 위해서는
진입식을 수정해야 합니다.
진입식에 marketposition == 0이라는 조건을 추가하시면
무포지션임을 확인하고 진입에 들어가게 됩니다.
if 조건a and marketposition == 0
then {
sell("a"); }
아래는 청산후 N개봉 이후 진입하는 식입니다.
input : N(0);
var : cnt(0),count(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if (count == 0 and 조건a and marketposition == 0) or # 당일 첫진입은 조건a만족하면 진입하고
(count > 0 and BarsSinceExit(1) >= N and 조건a and marketposition == 0) # 당일 두번쨰 진입부터는 청산후 N개봉 후에 진입
then {
sell("a"); }
즐거운 하루되세요
> 하우즐영 님이 쓴 글입니다.
> 제목 : 수식 부탁드립니다.
> 제 시스템은 단타시스템이라서 지난 기간에 조금 수익이 났었습니다.
그런데 어제 사단이 터졌습니다.
한달 전쯤에도 시스템 만들 초기에 질문을 드린바 있었고, 성실하게 예문도
보내주셔서 공부해 보았습니다.
어제 강한 상승추세에서 중간에 매도신호 나온 후 고점 돌파 당해서 곧이어
손절 신호가 나왔습니다.
문제는 손절신호가 atlimit 방식이었는데 동일 캔들에서 손절되자 마자 또
매도진입 신호가 나와서 이런게 어제 2번 있었습니다.
또 비슷한 경우인데요. setstoptrailing을 걸어서 수익이 나자마자 또 다시
그 캔들에서 진입 신호가 나와서 손실을 입었습니다. ( 지난 기간에는 신호가
다시 나와서 이익 보는 경우가 많아서 혹시나 해서 놔두었던 것이 화근이
되었습니다.)
아무래도 진입이 특정시점이 아니라 특정기간으로 해 놔서 진입시점과 청산이나
손절, setstop 시점이 3-4캔들 이내에 걸리면 이러한 현상이 일어날 수 밖에
없다고 봅니다. 아무래도 시스템은 안전이 우선이니깐, 혹시나 추가 신호가
더 이익 주지 않을까 하는 마음은 접었습니다. 그래서 다시 도움을 부탁드립니다.
(어제 전에 보내주신 예문으로 해 봤는데 잘 안되서 다시 설명 드리고 도움을
부탁드리겠습니다)
제 식의 구조는 다음과 같은 형식입니다.
if 조건a
then {
sell("a"); }
if isentryname("a") == true then {
if 청산조건
then
exitshort("청산a");
if 손절조건
then
exitshort("손절a"); }
if isexitname("손절a",1)== true then
if 재진입조건a
then
sell("재매도a");
if isentryname("a") == true then {
if 청산조건
then
exitshort("재매도청산a");
if 손절조건
then
exitshort("재매도손절a"); }
if 조건b
then {
sell("b"); }
if isentryname("b") == true then {
if 청산조건
then
exitshort("청산b");
if 손절조건
then
exitshort("손절b"); }
이렇게 동일한 방식으로 조건식이 c,d,e 식으로 몇 개 있고
마지막으로
if IsEntryName("a") == true Then
SetStopTrailing(0.05,0.34,PointStop);
else if IsEntryName("b") == true Then
SetStopTrailing(0.05,0.34,PointStop);
else if IsEntryName("c") == true Then
SetStopTrailing(0.05,0.55,PointStop);
.
.
.
.
Else
SetStopTrailing(0,0);
이렇게 되어있습니다.
이 상태에서 아까 질문드린 대로 청산,손절,setstoptrailing 과 동시에
청산 주문이 안 나오게 했으면 좋겠습니다.
더불어 청산,손절setstoptrailing 후 몇 캔들 내에서는 재진입 금지도 알려
주세요.
늘 바쁘신대 감사드립니다.
다음글
이전글