커뮤니티
함수요청
2019-07-29 10:24:41
257
글번호 130721
안녕하세요?
아래 스크립트 전략을 추가하고자 하여 스크립트를 수정요청드립니다.
세부내용은,
아래의 전략에 진입신호가 발생되었을 때 그 위치가 data1의 볼린저밴드 상하단 내에서로 진입신호를 필터링하고자 합니다.
즉, 매수신호는 기본종목이 볼린저밴드 상단 아래에서
매도신호는 기본종목이 볼린저밴드 하단 위에서
신호가 생성되게 하고자 합니다.
Vars : SP(0,data1), TickSize(0,data1);
Vars : fstHH(0,data1), fstLL(0,data1), sndHH(0,data2), sndLL(0,data2);
var : v1(0,data2),v2(0,data2);
SP = MarketPosition;
TickSize = PriceScale;
v1 = data2(H);
v2 = data2(L);
IF v1[10] > 0 Then
Begin
fstHH = data1(Highest(H, 5));
fstLL = data1(Lowest(L, 3));
sndHH = Max(v1, v1[1], v1[2], v1[3], v1[4], v1[5], v1[6], v1[7], v1[8], v1[9], v1[10]);
sndLL = Min(v2, v2[1], v2[2], v2[3], v2[4], v2[5], v2[6], v2[7], v2[8], v2[9], v2[10]);
End;
IF MarketPosition == 0 and data2(C) > sndHH[1] Then Buy("B", AtStop, fstHH - TickSize);
IF MarketPosition == 0 and data2(C) < sndLL[1] Then Sell("S", AtStop, fstLL + TickSize);
답변 1
예스스탁 예스스탁 답변
2019-07-29 15:54:36
안녕하세요
예스스탁입니다.
Input : Period(20), MultiD(2);
Vars : SP(0,data1), TickSize(0,data1);
Vars : fstHH(0,data1), fstLL(0,data1), sndHH(0,data2), sndLL(0,data2);
var : v1(0,data2),v2(0,data2);
var : BBup(0,data1),BBdn(0,data1);
BBup = data1(BollBandUp(Period,MultiD));
BBdn = data1(BollBandDown(Period,MultiD));
SP = MarketPosition;
TickSize = PriceScale;
v1 = data2(H);
v2 = data2(L);
IF v1[10] > 0 Then
Begin
fstHH = data1(Highest(H, 5));
fstLL = data1(Lowest(L, 3));
sndHH = Max(v1, v1[1], v1[2], v1[3], v1[4], v1[5], v1[6], v1[7], v1[8], v1[9], v1[10]);
sndLL = Min(v2, v2[1], v2[2], v2[3], v2[4], v2[5], v2[6], v2[7], v2[8], v2[9], v2[10]);
End;
IF MarketPosition == 0 and C < BBup and data2(C) > sndHH[1] Then Buy("B", AtStop, fstHH - TickSize);
IF MarketPosition == 0 and C > BBdn and data2(C) < sndLL[1] Then Sell("S", AtStop, fstLL + TickSize);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
아래 스크립트 전략을 추가하고자 하여 스크립트를 수정요청드립니다.
세부내용은,
아래의 전략에 진입신호가 발생되었을 때 그 위치가 data1의 볼린저밴드 상하단 내에서로 진입신호를 필터링하고자 합니다.
즉, 매수신호는 기본종목이 볼린저밴드 상단 아래에서
매도신호는 기본종목이 볼린저밴드 하단 위에서
신호가 생성되게 하고자 합니다.
Vars : SP(0,data1), TickSize(0,data1);
Vars : fstHH(0,data1), fstLL(0,data1), sndHH(0,data2), sndLL(0,data2);
var : v1(0,data2),v2(0,data2);
SP = MarketPosition;
TickSize = PriceScale;
v1 = data2(H);
v2 = data2(L);
IF v1[10] > 0 Then
Begin
fstHH = data1(Highest(H, 5));
fstLL = data1(Lowest(L, 3));
sndHH = Max(v1, v1[1], v1[2], v1[3], v1[4], v1[5], v1[6], v1[7], v1[8], v1[9], v1[10]);
sndLL = Min(v2, v2[1], v2[2], v2[3], v2[4], v2[5], v2[6], v2[7], v2[8], v2[9], v2[10]);
End;
IF MarketPosition == 0 and data2(C) > sndHH[1] Then Buy("B", AtStop, fstHH - TickSize);
IF MarketPosition == 0 and data2(C) < sndLL[1] Then Sell("S", AtStop, fstLL + TickSize);
다음글
이전글