커뮤니티
수식 수정 부탁드러요
2012-07-03 13:40:10
352
글번호 52555
안녕하세요.
봉간격을 두어 진입총수량을 변수 값을 내어 A 는 총 진입수 B 는 최초 진입시 개수를 정할려고 하는데 B 신호를 3로 해도 5개 모두 진입이 됩니다.
제가 원하는 것은 변수 A 6와 B 3로 두어 ( 피라미딩은 모든신호 허용) s1,s2,s3,s6,s7,s8 하기를 원합니다.
아래 수식으로 하니 s1,s2,s3,s4,s5,s6 원하는 신호가 나오지않아 수정 부탁드립니다.
Input : shortPeriod(5), longPeriod(20),A(6),B(3);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
if data1(stime>090100 and stime <= 150000) and CurrentContracts < A then{
if CrossUP(value1, value2) Then{
if MarketPosition == 0 or MarketPosition == -1and CurrentContracts < B Then
Sell("s1",OnClose,def,1);
Sell("s2",OnClose,def,1);
Sell("s3",OnClose,def,1);
Sell("s4",OnClose,def,1);
Sell("s5",OnClose,def,1);
}
if MarketPosition == -1 and CrossUP(value1[1], value2[1]) Then
Sell("s6",OnClose,def,1);
if MarketPosition == -1 and CrossUP(value1[2], value2[2]) Then
Sell("s7",OnClose,def,1);
if MarketPosition == -1 and CrossUP(value1[3], value2[3]) Then
Sell("s8",OnClose,def,1);
if MarketPosition == -1 and CrossUP(value1[4], value2[4]) Then
Sell("s9",OnClose,def,1);
}
답변 1
예스스탁 예스스탁 답변
2012-07-04 15:21:18
안녕하세요
예스스탁입니다.
CurrentContracts는 봉완성시에 현재 최종값만
한번 사용가능합니다.
아래와 같이 작성해 사용하셔야 합니다.
Input : shortPeriod(5),longPeriod(20),A(6),B(3);
var : BB(0);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
if data1(stime>090100 and stime <= 150000) then{
BB = 0;
if MarketPosition == 0 and CrossUP(value1, value2) and BB < B Then{
Sell("s1",OnClose,def,1);
BB = BB+1;
}
if MarketPosition == 0 and CrossUP(value1, value2) and BB < B Then{
Sell("s2",OnClose,def,1);
BB = BB+1;
}
if MarketPosition == 0 and CrossUP(value1, value2) and BB < B Then{
Sell("s3",OnClose,def,1);
BB = BB+1;
}
if MarketPosition == 0 and CrossUP(value1, value2) and BB < B Then{
Sell("s4",OnClose,def,1);
BB = BB+1;
}
if MarketPosition == 0 and CrossUP(value1, value2) and BB < B Then{
Sell("s5",OnClose,def,1);
BB = BB+1;
}
}
if MarketPosition == -1 and CurrentContracts < A then{
if CrossUP(value1[1], value2[1]) Then
Sell("s6",OnClose,def,1);
if CrossUP(value1[2], value2[2]) Then
Sell("s7",OnClose,def,1);
if CrossUP(value1[3], value2[3]) Then
Sell("s8",OnClose,def,1);
if CrossUP(value1[4], value2[4]) Then
Sell("s9",OnClose,def,1);
}
즐거운 하루되세요
> 한걸음7 님이 쓴 글입니다.
> 제목 : 수식 수정 부탁드러요
> 안녕하세요.
봉간격을 두어 진입총수량을 변수 값을 내어 A 는 총 진입수 B 는 최초 진입시 개수를 정할려고 하는데 B 신호를 3로 해도 5개 모두 진입이 됩니다.
제가 원하는 것은 변수 A 6와 B 3로 두어 ( 피라미딩은 모든신호 허용) s1,s2,s3,s6,s7,s8 하기를 원합니다.
아래 수식으로 하니 s1,s2,s3,s4,s5,s6 원하는 신호가 나오지않아 수정 부탁드립니다.
Input : shortPeriod(5), longPeriod(20),A(6),B(3);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
if data1(stime>090100 and stime <= 150000) and CurrentContracts < A then{
if CrossUP(value1, value2) Then{
if MarketPosition == 0 or MarketPosition == -1and CurrentContracts < B Then
Sell("s1",OnClose,def,1);
Sell("s2",OnClose,def,1);
Sell("s3",OnClose,def,1);
Sell("s4",OnClose,def,1);
Sell("s5",OnClose,def,1);
}
if MarketPosition == -1 and CrossUP(value1[1], value2[1]) Then
Sell("s6",OnClose,def,1);
if MarketPosition == -1 and CrossUP(value1[2], value2[2]) Then
Sell("s7",OnClose,def,1);
if MarketPosition == -1 and CrossUP(value1[3], value2[3]) Then
Sell("s8",OnClose,def,1);
if MarketPosition == -1 and CrossUP(value1[4], value2[4]) Then
Sell("s9",OnClose,def,1);
}
다음글
이전글