커뮤니티
산식수정
2012-08-27 01:50:12
268
글번호 54090
질문1)그림참조
그림에서 발생하는 청산후 즉시재진입문제를 해결하기 위해서 아래와 같이 BarsSinceExit
을 사용했습니다만 잘 않되네요 함수의 용법이 틀리는지 검토 부탁드립니다
If (M6_1Ui[0]-M6_1Di[0])>0 and (M6_1Ui[0]-M6_1Di[0])<=20 and CountIF(M6_0<0, (M6_1Ui[0]-M6_1Di[0]))==0 and OR00[0]>0 and BarsSinceExit(1)>3 Then //
Buy("Buy01",AtMarket);
질문2) 손절식에서 atstop을 atmarket로 변경을해보려고 아래와 같이 했는데 작동이 않됩니
다. 수정부탁드립니다
if MarketPosition == 1 and EntryPrice<(EntryPrice-1) Then
exitlong("loss",AtMarket);
- 1. 이미지 157.jpg (0.06 MB)
답변 1
예스스탁 예스스탁 답변
2012-08-27 13:45:24
안녕하세요
예스스탁입니다.
1.
작성하신 식이
매수진입 중에 청산과 진입이 동시에 발생하는 내용이므로
BarsSinceExit(1)로는 제어할 수 없습니다.
아래와 같이 작성하시면 buy신호가 무포지션이나 매도포지션 상태에서만
발생하므로 매수상태에서는 발생하지 않습니다.
If MarketPosition <= 0 and TotalTrades > 0 and
(M6_1Ui[0]-M6_1Di[0])>0 and (M6_1Ui[0]-M6_1Di[0])<=20 and
CountIF(M6_0<0, (M6_1Ui[0]-M6_1Di[0]))==0 and OR00[0]>0 and
BarsSinceExit(1)>3 Then //
Buy("Buy02",AtMarket);
또한 진입식에 BarsSinceExit(1)>3이 있으면
차트상 가장 첫번째 진입이 나올수 없습니다.
첫진입은 이전에 청산이 없으므로 해당 조건이 만족하지 않습니다.
아래와 같이 첫진입과 그 이후진입을 구분하셔야 합니다.
다른 buy신호가 있으면 필요없는 부분입니다.
If MarketPosition <= 0 and TotalTrades == 0 and
(M6_1Ui[0]-M6_1Di[0])>0 and (M6_1Ui[0]-M6_1Di[0])<=20 and
CountIF(M6_0<0, (M6_1Ui[0]-M6_1Di[0]))==0 and OR00[0]>0 and
BarsSinceExit(1)>3 Then //
Buy("Buy01",AtMarket);
If MarketPosition <= 0 and TotalTrades > 0 and
(M6_1Ui[0]-M6_1Di[0])>0 and (M6_1Ui[0]-M6_1Di[0])<=20 and
CountIF(M6_0<0, (M6_1Ui[0]-M6_1Di[0]))==0 and OR00[0]>0 and
BarsSinceExit(1)>3 Then //
Buy("Buy02",AtMarket);
2
진입가가 진입가-1보다 작을 수 없으므로
신호가 발생하지 않습니다.
현재가와 진입가-1을 비교하셔야 합니다.
if MarketPosition == 1 and C <= (EntryPrice-1) Then
exitlong("loss",AtMarket);
즐거운 하루되세요
> 티끌 님이 쓴 글입니다.
> 제목 : 산식수정
> 질문1)그림참조
그림에서 발생하는 청산후 즉시재진입문제를 해결하기 위해서 아래와 같이 BarsSinceExit
을 사용했습니다만 잘 않되네요 함수의 용법이 틀리는지 검토 부탁드립니다
If (M6_1Ui[0]-M6_1Di[0])>0 and (M6_1Ui[0]-M6_1Di[0])<=20 and CountIF(M6_0<0, (M6_1Ui[0]-M6_1Di[0]))==0 and OR00[0]>0 and BarsSinceExit(1)>3 Then //
Buy("Buy01",AtMarket);
질문2) 손절식에서 atstop을 atmarket로 변경을해보려고 아래와 같이 했는데 작동이 않됩니
다. 수정부탁드립니다
if MarketPosition == 1 and EntryPrice<(EntryPrice-1) Then
exitlong("loss",AtMarket);
다음글
이전글