커뮤니티
수식 문의(추가)
2014-06-19 16:15:46
171
글번호 75967
빠른 답변 감사드립니다.
아래 질문(36706)에 추가하여 재문의드립니다.
피라미딩 진입시 2개가 진입될 수 있고, 6개가 진입될 수가 있습니다.
진입의 해당 조건만 맞는다면 N번도 진입니다.
피라미딩 진입이 1~N개라고 했을때 마지막 N을 기준으로 다시한번 부탁드리겠습니다.
질문: 피라미딩 진입후 A => B => C 매수신호가 차례대로 발생했다고 했을때,
마지막 신호를 기준으로 M1이 M2를 두번 이상 Crossdown시 청산한다는 식 부탁드리겠습니다.
단, 마지막 발생신호의 이름은 항상 C가 아닙니다.
주신 답변:
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();
}
}
2. 해외선물 시장시간기준으로 08시 30분부터 15:15분까지만 매매하고자 합니다.
아래식같이 했는데 왜 다른 시간대에도 진입이 되는지 모르겠습니다.
차트는 시장시간으로 설정했습니다.
if (MARKETPOSITION <= 0) AND (stime >= 083000) AND (time <= 151500) then
{
~~~~
}
고개숙여 감사드립니다.
답변 1
예스스탁 예스스탁 답변
2014-06-19 17:40:55
안녕하세요
예스스탁입니다.
1.
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();
}
}
기존 답변드린 내용이 첫진입이나 추가로 매수진입이 발생할 때마다
다시 크로스다운을 카운트하게 되어 있습니다.
추가진입횟수에 관계없이 사용할수 있습니다.
2.
올려주신 if문에는 문제가 없습니다.
if (MARKETPOSITION <= 0) AND (stime >= 083000) AND (time <= 151500) then
{
if crossup(c,ma(c,20)) Then
buy();
}
if (MARKETPOSITION >= 0) AND (stime >= 083000) AND (time <= 151500) then
{
if CrossDown(c,ma(c,20)) Then
sell();
}
위 식 적용해 보시면 해당 시간을 벗어나 신호가 발생하는게 없습니다.
첨부된 파일은 크로드오일 10분에 적용한 거래내역입니다.
신호의 시간확인하시기 바랍니다.
진입이 atstop,atlimit,atmaket이면 if조건만족 봉의 다음봉에 신호가 발생하므로
time <= 151500이므로 현재봉은 time이 15시 15분 이하이지만 다음봉은
해당 시간을 넘을수 있습니다.
즉 현재 해당식 작성한 조건상 위 타입을 사용하셨다면
time이 15시15분을 넘어가는 첫봉에는 나올수 있습니다.
해당 부분은 신호타입에 대해 아시고 계신사항이므로 해당 내용은 아니신거 같습니다.
지정한 if문에 벗어난 다른식이 있는지 확인하시기 바랍니다.
즐거운 하루되세요
> gt 님이 쓴 글입니다.
> 제목 : 수식 문의(추가)
> 빠른 답변 감사드립니다.
아래 질문(36706)에 추가하여 재문의드립니다.
피라미딩 진입시 2개가 진입될 수 있고, 6개가 진입될 수가 있습니다.
진입의 해당 조건만 맞는다면 N번도 진입니다.
피라미딩 진입이 1~N개라고 했을때 마지막 N을 기준으로 다시한번 부탁드리겠습니다.
질문: 피라미딩 진입후 A => B => C 매수신호가 차례대로 발생했다고 했을때,
마지막 신호를 기준으로 M1이 M2를 두번 이상 Crossdown시 청산한다는 식 부탁드리겠습니다.
단, 마지막 발생신호의 이름은 항상 C가 아닙니다.
주신 답변:
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();
}
}
2. 해외선물 시장시간기준으로 08시 30분부터 15:15분까지만 매매하고자 합니다.
아래식같이 했는데 왜 다른 시간대에도 진입이 되는지 모르겠습니다.
차트는 시장시간으로 설정했습니다.
if (MARKETPOSITION <= 0) AND (stime >= 083000) AND (time <= 151500) then
{
~~~~
}
고개숙여 감사드립니다.