커뮤니티
수식오류요청합니다
2012-10-18 13:04:18
283
글번호 55711
시스템식개발에 도움을 주셔서 감사합니다..
어제 매도신호와 동시에 청산신호가 나와서 1번 수식오류을 고쳣는데 어제신호는 수정이 되어서 나왓는데 오늘부터 다시 매도신호와 동시에 청산신호가 나옵니다
붙임에 화면캡쳐해서 올렷습니다..
수정부탁드립니다..
감사합니다.
안녕하세요
예스스탁입니다.
수정한 식입니다.
Inputs: Length1(5),Length2(20),Period1(5),Period2(20),Period3(60);
Var : P1(0),P2(0),TRIma1(0),TRIma2(0);
P1 = Ceiling((Length1 + 1) * .5);
P2 = Ceiling((Length2 + 1) * .5);
TRIma1 = ma(ma(C, P1), P1);
TRIma2 = ma(ma(C, P2), P2);
var1 = ma(c,Period1);
var2 = ma(c,Period2);
var3 = ma(c,Period3);
if var1 > var2 and var2 > var3 Then{
if crossup(TRIma1,TRIma2) Then
buy();
if CrossDown(TRIma1,TRIma2) Then
exitlong();
}
if var1 < var2 and var2 < var3 Then{
if CrossDown(TRIma1,TRIma2) Then
Sell();
if Crossup(TRIma1,TRIma2) Then
ExitShort();
}
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : 시스템식 오류수정 부탁드립니다
> 시스템식 작성에 도움을 주셔서 감사합니다
아래 시스템식에서 매수및 매수청산은 정상인데
매도및 매도청산은 동시에 신호가 나옵니다
수정부탁드립니다
Inputs: Length1(5),Length2(20),Period1(5),Period2(20),Period3(60);
Var : P1(0),P2(0),TRIma1(0),TRIma2(0);
P1 = Ceiling((Length1 + 1) * .5);
P2 = Ceiling((Length2 + 1) * .5);
TRIma1 = ma(ma(C, P1), P1);
TRIma2 = ma(ma(C, P2), P2);
var1 = ma(c,Period1);
var2 = ma(c,Period2);
var3 = ma(c,Period3);
if var1 > var2 and var2 > var3 Then{
if crossup(TRIma1,TRIma2) Then
buy();
if CrossDown(TRIma1,TRIma2) Then
exitlong();
}
if var1 < var2 and var2 < var3 Then{
if CrossDown(TRIma1,TRIma2) Then
Sell();
if CrossDown(TRIma1,TRIma2) Then
ExitShort();
}
- 1. 매도신호.png (0.12 MB)
답변 1
예스스탁 예스스탁 답변
2012-10-18 15:44:31
안녕하세요
예스스탁입니다.
신호가 한봉에 동시에 나오는 식은
해당 진입이 리버스 신호이기 때문입니다.
가령 buy진입중에 역배열이 되고 CrossDown(TRIma1,TRIma2)조건이 만족하면
sell이 발생하게 되는데 이때 반대포지션인 매수포지션을 청산하고
자기진입인 매도진입을 하게 됩니다.
반대 진입신호에 대한 청산을 막고자 하시면
진입을 모두 무포지션일때 발생하게 해야 합니다.
buy와 sell은 진입신호이고 반대포지션 상태에서 발생하면
반대포지션을 청산도 같이 수행하게 됩니다.
Inputs: Length1(5),Length2(20),Period1(5),Period2(20),Period3(60);
Var : P1(0),P2(0),TRIma1(0),TRIma2(0);
P1 = Ceiling((Length1 + 1) * .5);
P2 = Ceiling((Length2 + 1) * .5);
TRIma1 = ma(ma(C, P1), P1);
TRIma2 = ma(ma(C, P2), P2);
var1 = ma(c,Period1);
var2 = ma(c,Period2);
var3 = ma(c,Period3);
if var1 > var2 and var2 > var3 Then{
if MarketPosition == 0 and crossup(TRIma1,TRIma2) Then
buy();
if MarketPosition == 1 and CrossDown(TRIma1,TRIma2) Then
exitlong();
}
if var1 < var2 and var2 < var3 Then{
if MarketPosition == 0 and CrossDown(TRIma1,TRIma2) Then
Sell();
if MarketPosition == -1 and Crossup(TRIma1,TRIma2) Then
ExitShort();
}
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : 수식오류요청합니다
> 시스템식개발에 도움을 주셔서 감사합니다..
어제 매도신호와 동시에 청산신호가 나와서 1번 수식오류을 고쳣는데 어제신호는 수정이 되어서 나왓는데 오늘부터 다시 매도신호와 동시에 청산신호가 나옵니다
붙임에 화면캡쳐해서 올렷습니다..
수정부탁드립니다..
감사합니다.
안녕하세요
예스스탁입니다.
수정한 식입니다.
Inputs: Length1(5),Length2(20),Period1(5),Period2(20),Period3(60);
Var : P1(0),P2(0),TRIma1(0),TRIma2(0);
P1 = Ceiling((Length1 + 1) * .5);
P2 = Ceiling((Length2 + 1) * .5);
TRIma1 = ma(ma(C, P1), P1);
TRIma2 = ma(ma(C, P2), P2);
var1 = ma(c,Period1);
var2 = ma(c,Period2);
var3 = ma(c,Period3);
if var1 > var2 and var2 > var3 Then{
if crossup(TRIma1,TRIma2) Then
buy();
if CrossDown(TRIma1,TRIma2) Then
exitlong();
}
if var1 < var2 and var2 < var3 Then{
if CrossDown(TRIma1,TRIma2) Then
Sell();
if Crossup(TRIma1,TRIma2) Then
ExitShort();
}
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : 시스템식 오류수정 부탁드립니다
> 시스템식 작성에 도움을 주셔서 감사합니다
아래 시스템식에서 매수및 매수청산은 정상인데
매도및 매도청산은 동시에 신호가 나옵니다
수정부탁드립니다
Inputs: Length1(5),Length2(20),Period1(5),Period2(20),Period3(60);
Var : P1(0),P2(0),TRIma1(0),TRIma2(0);
P1 = Ceiling((Length1 + 1) * .5);
P2 = Ceiling((Length2 + 1) * .5);
TRIma1 = ma(ma(C, P1), P1);
TRIma2 = ma(ma(C, P2), P2);
var1 = ma(c,Period1);
var2 = ma(c,Period2);
var3 = ma(c,Period3);
if var1 > var2 and var2 > var3 Then{
if crossup(TRIma1,TRIma2) Then
buy();
if CrossDown(TRIma1,TRIma2) Then
exitlong();
}
if var1 < var2 and var2 < var3 Then{
if CrossDown(TRIma1,TRIma2) Then
Sell();
if CrossDown(TRIma1,TRIma2) Then
ExitShort();
}