커뮤니티

문의드립니다.

프로필 이미지
잡다백수
2018-01-04 07:46:32
162
글번호 115417
답변완료
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 기타 아래 수식을 시간에 따라 다르게 적용하고 싶습니다. 장초반에는 Tsvalue값을 100%로 가져가고 시간이 흘러갈수록 점증적으로 줄어들 게 코딩할 수 있나요? 시간이 너무 많이 걸리거나 너무 어려운 코딩이면 11시까지는 100%(1%로 설정해놨으면 1%), 그이후에는 80% 이렇게만 나눠서 부탁드립니다. input : TsValue(1); var : posHigh(0), posLow(0); If MarketPosition() == 1 Then { PosHigh = highest(H,BarsSinceEntry+1); ExitLong("trailStop_EL%", AtStop, PosHigh - PosHigh*TsValue/100); } If MarketPosition() == -1 Then { PosLow = lowest(L,BarsSinceEntry+1); ExitShort("trailStop_ES%", AtStop, PosLow + PosLow*TSvalue/100); } 2. 기타 아래 코딩 부탁드립니다. 진입한 뒤 장 시작후 n개봉 이내에 둘째봉까지의 저가를 하향돌파했을 때(매수진입시) 매수청산 '' 고가를 상향돌파했을 때(매도진입시) 매도청산 3. 이렇게 하면 날이 바뀔 때 값들 초기화하는 게 맞나요? 별 차이가 없어서 질문드립니다. Inputs: Length(10); Variables: value(0),CompuTrac(0); if bdate[0] != bdate[1] then value = 0; CompuTrac = 0; value = ma((High-Low)/Close, Length); CompuTrac = (value/value[Length]-1)*100; plot1(Computrac); 4. 3번 지표값을 장시작후 증감치로 바꿔서 작성 부탁드립니다 .
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-01-04 14:03:04

안녕하세요 예스스탁입니다. 1 진입이후 청산까지 얼마나 소모될지 알수 없는 상황에서 차츰 감소하는 내용을 자동계산하기 어렵습니다. 시간지정으로 작성해 드립니다. input : TsValue(1); var : posHigh(0), posLow(0),per(0); If MarketPosition() == 1 Then { PosHigh = highest(H,BarsSinceEntry+1); if stime < 110000 Then per = TsValue*1.00; Else per = TsValue*0.80; ExitLong("trailStop_EL%", AtStop, PosHigh - PosHigh*per/100); } If MarketPosition() == -1 Then { PosLow = lowest(L,BarsSinceEntry+1); if stime < 110000 Then per = TsValue*1.00; Else per = TsValue*0.80; ExitShort("trailStop_ES%", AtStop, PosLow + PosLow*per/100); } 2 input : n(10); var : idx(0); if bdate != bdate[1] Then idx = 0; idx = idx+1; if idx == 2 then { var1 =dayhigh; var2 = daylow; } if idx > 2 and idx < n then{ if crossup(C,var1) Then sell(); if CrossDown(c,var2) Then buy(); } 3 if bdate[0] != bdate[1] then 위 조건이 날짜가 변경되면 이라는 내용은 맞습니다. [0]은 생략가능하므로 if bdate != bdate[1] then 으로 작성하셔도 됩니다. 하지만 올리신 내용에서 if bdate[0] != bdate[1] then value = 0; CompuTrac = 0; 은 의미가 없습니다. value와 CompuTrac에 저장되는 값이 여전히 단순이평값과 N봉전 대비 증감율입니다. 단순히 날짜가 변경되는 봉에서는 기존가 같은 방식으로 계산값을 저장하기 전에 0을 한번 더 저장하는 것일 뿐입니다. 4 value값은 기존과 같이 n개봉 평균으로 하고 첫봉대비 증감으로 CompuTrac값을 보고자 하시면 아래식 이용하시면 됩니다. Input: Length(10); Var : value(0),CompuTrac(0); value = ma((High-Low)/Close, Length); #첫봉값 저장 if bdate[0] != bdate[1] then var1 = value; #첫봉대비 증감 CompuTrac = (value/var1-1)*100; plot1(Computrac); value도 당일봉만으로 계산한다면 아래와 같습니다. Input: Length(10); Var : idx(0),sum(0),value(0),CompuTrac(0); if bdate[0] != bdate[1] then{ sum = 0; idx = 0; var1 = (High-Low)/Close; } sum = sum+(High-Low)/Close; idx = idx+1; if idx < Length Then value = sum/idx; Else value = ma((High-Low)/Close, Length); CompuTrac = (value/var1-1)*100; plot1(Computrac); 즐거운 하루되세요 > 잡다백수 님이 쓴 글입니다. > 제목 : 문의드립니다. > 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 기타 아래 수식을 시간에 따라 다르게 적용하고 싶습니다. 장초반에는 Tsvalue값을 100%로 가져가고 시간이 흘러갈수록 점증적으로 줄어들 게 코딩할 수 있나요? 시간이 너무 많이 걸리거나 너무 어려운 코딩이면 11시까지는 100%(1%로 설정해놨으면 1%), 그이후에는 80% 이렇게만 나눠서 부탁드립니다. input : TsValue(1); var : posHigh(0), posLow(0); If MarketPosition() == 1 Then { PosHigh = highest(H,BarsSinceEntry+1); ExitLong("trailStop_EL%", AtStop, PosHigh - PosHigh*TsValue/100); } If MarketPosition() == -1 Then { PosLow = lowest(L,BarsSinceEntry+1); ExitShort("trailStop_ES%", AtStop, PosLow + PosLow*TSvalue/100); } 2. 기타 아래 코딩 부탁드립니다. 진입한 뒤 장 시작후 n개봉 이내에 둘째봉까지의 저가를 하향돌파했을 때(매수진입시) 매수청산 '' 고가를 상향돌파했을 때(매도진입시) 매도청산 3. 이렇게 하면 날이 바뀔 때 값들 초기화하는 게 맞나요? 별 차이가 없어서 질문드립니다. Inputs: Length(10); Variables: value(0),CompuTrac(0); if bdate[0] != bdate[1] then value = 0; CompuTrac = 0; value = ma((High-Low)/Close, Length); CompuTrac = (value/value[Length]-1)*100; plot1(Computrac); 4. 3번 지표값을 장시작후 증감치로 바꿔서 작성 부탁드립니다 .