커뮤니티
진입제어 수식 부탁드립니다.
2010-08-30 09:49:25
654
글번호 31924
안녕하세요.. 수식 부탁드립니다.
------------------------------------
선물 1계약 기준입니다.
if C > ma(C,20) then Buy();
if C < ma(C,20) then Sell(); 이라는 수식이 있다면,
종가가 20이평 위에서 봉완성이 되는 다음봉 시초가에서 매수가 되고,
종가가 20이평 아래에서 봉완성이 되는 다음봉 시초가에서 매도가 반복될 것입니다.
(리버스로 매수매도가 진행되겠지요)
위 수식에서 매수를 예로할때,
1) 여기서 만약 조건A에 의하여 매수청산이 된 경우 C < ma(C,20) 조건이
충족되기 전에는 청산이후 재진입이 되지 않도록 하고 싶습니다.
--> 장개시전 무포지션 --> C > ma(C,20) 발생으로 매수 1계약 진입
--> 조건A 충족 --> 매수포지션 1계약 청산
--> 청산후 C > ma(C,20) 상태가 유지되도 재진입 안함 (무포지션 상태)
--> 이후 C < ma(C,20)로 전환되면 매도 1계약 진입
2) 만약 매수진입후 C > ma(C,20)의 상태에서 A라는 조건을 만족하지 못하고
C < ma(C,20)의 상태로 전환된 경우 매수포지션 청산과 함께,
매도진입이 동시에 일어났으면 합니다.
--> 장개시전 무포지션 --> C > ma(C,20) 발생으로 매수 1계약 진입
--> 조건A 충족을 못하고 C < ma(C,20)으로 전환
--> 매수포지션 1계약 청산과 함께 매도 1계약 진입
3) 장중 1), 2)를 반복하다가 장종료시 강제청산으로 익일 무포지션으로 시작
위와 같은 내용을 아래 수식을 기준으로 예를들어서 부탁드립니다.
if stime < 143000 then {
if C > ma(C,20) then Buy();
if C < ma(C,20) then Sell();
SetstopProfittarget(1,pointstop); --> 조건A에 해당
}
SetstopEndofday(150000);
--> 참고로 위와 같이 하면 C > ma(C,20) 상태가 유지되고 있는 상태에서는
조건A 만족시 청산후 재진입이 일어납니다.
(저는 조건만족시 청산후 C < ma(C,20) 전환전까지는 재진입이 일어나지
않기를 원함)
--> 조건A 만족으로 청산후 무포지션에서 C < ma(C,20) 전환시 매도진입되는 경우와
조건만족을 못하여 청산이 일어나지 않은 상태에서 청산과 함께 매도진입되는
부분 꼭 신경써 주시기 바랍니다.
---------------------------------------
SetstopProfittarget에 관하여 추가 질문이 있습니다.
1) SetstopProfittarget(1,pointstop); 에서 시뮬레이션이 아닌 실제매매일 경우
선물지수 200pt에서 매수를 하였다고 가정한다면,
선물지수가 201pt를 터치만 해도 체결이 되는 것인지, (만약 터치만 해도 체결이
되는 것이라면 200.95pt에 청산될 가능성이 높겠지요)
아니면 매수호가가 201pt로 바뀔 때 체결이 되는 것인지,
아니면 선물지수가 201.05pt를 터치할 때 청산되는 것인지 궁금합니다.
말씀드렸듯이 실제매매를 기준으로 설명 부탁드립니다.
2) 그리고 SetstopProfittarget은 강제청산함수로 알고 있는데,
실전에서 봉완성시가 아닌 조건만족하는 시점에서 체결되는 것이 맞는지요?
또한 이때 시스템트레이딩 설정부분에서 청산시점에 반드시 '조건만족 즉시'에
체크가 되어있어야 하는지요?
3) 당연한 얘기같은데, SetstopProfittarget(1,pointstop); 은
실제진입시 체결된 가격을 기준으로 1pt수익을 계산하는 것이 맞겠지요?
-------------------------------------
마지막으로 한가지 더 질문드립니다.
무포지션에서 if C > ma(C,20) then Buy();의 경우 crossup과 마찬가지로
C의 종가가 ma(C,20)을 돌파하면서 종가가 끝난 다음봉 시초가에서 매수체결이
될 것입니다.
혹시 이 수식을 봉완성전이라도 C의 종가가 ma(C,20)값을 터치 또는 돌파하는 순간
매수진입을 하도록 할 수는 없는지요?
혹시 if C > ma(C,20) then Buy("B",atstop,ma(C,20)+0.05);
이렇게 수식을 작성하면 제가 의도한대로 되는 것인지요?
이상입니다. 감사합니다...
그럼 오늘도 행복한 하루되시기를 바랍니다.
답변 2
예스스탁 예스스탁 답변
2010-08-30 11:30:02
안녕하세요
예스스탁입니다.
1.
if stime < 143000 then {
if ((MarketPosition == 0 and sdate != ExitDate(1)) or MarketPosition != 0) Then{
if C > ma(C,20) then Buy();
if C < ma(C,20) then Sell();
}
if (sdate == ExitDate(1) and MarketPosition == 0) Then{
if MarketPosition(1) == -1 and C > ma(C,20) then Buy();
if MarketPosition(1) == 1 and C < ma(C,20) then Sell();
}
}
SetstopProfittarget(1,pointstop); # --> 조건A에 해당
SetstopEndofday(150000);
2.
진입이 200이라면 201이상의 시세가 발생하면 그때 주문이 발생합니다.
이때 주문가격은 시스템 트레이딩 설정창에서 지정한 청산가격으로 나가며
실제 체결가격은 알 수 없습니다.
예 조건만족 즉시 발생합니다.
단 시스템 트레이딩 설정창의 강제청산 탭 하단에 청산시점이
조건만족 즉시로 설정되어 있어야 합니다.
시스템은 잔고와 연동되지 않았습니다.
시스템의 모든 신호는 차트상의 신호를 기준으로 합니다.
그러므로 목표수익도 진입의 체결가격이 아니라
시스템상 진입신호의 진입가격입니다.
3. 해당 내용은 봉미완성시에 가능하지 않습니다.
Buy("B",atstop,ma(C,20)+0.05);
은 현재봉의 20이평값이 아닙니다.
완성된봉(직전봉)의 20이평값을 기준으로 그값보다 한틱위의 시세가 발생하면 매수진입하라는
식입니다.
즐거운 하루되세요
> 새로운세상 님이 쓴 글입니다.
> 제목 : 진입제어 수식 부탁드립니다.
> 안녕하세요.. 수식 부탁드립니다.
------------------------------------
선물 1계약 기준입니다.
if C > ma(C,20) then Buy();
if C < ma(C,20) then Sell(); 이라는 수식이 있다면,
종가가 20이평 위에서 봉완성이 되는 다음봉 시초가에서 매수가 되고,
종가가 20이평 아래에서 봉완성이 되는 다음봉 시초가에서 매도가 반복될 것입니다.
(리버스로 매수매도가 진행되겠지요)
위 수식에서 매수를 예로할때,
1) 여기서 만약 조건A에 의하여 매수청산이 된 경우 C < ma(C,20) 조건이
충족되기 전에는 청산이후 재진입이 되지 않도록 하고 싶습니다.
--> 장개시전 무포지션 --> C > ma(C,20) 발생으로 매수 1계약 진입
--> 조건A 충족 --> 매수포지션 1계약 청산
--> 청산후 C > ma(C,20) 상태가 유지되도 재진입 안함 (무포지션 상태)
--> 이후 C < ma(C,20)로 전환되면 매도 1계약 진입
2) 만약 매수진입후 C > ma(C,20)의 상태에서 A라는 조건을 만족하지 못하고
C < ma(C,20)의 상태로 전환된 경우 매수포지션 청산과 함께,
매도진입이 동시에 일어났으면 합니다.
--> 장개시전 무포지션 --> C > ma(C,20) 발생으로 매수 1계약 진입
--> 조건A 충족을 못하고 C < ma(C,20)으로 전환
--> 매수포지션 1계약 청산과 함께 매도 1계약 진입
3) 장중 1), 2)를 반복하다가 장종료시 강제청산으로 익일 무포지션으로 시작
위와 같은 내용을 아래 수식을 기준으로 예를들어서 부탁드립니다.
if stime < 143000 then {
if C > ma(C,20) then Buy();
if C < ma(C,20) then Sell();
SetstopProfittarget(1,pointstop); --> 조건A에 해당
}
SetstopEndofday(150000);
--> 참고로 위와 같이 하면 C > ma(C,20) 상태가 유지되고 있는 상태에서는
조건A 만족시 청산후 재진입이 일어납니다.
(저는 조건만족시 청산후 C < ma(C,20) 전환전까지는 재진입이 일어나지
않기를 원함)
--> 조건A 만족으로 청산후 무포지션에서 C < ma(C,20) 전환시 매도진입되는 경우와
조건만족을 못하여 청산이 일어나지 않은 상태에서 청산과 함께 매도진입되는
부분 꼭 신경써 주시기 바랍니다.
---------------------------------------
SetstopProfittarget에 관하여 추가 질문이 있습니다.
1) SetstopProfittarget(1,pointstop); 에서 시뮬레이션이 아닌 실제매매일 경우
선물지수 200pt에서 매수를 하였다고 가정한다면,
선물지수가 201pt를 터치만 해도 체결이 되는 것인지, (만약 터치만 해도 체결이
되는 것이라면 200.95pt에 청산될 가능성이 높겠지요)
아니면 매수호가가 201pt로 바뀔 때 체결이 되는 것인지,
아니면 선물지수가 201.05pt를 터치할 때 청산되는 것인지 궁금합니다.
말씀드렸듯이 실제매매를 기준으로 설명 부탁드립니다.
2) 그리고 SetstopProfittarget은 강제청산함수로 알고 있는데,
실전에서 봉완성시가 아닌 조건만족하는 시점에서 체결되는 것이 맞는지요?
또한 이때 시스템트레이딩 설정부분에서 청산시점에 반드시 '조건만족 즉시'에
체크가 되어있어야 하는지요?
3) 당연한 얘기같은데, SetstopProfittarget(1,pointstop); 은
실제진입시 체결된 가격을 기준으로 1pt수익을 계산하는 것이 맞겠지요?
-------------------------------------
마지막으로 한가지 더 질문드립니다.
무포지션에서 if C > ma(C,20) then Buy();의 경우 crossup과 마찬가지로
C의 종가가 ma(C,20)을 돌파하면서 종가가 끝난 다음봉 시초가에서 매수체결이
될 것입니다.
혹시 이 수식을 봉완성전이라도 C의 종가가 ma(C,20)값을 터치 또는 돌파하는 순간
매수진입을 하도록 할 수는 없는지요?
혹시 if C > ma(C,20) then Buy("B",atstop,ma(C,20)+0.05);
이렇게 수식을 작성하면 제가 의도한대로 되는 것인지요?
이상입니다. 감사합니다...
그럼 오늘도 행복한 하루되시기를 바랍니다.
새로운세상
2010-08-30 11:48:05
1번 수식에서 질문이 있습니다.
분봉을 사용하는 경우에도 1번 수식이 그대로 적용되는지요?
처음 질문드릴 때 선물 분봉을 사용한다는 말씀을 빼먹었네요... ^^;;
한번에 제대로 질문 못드려서 죄송합니다.
감사합니다~
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 진입제어 수식 부탁드립니다.
> 안녕하세요
예스스탁입니다.
1.
if stime < 143000 then {
if ((MarketPosition == 0 and sdate != ExitDate(1)) or MarketPosition != 0) Then{
if C > ma(C,20) then Buy();
if C < ma(C,20) then Sell();
}
if (sdate == ExitDate(1) and MarketPosition == 0) Then{
if MarketPosition(1) == -1 and C > ma(C,20) then Buy();
if MarketPosition(1) == 1 and C < ma(C,20) then Sell();
}
}
SetstopProfittarget(1,pointstop); # --> 조건A에 해당
SetstopEndofday(150000);
2.
진입이 200이라면 201이상의 시세가 발생하면 그때 주문이 발생합니다.
이때 주문가격은 시스템 트레이딩 설정창에서 지정한 청산가격으로 나가며
실제 체결가격은 알 수 없습니다.
예 조건만족 즉시 발생합니다.
단 시스템 트레이딩 설정창의 강제청산 탭 하단에 청산시점이
조건만족 즉시로 설정되어 있어야 합니다.
시스템은 잔고와 연동되지 않았습니다.
시스템의 모든 신호는 차트상의 신호를 기준으로 합니다.
그러므로 목표수익도 진입의 체결가격이 아니라
시스템상 진입신호의 진입가격입니다.
3. 해당 내용은 봉미완성시에 가능하지 않습니다.
Buy("B",atstop,ma(C,20)+0.05);
은 현재봉의 20이평값이 아닙니다.
완성된봉(직전봉)의 20이평값을 기준으로 그값보다 한틱위의 시세가 발생하면 매수진입하라는
식입니다.
즐거운 하루되세요
> 새로운세상 님이 쓴 글입니다.
> 제목 : 진입제어 수식 부탁드립니다.
> 안녕하세요.. 수식 부탁드립니다.
------------------------------------
선물 1계약 기준입니다.
if C > ma(C,20) then Buy();
if C < ma(C,20) then Sell(); 이라는 수식이 있다면,
종가가 20이평 위에서 봉완성이 되는 다음봉 시초가에서 매수가 되고,
종가가 20이평 아래에서 봉완성이 되는 다음봉 시초가에서 매도가 반복될 것입니다.
(리버스로 매수매도가 진행되겠지요)
위 수식에서 매수를 예로할때,
1) 여기서 만약 조건A에 의하여 매수청산이 된 경우 C < ma(C,20) 조건이
충족되기 전에는 청산이후 재진입이 되지 않도록 하고 싶습니다.
--> 장개시전 무포지션 --> C > ma(C,20) 발생으로 매수 1계약 진입
--> 조건A 충족 --> 매수포지션 1계약 청산
--> 청산후 C > ma(C,20) 상태가 유지되도 재진입 안함 (무포지션 상태)
--> 이후 C < ma(C,20)로 전환되면 매도 1계약 진입
2) 만약 매수진입후 C > ma(C,20)의 상태에서 A라는 조건을 만족하지 못하고
C < ma(C,20)의 상태로 전환된 경우 매수포지션 청산과 함께,
매도진입이 동시에 일어났으면 합니다.
--> 장개시전 무포지션 --> C > ma(C,20) 발생으로 매수 1계약 진입
--> 조건A 충족을 못하고 C < ma(C,20)으로 전환
--> 매수포지션 1계약 청산과 함께 매도 1계약 진입
3) 장중 1), 2)를 반복하다가 장종료시 강제청산으로 익일 무포지션으로 시작
위와 같은 내용을 아래 수식을 기준으로 예를들어서 부탁드립니다.
if stime < 143000 then {
if C > ma(C,20) then Buy();
if C < ma(C,20) then Sell();
SetstopProfittarget(1,pointstop); --> 조건A에 해당
}
SetstopEndofday(150000);
--> 참고로 위와 같이 하면 C > ma(C,20) 상태가 유지되고 있는 상태에서는
조건A 만족시 청산후 재진입이 일어납니다.
(저는 조건만족시 청산후 C < ma(C,20) 전환전까지는 재진입이 일어나지
않기를 원함)
--> 조건A 만족으로 청산후 무포지션에서 C < ma(C,20) 전환시 매도진입되는 경우와
조건만족을 못하여 청산이 일어나지 않은 상태에서 청산과 함께 매도진입되는
부분 꼭 신경써 주시기 바랍니다.
---------------------------------------
SetstopProfittarget에 관하여 추가 질문이 있습니다.
1) SetstopProfittarget(1,pointstop); 에서 시뮬레이션이 아닌 실제매매일 경우
선물지수 200pt에서 매수를 하였다고 가정한다면,
선물지수가 201pt를 터치만 해도 체결이 되는 것인지, (만약 터치만 해도 체결이
되는 것이라면 200.95pt에 청산될 가능성이 높겠지요)
아니면 매수호가가 201pt로 바뀔 때 체결이 되는 것인지,
아니면 선물지수가 201.05pt를 터치할 때 청산되는 것인지 궁금합니다.
말씀드렸듯이 실제매매를 기준으로 설명 부탁드립니다.
2) 그리고 SetstopProfittarget은 강제청산함수로 알고 있는데,
실전에서 봉완성시가 아닌 조건만족하는 시점에서 체결되는 것이 맞는지요?
또한 이때 시스템트레이딩 설정부분에서 청산시점에 반드시 '조건만족 즉시'에
체크가 되어있어야 하는지요?
3) 당연한 얘기같은데, SetstopProfittarget(1,pointstop); 은
실제진입시 체결된 가격을 기준으로 1pt수익을 계산하는 것이 맞겠지요?
-------------------------------------
마지막으로 한가지 더 질문드립니다.
무포지션에서 if C > ma(C,20) then Buy();의 경우 crossup과 마찬가지로
C의 종가가 ma(C,20)을 돌파하면서 종가가 끝난 다음봉 시초가에서 매수체결이
될 것입니다.
혹시 이 수식을 봉완성전이라도 C의 종가가 ma(C,20)값을 터치 또는 돌파하는 순간
매수진입을 하도록 할 수는 없는지요?
혹시 if C > ma(C,20) then Buy("B",atstop,ma(C,20)+0.05);
이렇게 수식을 작성하면 제가 의도한대로 되는 것인지요?
이상입니다. 감사합니다...
그럼 오늘도 행복한 하루되시기를 바랍니다.