커뮤니티
시스템 문의 드립니다.
2013-06-20 15:38:33
215
글번호 64557
안녕하세요.
주문식을 만드려고 하는데요.
스토캐스틱으로
스토캐스틱이 50 이면 0 포지션.
스토캐스틱이 60 이면 +1 포지션
스토캐스틱이 70 이면 +2 포지션
...
스토캐스틱이 100 이면 +5 포지션
반대로
스토캐스틱이 40 이면 -1 포지션.
스토캐스틱이 30 이면 -2 포지션
...
스토캐스틱이 0 이면 -5 포지션
으로 수량을 맞추고 싶습니다.
아래는 설명서 보고 만들어 본건데;
원하는대로 진입과 청산이 안되고 있습니다.
가능하다면 설정값이랑 수식 수정을 부탁드리고 싶습니다.
감사합니다.
Input : Period(100);
var : fosto(0);
fosto = (c - Lowest(c, period)) * 10 / (Highest(c, period)- Lowest(c, period)) ;
#Buy1
if crossup(fosto,6) Then
{
Buy("+1", OnClose, DEF, 1);
}
if CrossDown(fosto,6) Then
{
ExitLong("+1x", OnClose, DEF,"",1,1);
}
#Buy2
if crossup(fosto,7) Then
{
Buy("+2", OnClose, DEF, 1);
}
if CrossDown(fosto,7) Then
{
ExitLong("+2x", OnClose, DEF,"",1,1);
}
#Buy3
if crossup(fosto,8) Then
{
Buy("+3", OnClose, DEF, 1);
}
if CrossDown(fosto,8) Then
{
ExitLong("+3x", OnClose, DEF,"",1,1);
}
#Buy4
if crossup(fosto,9) Then
{
Buy("+4", OnClose, DEF, 1);
}
if CrossDown(fosto,9) Then
{
ExitLong("+4x", OnClose, DEF,"",1,1);
}
#Buy5
if crossup(fosto,9.99) Then
{
Buy("+5", OnClose, DEF, 1);
}
if CrossDown(fosto,9.99) Then
{
ExitLong("+5x", OnClose, DEF,"",1,1);
}
#sell1
if CrossDown(fosto,4) Then
{
sell("-1", OnClose, DEF, 1);
}
if CrossUp(fosto,4) Then
{
ExitShort("-1x", OnClose, DEF,"",1,1);
}
#sell2
if CrossDown(fosto,3) Then
{
sell("-2", OnClose, DEF, 1);
}
if CrossUp(fosto,3) Then
{
ExitShort("-2x", OnClose, DEF,"",1,1);
}
#sell3
if CrossDown(fosto,2) Then
{
sell("-3", OnClose, DEF, 1);
}
if CrossUp(fosto,2) Then
{
ExitShort("-3x", OnClose, DEF,"",1,1);
}
#sell4
if CrossDown(fosto,1) Then
{
sell("-4", OnClose, DEF, 1);
}
if CrossUp(fosto,1) Then
{
ExitShort("-4x", OnClose, DEF,"",1,1);
}
#sell5
if CrossDown(fosto,0.01) Then
{
sell("-5", OnClose, DEF, 1);
}
if CrossDown(fosto,0.01) Then
{
ExitShort("-5x", OnClose, DEF,"",1,1);
}
답변 1
예스스탁 예스스탁 답변
2013-06-21 09:34:35
안녕하세요
예스스탁입니다.
input : Period(100);
var1 = FastK(Period);
if MarketPosition <= 0 and crossup(var1,60) Then
buy("b1",OnClose,def,1);
if MarketPosition == 1 Then{
if var1 == 70 or crossup(var1,70) Then
buy("b2",OnClose,def,1);
if var1 == 80 or crossup(var1,80) Then
buy("b3",OnClose,def,1);
if var1 == 90 or crossup(var1,90) Then
buy("b4",OnClose,def,1);
if var1 == 100 Then
buy("b5",OnClose,def,1);
}
if MarketPosition >= 0 and CrossDown(var1,40) Then
sell("s1",OnClose,def,1);
if MarketPosition == 1 Then{
if var1 == 30 or CrossDown(var1,30) Then
sell("s2",OnClose,def,1);
if var1 == 20 or CrossDown(var1,20) Then
sell("s3",OnClose,def,1);
if var1 == 10 or CrossDown(var1,10) Then
sell("s4",OnClose,def,1);
if var1 == 0 Then
sell("s5",OnClose,def,1);
}
if crossup(var1,50) or CrossDown(var1,50) Then{
ExitLong();
ExitShort();
}
시스템 적용시 설정화면에서 피라미딩을 다른진입신호만 허용으로 설정하고
적용하시면 됩니다.
즐거운 하루되세요
> acai 님이 쓴 글입니다.
> 제목 : 시스템 문의 드립니다.
> 안녕하세요.
주문식을 만드려고 하는데요.
스토캐스틱으로
스토캐스틱이 50 이면 0 포지션.
스토캐스틱이 60 이면 +1 포지션
스토캐스틱이 70 이면 +2 포지션
...
스토캐스틱이 100 이면 +5 포지션
반대로
스토캐스틱이 40 이면 -1 포지션.
스토캐스틱이 30 이면 -2 포지션
...
스토캐스틱이 0 이면 -5 포지션
으로 수량을 맞추고 싶습니다.
아래는 설명서 보고 만들어 본건데;
원하는대로 진입과 청산이 안되고 있습니다.
가능하다면 설정값이랑 수식 수정을 부탁드리고 싶습니다.
감사합니다.
Input : Period(100);
var : fosto(0);
fosto = (c - Lowest(c, period)) * 10 / (Highest(c, period)- Lowest(c, period)) ;
#Buy1
if crossup(fosto,6) Then
{
Buy("+1", OnClose, DEF, 1);
}
if CrossDown(fosto,6) Then
{
ExitLong("+1x", OnClose, DEF,"",1,1);
}
#Buy2
if crossup(fosto,7) Then
{
Buy("+2", OnClose, DEF, 1);
}
if CrossDown(fosto,7) Then
{
ExitLong("+2x", OnClose, DEF,"",1,1);
}
#Buy3
if crossup(fosto,8) Then
{
Buy("+3", OnClose, DEF, 1);
}
if CrossDown(fosto,8) Then
{
ExitLong("+3x", OnClose, DEF,"",1,1);
}
#Buy4
if crossup(fosto,9) Then
{
Buy("+4", OnClose, DEF, 1);
}
if CrossDown(fosto,9) Then
{
ExitLong("+4x", OnClose, DEF,"",1,1);
}
#Buy5
if crossup(fosto,9.99) Then
{
Buy("+5", OnClose, DEF, 1);
}
if CrossDown(fosto,9.99) Then
{
ExitLong("+5x", OnClose, DEF,"",1,1);
}
#sell1
if CrossDown(fosto,4) Then
{
sell("-1", OnClose, DEF, 1);
}
if CrossUp(fosto,4) Then
{
ExitShort("-1x", OnClose, DEF,"",1,1);
}
#sell2
if CrossDown(fosto,3) Then
{
sell("-2", OnClose, DEF, 1);
}
if CrossUp(fosto,3) Then
{
ExitShort("-2x", OnClose, DEF,"",1,1);
}
#sell3
if CrossDown(fosto,2) Then
{
sell("-3", OnClose, DEF, 1);
}
if CrossUp(fosto,2) Then
{
ExitShort("-3x", OnClose, DEF,"",1,1);
}
#sell4
if CrossDown(fosto,1) Then
{
sell("-4", OnClose, DEF, 1);
}
if CrossUp(fosto,1) Then
{
ExitShort("-4x", OnClose, DEF,"",1,1);
}
#sell5
if CrossDown(fosto,0.01) Then
{
sell("-5", OnClose, DEF, 1);
}
if CrossDown(fosto,0.01) Then
{
ExitShort("-5x", OnClose, DEF,"",1,1);
}