커뮤니티
참조함수(265)
2016-06-10 17:34:34
206
글번호 98949
안녕하세요?
아래의 함수로 A종목으로 신호를 잡아서, B종목에 주문을 생성하여 매매를 하고 싶습니다.
함수 수정요청드립니다.
input : short(8),long(20),sig(5);
var : AA(0),BB(0),TSIv(0),signal(0);
AA = ma(ma(C[1]-C, short), long);
BB = ma(ma(abs(C[1] - C), short), long);
TSIv = iff(BB == 0, 0, AA/BB * 100 * (-1));
signal = iff(BB == 0, 0, ma(AA/BB*100 * (-1),sig));
if crossup(TSIv,signal) Then
buy("b",AtMarket);
if crossdown(TSIv , signal) Then
sell("s",AtMarket);
SetStopLoss(1,PercentStop);
SetStopProfittarget(2,PercentStop);
SetStopInactivity(2,20,PercentStop);
답변 1
예스스탁 예스스탁 답변
2016-06-13 10:20:18
안녕하세요
예스스탁입니다.
SetStopLoss(1,PercentStop);
SetStopProfittarget(2,PercentStop);
SetStopInactivity(2,20,PercentStop);
강제청산함수는 무조건 기본종목으로만 계산됩니다.
참조데이터로 변경하면 해당 내용을 봉완성시로만 변경해서만
가능합니다. 이용에 참고하시기 바랍니다.
B종목차트에 A종목을 참조데이터로 추가후
아래식 적용하시면 됩니다.
input : short(8),long(20),sig(5);
var : AA(0,data2),BB(0,data2),TSIv(0,data2),signal(0,data2);
var : BE(0,data2),BI(0,data2),SE(0,data2),SI(0,data2),HH(0,data2),LL(0,data2);
AA = data2(ma(ma(C[1]-C, short), long));
BB = data2(ma(ma(abs(C[1] - C), short), long));
TSIv = data2(iff(BB == 0, 0, AA/BB * 100 * (-1)));
signal = data2(iff(BB == 0, 0, ma(AA/BB*100 * (-1),sig)));
if MarketPosition <= 0 and crossup(TSIv,signal) Then{
buy("b",AtMarket);
BE = data2(NextBarOpen);
BI = data2(index);
HH = data2(NextBarOpen);
}
if crossdown(TSIv, signal) Then{
sell("s",AtMarket);
SE = data2(NextBarOpen);
SI = data2(index);
LL = data2(NextBarOpen);
}
if MarketPosition == 1 Then{
if data2(H) > HH Then
HH = data2(H);
if data2(L <= BE*0.99) Then
exitlong("bx1");
if data2(H >= BE*1.02) Then
exitlong("bx2");
if data2(index) == BI+20 and HH < BE*1.2 Then
exitlong("bx3");
}
if MarketPosition == -1 Then{
if data2(L) < LL Then
LL = data2(L);
if data2(H >= SE*1.01) Then
ExitShort("sx1");
if data2(L <= SE*0.99) Then
ExitShort("sx2");
if data2(index) == SI+20 and LL > SE*0.8 Then
ExitShort("sx3");
}
즐거운 하루되세요
> 통큰베팅 님이 쓴 글입니다.
> 제목 : 참조함수(265)
> 안녕하세요?
아래의 함수로 A종목으로 신호를 잡아서, B종목에 주문을 생성하여 매매를 하고 싶습니다.
함수 수정요청드립니다.
input : short(8),long(20),sig(5);
var : AA(0),BB(0),TSIv(0),signal(0);
AA = ma(ma(C[1]-C, short), long);
BB = ma(ma(abs(C[1] - C), short), long);
TSIv = iff(BB == 0, 0, AA/BB * 100 * (-1));
signal = iff(BB == 0, 0, ma(AA/BB*100 * (-1),sig));
if crossup(TSIv,signal) Then
buy("b",AtMarket);
if crossdown(TSIv , signal) Then
sell("s",AtMarket);
SetStopLoss(1,PercentStop);
SetStopProfittarget(2,PercentStop);
SetStopInactivity(2,20,PercentStop);