커뮤니티
수식질문
2018-11-07 05:52:57
149
글번호 123423
아래 프로그램의 내용을 이해쉽게 설명해 주십시요.
감사합니다. 특히 if문이 들어간 문장을 설명부탁합니다.
inputs: ATRLength1( 10 ), NumATRs1( 3 ) ;
variables: ATRCalc1( 0 ), MP1( 0 ), TT1( 0 ), PosHigh1( 0 ) ;
ATRCalc1 = ATR( ATRLength1 ) * NumATRs1 ;
MP1 = MarketPosition ;
TT1 = TotalTrades ;
if MP1 = 1 then
begin
if TT1 <> TT1[1] or MP1[1] <> 1 or High > PosHigh1 then
PosHigh1 = High ;
Sell ("매도1", AtStop, Poshigh1 - ATRCalc1);
end
else
Sell ( "매도2", AtStop, c - ATRCalc1) ;
답변 1
예스스탁 예스스탁 답변
2018-11-07 11:53:05
안녕하세요
예스스탁입니다.
inputs: ATRLength1( 10 ), NumATRs1( 3 ) ;
variables: ATRCalc1( 0 ), MP1( 0 ), TT1( 0 ), PosHigh1( 0 ) ;
#10개봉의 평균몸통길이의 3배
ATRCalc1 = ATR(ATRLength1)*NumATRs1 ;
#차트상 포지션상태 (매수진입중이면1, 매도진입주이면 -1, 무포지션이면 0)
MP1 = MarketPosition ;
#총 거래횟수
TT1 = TotalTrades ;
#현재 매수진입상태이면
if MP1 == 1 then
begin
#아래 내용은 진입이후 최고가를 계산하는 부분입니다.
#청산이 발생했거나 매수진입에 진입후에는 PosHigh1 해당봉의 고가를 저장하고
#이후에 PosHigh1보다 큰 고가가 발생하면 PosHigh1의 값을 해당 고가로 변경하는 것입니다.
if TT1 <> TT1[1] or #총거래횟수가 한봉전과 다르다(거래횟수 증가를 의미)
MP1[1] <> 1 or #전봉은 포지션이 매수진입상태가 아니거나(현재봉이 매수진입첫봉을 의미)
High > PosHigh1 then #고가가 PosHigh1에 저장된 값보다 크면
PosHigh1 = High ; #PosHigh1에 고가 저장
#PosHigh1에서 10개봉의 평균몸통길의 3배만큼하락하면 매도진입
Sell ("매도1", AtStop, Poshigh1 - ATRCalc1);
end
else #매수진입상태가 아니면 완성봉종가에서 10개봉의 평균몸통길의 3배만큼하락하면 매도진입
Sell ( "매도2", AtStop, c - ATRCalc1) ;
즐거운 하루되세요
> hello 님이 쓴 글입니다.
> 제목 : 수식질문
> 아래 프로그램의 내용을 이해쉽게 설명해 주십시요.
감사합니다. 특히 if문이 들어간 문장을 설명부탁합니다.
inputs: ATRLength1( 10 ), NumATRs1( 3 ) ;
variables: ATRCalc1( 0 ), MP1( 0 ), TT1( 0 ), PosHigh1( 0 ) ;
ATRCalc1 = ATR( ATRLength1 ) * NumATRs1 ;
MP1 = MarketPosition ;
TT1 = TotalTrades ;
if MP1 = 1 then
begin
if TT1 <> TT1[1] or MP1[1] <> 1 or High > PosHigh1 then
PosHigh1 = High ;
Sell ("매도1", AtStop, Poshigh1 - ATRCalc1);
end
else
Sell ( "매도2", AtStop, c - ATRCalc1) ;