커뮤니티
수식문의
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번수식의 매도만 취하고 싶습니다.
단 매수만하던 매도만 하던
청산은 신호에서 해야될탠대 어떻게 해야하나요