커뮤니티
부탁드립니다
2013-04-17 14:05:53
153
글번호 62158
Inputs: Length(10), ATRs(1.5), Pval(0.05);
Variables: KUpper(0), BuySetup(False), BuyBase(0);
Variables: KLower(0), SellSetup(False), SellBase(0);
KUpper = KeltnerChannel(Close, Length, ATRs);
KLower = KeltnerChannel(Close, Length, -ATRs);
Condition1 = Crossup(Close, KUpper);
Condition2 = CrossDown(Close, KLower);
If MarketPosition() == 1 OR Close < MA(close, Length) Then
BuySetup = False;
Else
If Condition1 Then Begin
BuySetup = True;
BuyBase = High;
End;
If MarketPosition() == -1 OR Close > MA(Close, Length) Then
SellSetup = False;
Else
If Condition2 Then Begin
SellSetup = True;
SellBase = Low;
End;
//Description : Keltner Channel Long Entry
If BuySetup Then
Buy ("KC_LE", AtStop, BuyBase + Pval);
//Description : Keltner Channel Short Entry
If SellSetup Then
Sell ("KC_SE", AtStop, SellBase - Pval);
위에 시스템식은 YL에서 제공하는 식인데 위에 식을 아래 예> 처럼 참조데이터에 데이터값을 가져와서 매매신호를 발생시키고 싶은데 어느부분을 고쳐야할지를 전혀 모르겠습니다.
예> Var : d2c(0,data2);
d2c = data2(C);
If CrossUp(d2c,1) Then
{
Buy("참조데이터신호");
}
어떻게 고쳐야 참조데이터에 위 로직으로 신호를 발생시킬수 있나요?
답변 1
예스스탁 예스스탁 답변
2013-04-17 18:34:56
안녕하세요
예스스탁입니다.
atstop이나 atlimit은 주종목의 현재가와만 비교하므로
참조데이터를 사용하는 식으로 변경하시면 해당 내용은
모두 봉완성시로만 작성가능합니다.
Inputs: Length(10), ATRs(1.5), Pval(0.05);
Variables: KUpper(0,data2), BuySetup(False,data2), BuyBase(0,data2);
Variables: KLower(0,data2), SellSetup(False,data2), SellBase(0,data2);
var : cond1(false,data2),cond2(false,data2);
KUpper = data2(KeltnerChannel(Close, Length, ATRs));
KLower = data2(KeltnerChannel(Close, Length, -ATRs));
Cond1 = data2(Crossup(Close, KUpper));
Cond2 = data2( CrossDown(Close, KLower));
If MarketPosition() == 1 OR data2(Close < MA(close, Length)) Then
BuySetup = False;
Else
If Cond1 Then Begin
BuySetup = True;
BuyBase = High;
End;
If MarketPosition() == -1 OR data2(Close > MA(Close, Length)) Then
SellSetup = False;
Else
If Cond2 Then Begin
SellSetup = True;
SellBase = Low;
End;
//Description : Keltner Channel Long Entry
If BuySetup and data2(H > BuyBase[1] + Pval[1]) Then
Buy ("KC_LE" );
//Description : Keltner Channel Short Entry
If SellSetup and data2(L < SellBase[1] - Pval[1]) Then
Sell ("KC_SE");
즐거운 하루되세요
> noriter 님이 쓴 글입니다.
> 제목 : 부탁드립니다
> Inputs: Length(10), ATRs(1.5), Pval(0.05);
Variables: KUpper(0), BuySetup(False), BuyBase(0);
Variables: KLower(0), SellSetup(False), SellBase(0);
KUpper = KeltnerChannel(Close, Length, ATRs);
KLower = KeltnerChannel(Close, Length, -ATRs);
Condition1 = Crossup(Close, KUpper);
Condition2 = CrossDown(Close, KLower);
If MarketPosition() == 1 OR Close < MA(close, Length) Then
BuySetup = False;
Else
If Condition1 Then Begin
BuySetup = True;
BuyBase = High;
End;
If MarketPosition() == -1 OR Close > MA(Close, Length) Then
SellSetup = False;
Else
If Condition2 Then Begin
SellSetup = True;
SellBase = Low;
End;
//Description : Keltner Channel Long Entry
If BuySetup Then
Buy ("KC_LE", AtStop, BuyBase + Pval);
//Description : Keltner Channel Short Entry
If SellSetup Then
Sell ("KC_SE", AtStop, SellBase - Pval);
위에 시스템식은 YL에서 제공하는 식인데 위에 식을 아래 예> 처럼 참조데이터에 데이터값을 가져와서 매매신호를 발생시키고 싶은데 어느부분을 고쳐야할지를 전혀 모르겠습니다.
예> Var : d2c(0,data2);
d2c = data2(C);
If CrossUp(d2c,1) Then
{
Buy("참조데이터신호");
}
어떻게 고쳐야 참조데이터에 위 로직으로 신호를 발생시킬수 있나요?