커뮤니티
문의 드립니다.
2014-02-05 00:35:41
122
글번호 72174
동일 캔들에 청산과 신규 진입을 방지 하는 방법도 있나요?
아래 는 매도 진입식 입니다.
if marketposition() == 0 then{
If CrossDown(var4,var5) and (C<value20) and (dis3<100) and (C<O) and (value21>value20) and stime >= 090500 and stime < 150000 Then
Sell("매도1",AtLimit,C+pricescale*1);
If (var4>var5) and CrossDown(value20,var5) and (C<O) and (dis1<100) and (dis6<100.05) and (dis5>99.08) and stime >= 090500 and stime < 150000 Then
Sell("매도2",AtLimit,C+pricescale*1);
If (var4<var5) and CrossDown(C, value20) and CrossDown(C, var4) and (C<var4) and (C<O) and (dis3<100) and (dis4<99.97) and (dis5<100) and stime >= 090500 and stime < 150000 Then
Sell("매도3",AtLimit,C+pricescale*1);
If CrossDown(var4,var5) and (C<value20) and (dis3<100) and !(C>O) and (value21>value20) and (H[0]<value20) and stime >= 090500 and stime < 150000 Then
Sell("매도4",AtLimit,C+pricescale*2);
If value6 == -1 and value7 == -1 and CrossDown(StoK,Stod) and CrossDown(value25,value26) and
var11[1] == 50 and var7>var6 and var6>var5 and var5>var4 and dis6<99.95 and stime >= 090500 and stime < 145000 Then
Sell("매도5");
If value7 == -1 and value7[7] == -1 and ma_Disparity1[1]<99.95 and ma_Disparity[1]>99.95 and
dis1<100 and dis2<100 and dis3<100 and dis4<100 and dis5<100 and dis6<100 and dis7<100 and C<O and
dis7[2]<100 and dis6[2]<100 and stime >= 090500 and stime < 145000 Then
Sell("매도6");
}
1번으로 매도 후 청산한 캔들에 6번이 다시 매도를 하는 현상이 발생 됩니다.다른 신호도 마찬가지 경우가 가끔 발생을 합니다. 그래서 매도후 청산한 캔들에 다른 진입 신호가 있을때 진입이 안되게 하려고 합니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2014-02-05 10:39:15
안녕하세요
예스스탁입니다.
현재 수식상의 매도5나 매도6은 보완성시 종가기준으로 진입이 발생하는 식입니다.
청산 강제청산이거나 atstop이나 atlimit으로 작성된 식이면
봉 중간에 발생하게 되고 해당봉이 완성시에는 무포지션이므로 조건만족하면 진입하게 됩니다.
onclose타입의 진입조건에 (TotalTrades == 0 or BarsSinceExit(1) != 0) 조건을 추가하시면 됩니다.
if marketposition() == 0 then{
If CrossDown(var4,var5) and (C<value20) and (dis3<100) and (C<O) and (value21>value20) and stime >= 090500 and stime < 150000 Then
Sell("매도1",AtLimit,C+pricescale*1);
If (var4>var5) and CrossDown(value20,var5) and (C<O) and (dis1<100) and (dis6<100.05) and (dis5>99.08) and stime >= 090500 and stime < 150000 Then
Sell("매도2",AtLimit,C+pricescale*1);
If (var4<var5) and CrossDown(C, value20) and CrossDown(C, var4) and (C<var4) and (C<O) and (dis3<100) and (dis4<99.97) and (dis5<100) and stime >= 090500 and stime < 150000 Then
Sell("매도3",AtLimit,C+pricescale*1);
If CrossDown(var4,var5) and (C<value20) and (dis3<100) and !(C>O) and (value21>value20) and (H[0]<value20) and stime >= 090500 and stime < 150000 Then
Sell("매도4",AtLimit,C+pricescale*2);
If (TotalTrades == 0 or BarsSinceExit(1) != 0) and
value6 == -1 and value7 == -1 and CrossDown(StoK,Stod) and CrossDown(value25,value26) and
var11[1] == 50 and var7>var6 and var6>var5 and var5>var4 and dis6<99.95 and stime >= 090500 and stime < 145000 Then
Sell("매도5");
If (TotalTrades == 0 or BarsSinceExit(1) != 0) and
value7 == -1 and value7[7] == -1 and ma_Disparity1[1]<99.95 and ma_Disparity[1]>99.95 and
dis1<100 and dis2<100 and dis3<100 and dis4<100 and dis5<100 and dis6<100 and dis7<100 and C<O and
dis7[2]<100 and dis6[2]<100 and stime >= 090500 and stime < 145000 Then
Sell("매도6");
}
즐거운 하루되세요
> HI_h6***** 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 동일 캔들에 청산과 신규 진입을 방지 하는 방법도 있나요?
아래 는 매도 진입식 입니다.
if marketposition() == 0 then{
If CrossDown(var4,var5) and (C<value20) and (dis3<100) and (C<O) and (value21>value20) and stime >= 090500 and stime < 150000 Then
Sell("매도1",AtLimit,C+pricescale*1);
If (var4>var5) and CrossDown(value20,var5) and (C<O) and (dis1<100) and (dis6<100.05) and (dis5>99.08) and stime >= 090500 and stime < 150000 Then
Sell("매도2",AtLimit,C+pricescale*1);
If (var4<var5) and CrossDown(C, value20) and CrossDown(C, var4) and (C<var4) and (C<O) and (dis3<100) and (dis4<99.97) and (dis5<100) and stime >= 090500 and stime < 150000 Then
Sell("매도3",AtLimit,C+pricescale*1);
If CrossDown(var4,var5) and (C<value20) and (dis3<100) and !(C>O) and (value21>value20) and (H[0]<value20) and stime >= 090500 and stime < 150000 Then
Sell("매도4",AtLimit,C+pricescale*2);
If value6 == -1 and value7 == -1 and CrossDown(StoK,Stod) and CrossDown(value25,value26) and
var11[1] == 50 and var7>var6 and var6>var5 and var5>var4 and dis6<99.95 and stime >= 090500 and stime < 145000 Then
Sell("매도5");
If value7 == -1 and value7[7] == -1 and ma_Disparity1[1]<99.95 and ma_Disparity[1]>99.95 and
dis1<100 and dis2<100 and dis3<100 and dis4<100 and dis5<100 and dis6<100 and dis7<100 and C<O and
dis7[2]<100 and dis6[2]<100 and stime >= 090500 and stime < 145000 Then
Sell("매도6");
}
1번으로 매도 후 청산한 캔들에 6번이 다시 매도를 하는 현상이 발생 됩니다.다른 신호도 마찬가지 경우가 가끔 발생을 합니다. 그래서 매도후 청산한 캔들에 다른 진입 신호가 있을때 진입이 안되게 하려고 합니다.
감사합니다.
다음글
이전글