커뮤니티

수식문의

프로필 이미지
회원
2015-04-07 10:31:39
196
글번호 84805
답변완료
아래 1번 수식이 upAroon 이 dnAroon 크로스업일때 아래 2번의 신호중 매수신호만 아래 1번 수식이 upAroon 이 dnAroon 크로스다운일때 아래 2번의 신호중 매도신호만 적용되도록 하고싶습니다. (((((((((( 1번 수식 )))))))))) input : Period(300); var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ; Lowval= Lowest(Low, Period+1); Highval = Highest(High, Period+1); For counter= 0 To Period { If Low[counter] == Lowval Then DownVel = counter; If High[counter] == highval Then UpVel = counter; } DnAroon = 100*(Period-DownVel)/Period; UpAroon = 100*(Period-UpVel)/Period; (((((((((( 2번수식 )))))))))) Input : PercentRLen(20), OverSold(23), OverBought(70), BTrigger(42), STrigger(20),당일수익(10); Var : PcntR(0), AvgValue(0), BSetup(False),Ssetup(False),NP(0),PreNP(0),dayPL(0),profit(0); NP = NetProfit; if Bdate != Bdate[1] Then preNP = NP[1]; dayPL = (NP-PreNP)+PositionProfit; Profit = PriceScale*당일수익; PcntR = PercentR(PercentRLen); AvgValue = MA(Close, PercentRLen); If PcntR < OverSold Then BSetup = True; If PcntR > OverBought Then BSetup = False; If BSetup AND AvgValue > AvgValue[1] AND Crossup(PcntR,BTrigger) and Condition1 == false Then Begin SSetup = False; sell ("매도"); End; If PcntR < OverSold Then SSetup = false; If PcntR > OverBought Then SSetup = true; If SSetup AND AvgValue < AvgValue[1] AND Crossdown(PcntR,STrigger) and Condition1 == false Then Begin SSetup = False; buy("매수"); End; if MarketPosition == 1 Then ExitLong("bx",AtLimit,EntryPrice+(Profit-daypl)); if MarketPosition == -1 Then ExitShort("sx",AtLimit,EntryPrice-(Profit-daypl) ); #####################################################################3 위수식을 1번 따로 2번 따로 해서 적용하고 있습니다. 2번 수식은 수시로 매수 매도 신호가 나오는데 1번수식이 upAroon 이 dnAroon 크로스 업일때만 2번수식의 매수만 취하고 1번수식이 upAroon 이 dnAroon 크로스 다운일때 2번수식의 매도만 취하고 싶습니다. 단 매수만하던 매도만 하던 청산은 신호에서 해야될탠대 어떻게 해야하나요
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-04-07 14:23:35

안녕하세요 예스스탁입니다. input : Period(300); var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ; Input : PercentRLen(20), OverSold(23), OverBought(70), BTrigger(42), STrigger(20),당일수익(10); Var : PcntR(0), AvgValue(0), BSetup(False),Ssetup(False),NP(0),PreNP(0),dayPL(0),profit(0); Lowval= Lowest(Low, Period+1); Highval = Highest(High, Period+1); For counter= 0 To Period { If Low[counter] == Lowval Then DownVel = counter; If High[counter] == highval Then UpVel = counter; } DnAroon = 100*(Period-DownVel)/Period; UpAroon = 100*(Period-UpVel)/Period; NP = NetProfit; if Bdate != Bdate[1] Then preNP = NP[1]; dayPL = (NP-PreNP)+PositionProfit; Profit = PriceScale*당일수익; PcntR = PercentR(PercentRLen); AvgValue = MA(Close, PercentRLen); If PcntR < OverSold Then BSetup = True; If PcntR > OverBought Then BSetup = False; If BSetup AND AvgValue > AvgValue[1] AND Crossup(PcntR,BTrigger) and Condition1 == false Then Begin SSetup = False; #데드상태일때는 매도로 진입 if UpAroon < DnAroon Then sell ("매도"); Else #아니고 매수포지션에 진입중이면 청산만 ExitLong("bx1"); End; If PcntR < OverSold Then SSetup = false; If PcntR > OverBought Then SSetup = true; If SSetup AND AvgValue < AvgValue[1] AND Crossdown(PcntR,STrigger) and Condition1 == false and UpAroon > DnAroon Then Begin SSetup = False; # 골드상태일때는 매수로 진입 if UpAroon > DnAroon Then buy("매수"); Else #아니고 매도포지션에 진입중이면 청산만 ExitShort("sx1"); End; if MarketPosition == 1 Then ExitLong("bx",AtLimit,EntryPrice+(Profit-daypl)); if MarketPosition == -1 Then ExitShort("sx",AtLimit,EntryPrice-(Profit-daypl) ); 즐거운 하루되세요 > YG_da**** 님이 쓴 글입니다. > 제목 : 수식문의 > 아래 1번 수식이 upAroon 이 dnAroon 크로스업일때 아래 2번의 신호중 매수신호만 아래 1번 수식이 upAroon 이 dnAroon 크로스다운일때 아래 2번의 신호중 매도신호만 적용되도록 하고싶습니다. (((((((((( 1번 수식 )))))))))) input : Period(300); var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ; Lowval= Lowest(Low, Period+1); Highval = Highest(High, Period+1); For counter= 0 To Period { If Low[counter] == Lowval Then DownVel = counter; If High[counter] == highval Then UpVel = counter; } DnAroon = 100*(Period-DownVel)/Period; UpAroon = 100*(Period-UpVel)/Period; (((((((((( 2번수식 )))))))))) Input : PercentRLen(20), OverSold(23), OverBought(70), BTrigger(42), STrigger(20),당일수익(10); Var : PcntR(0), AvgValue(0), BSetup(False),Ssetup(False),NP(0),PreNP(0),dayPL(0),profit(0); NP = NetProfit; if Bdate != Bdate[1] Then preNP = NP[1]; dayPL = (NP-PreNP)+PositionProfit; Profit = PriceScale*당일수익; PcntR = PercentR(PercentRLen); AvgValue = MA(Close, PercentRLen); If PcntR < OverSold Then BSetup = True; If PcntR > OverBought Then BSetup = False; If BSetup AND AvgValue > AvgValue[1] AND Crossup(PcntR,BTrigger) and Condition1 == false Then Begin SSetup = False; sell ("매도"); End; If PcntR < OverSold Then SSetup = false; If PcntR > OverBought Then SSetup = true; If SSetup AND AvgValue < AvgValue[1] AND Crossdown(PcntR,STrigger) and Condition1 == false Then Begin SSetup = False; buy("매수"); End; if MarketPosition == 1 Then ExitLong("bx",AtLimit,EntryPrice+(Profit-daypl)); if MarketPosition == -1 Then ExitShort("sx",AtLimit,EntryPrice-(Profit-daypl) ); #####################################################################3 위수식을 1번 따로 2번 따로 해서 적용하고 있습니다. 2번 수식은 수시로 매수 매도 신호가 나오는데 1번수식이 upAroon 이 dnAroon 크로스 업일때만 2번수식의 매수만 취하고 1번수식이 upAroon 이 dnAroon 크로스 다운일때 2번수식의 매도만 취하고 싶습니다. 단 매수만하던 매도만 하던 청산은 신호에서 해야될탠대 어떻게 해야하나요