커뮤니티
함수요청
2018-08-24 07:27:52
131
글번호 121551
안녕하세요?
아래는 하나금융투자에서 사용했던 로직입니다.(시그널메이커)
한투에서 사용할 수 있도록 함수 변환 요청드립니다.
Vars : SP(0), TickSize(0);
SP = SignalPosition;
TickSize = OneTick * PriceScale;
Params : bolP(20), bolSTD(2);
Vars : bolM(0), bolUP(0), bolDN(0), bolRNG(0);
bolM = AvgFast(C, bolP);
bolUP = bolM + bolSTD * StandardDev(C, bolP, 1);
bolDN = bolM - bolSTD * StandardDev(C, bolP, 1);
If bolDN > 0 Then bolRNG = (bolUP - bolDN);
Params : P1(5), P2(20);
Vars : vM1(0), vM2(0);
vM1 = AvgFast(C, P1);
vM2 = AvgFast(C, P2);
IF SP = 0 And bolDN[5] > 0 Then
Begin
If bolRNG[4] < bolRNG And C > vM1 Then Buy("B", Atmarket);
If bolRNG[4] > bolRNG And C < vM1 Then Sell("S", Atmarket);
End;
If SP = 1 And CrossDown(C, vM2) Then ExitLong("EXL", AtMarket);
If SP = -1 And CrossUp(C, vM2) Then ExitShort("EXS", AtMarket);
답변 1
예스스탁 예스스탁 답변
2018-08-24 14:44:43
안녕하세요
예스스탁입니다.
Input : Period(20), MultiD(2);
var : diff(0),BBup(0),BBdn(0),mav1(0),mav2(0);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
diff = BBup-BBdn;
mav1 = ma(c,5);
mav2 = ma(C,20);
if var1 > var1[4] and C > mav1 Then
buy("b",AtMarket);
if var1 < var1[4] and C < mav1 Then
sell("s",AtMarket);
if MarketPosition == 1 and C < mav2 Then
ExitLong("bx",AtMarket);
if MarketPosition == -1 and C > mav2 Then
ExitShort("sx",AtMarket);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
아래는 하나금융투자에서 사용했던 로직입니다.(시그널메이커)
한투에서 사용할 수 있도록 함수 변환 요청드립니다.
Vars : SP(0), TickSize(0);
SP = SignalPosition;
TickSize = OneTick * PriceScale;
Params : bolP(20), bolSTD(2);
Vars : bolM(0), bolUP(0), bolDN(0), bolRNG(0);
bolM = AvgFast(C, bolP);
bolUP = bolM + bolSTD * StandardDev(C, bolP, 1);
bolDN = bolM - bolSTD * StandardDev(C, bolP, 1);
If bolDN > 0 Then bolRNG = (bolUP - bolDN);
Params : P1(5), P2(20);
Vars : vM1(0), vM2(0);
vM1 = AvgFast(C, P1);
vM2 = AvgFast(C, P2);
IF SP = 0 And bolDN[5] > 0 Then
Begin
If bolRNG[4] < bolRNG And C > vM1 Then Buy("B", Atmarket);
If bolRNG[4] > bolRNG And C < vM1 Then Sell("S", Atmarket);
End;
If SP = 1 And CrossDown(C, vM2) Then ExitLong("EXL", AtMarket);
If SP = -1 And CrossUp(C, vM2) Then ExitShort("EXS", AtMarket);