커뮤니티
수식 문의
2014-06-19 15:20:12
160
글번호 75949
1. A,B,C 서로 신호가 존재하고 만약 A신호가 발생하면 매수진입후 무조건 5틱 청산합니다.
청산후 다른 신호가 나오기 전까지는 A신호는 다시 발생하지 않습니다.
B나 C신호 이후에나 A신호가 다시 발생해야 합니다.
2. 피라미딩 진입후 A => B => C 매수신호가 차례대로 발생했다고 했을때,
마지막 신호를 기준으로 M1이 M2를 두번 이상 Crossdown시 청산한다는 식 부탁드리겠습니다.
단, 마지막 발생신호의 이름은 항상 C가 아닙니다.
3. if BarsSinceEntry >= 10 then 청산조건
이렇게 했을때 진입후 10봉 이후에 청산신호가 나와야 하는 것이 맞지 않는가요??
그런데 신호가 먹히질 않습니다.
10봉 이전에도 청산신호가 나오네요.
확인 부탁드립니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2014-06-19 16:03:38
안녕하세요
예스스탁입니다.
1.
#직전진입명이 A가 아닐때만 진입
if IsEntryName("A",1) == false and A신호조건 Then
buy("A");
if B신호조건 Then
buy("A");
if C신호조건 Then
buy("A");
if MarketPosition == 1 Then
ExitLong("bx",AtStop,EntryPrice-PriceScale*5);
2.
var : cnt(0);
if MarketPosition == 1 Then{
//진입수량증가(진입발생)
if CurrentContracts > CurrentContracts[1] Then
Cnt = 0;
if CrossDown(m1,m2) Then{
cnt = cnt+1;
if cnt == 2 Then
ExitLong();
}
}
3.
BarsSinceEntry 자체의 값 리턴에는 문제가 없습니다.
BarsSinceEntry는 진입신호가 발생하면 다음봉 부터 1씩 증가합니다.
청산의 조건에 or문이 있어 조건문 결합이 잘 못되셨거나
혹은 청산이 atstop이나 atlimit이면 현재봉에서 조건이 만족하면
값을 셋팅해서 다음봉에 신호가 나오는데
진입이 리버스신호이거나 혹은 청산이 나온봉에 또 동일방향 진입이 발생한 경우에
해당봉 완성까지는 BarsSinceEntry가 직전 진입부터 봉을 카운트 하므로
진입 다음봉에 신호가 발생할수 있습니다.
올려주신 내용만으로는 청산전체 내용이 명확치 않습니다.
포지션 확인하는 내용을 추가해 처리해 보시기 바랍니다.
if MarketPosition == 1 BarsSinceEntry >= 10 then
if MarketPosition == -1 BarsSinceEntry >= 10 then
즐거운 하루되세요
> gt 님이 쓴 글입니다.
> 제목 : 수식 문의
> 1. A,B,C 서로 신호가 존재하고 만약 A신호가 발생하면 매수진입후 무조건 5틱 청산합니다.
청산후 다른 신호가 나오기 전까지는 A신호는 다시 발생하지 않습니다.
B나 C신호 이후에나 A신호가 다시 발생해야 합니다.
2. 피라미딩 진입후 A => B => C 매수신호가 차례대로 발생했다고 했을때,
마지막 신호를 기준으로 M1이 M2를 두번 이상 Crossdown시 청산한다는 식 부탁드리겠습니다.
단, 마지막 발생신호의 이름은 항상 C가 아닙니다.
3. if BarsSinceEntry >= 10 then 청산조건
이렇게 했을때 진입후 10봉 이후에 청산신호가 나와야 하는 것이 맞지 않는가요??
그런데 신호가 먹히질 않습니다.
10봉 이전에도 청산신호가 나오네요.
확인 부탁드립니다.
감사합니다.