커뮤니티
수고 많으십니다. 수식부탁드립니다.
2010-11-03 12:51:30
610
글번호 33292
Input : af(0.02), maxaF(0.2);
# 매수/매도청산
If Crossup(C,SAR(af,maxaf)) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(C,SAR(af,maxaf)) Then
{
Sell();
}
---------------
위와같은 기본 식에...
손절 0.5포인트,
1포인트 수익부터 50%트레일링스탑을 기본으로하고...
진입시부터 위아래 0.5포인트 이내에 다른 진입신호가 있다면 무시하다가
(즉, 청산 전에는 무시하다가)
그 범위를 벗어나면 보류했던 최근 진입신호가 다시 나오게하고 싶습니다.
휩소를 피하고 싶어서요.
손절과 수익을 input으로 표현하게 해 주시구요.
거듭 고맙습니다.
답변 1
예스스탁 예스스탁 답변
2010-11-04 11:24:16
안녕하세요
예스스탁입니다.
Input : af(0.02), maxaF(0.2),loss(0.5),Trailup(1),Traildn(50);
var2 = 0;
for var1 = 0 to 20{
if sdate == EntryDate(var1) Then
var2 = var2+1;
}
if var2 == 0 Then{
If Crossup(C,SAR(af,maxaf)) Then
Buy();
If CrossDown(C,SAR(af,maxaf)) Then
Sell();
}
if var2 >= 1 Then{
if MarketPosition != 0 Then{
If countif(Crossup(C,SAR(af,maxaf)),BarsSinceEntry) >= 1 and (C >= EntryPrice+0.5 or C <= EntryPrice-0.5) Then
Buy();
If countif(CrossDown(C,SAR(af,maxaf)),BarsSinceEntry) >= 1 and (C >= EntryPrice+0.5 or C <= EntryPrice-0.5) Then
Sell();
}
if MarketPosition == 0 Then{
If Crossup(C,SAR(af,maxaf)) Then
Buy();
If CrossDown(C,SAR(af,maxaf)) Then
Sell();
}
}
SetStopLoss(loss,PointStop);
if MarketPosition == 1 Then{
if highest(H,BarsSinceEntry) >= EntryPrice+Trailup Then
exitlong("bx",AtStop,highest(H,BarsSinceEntry)-(highest(H,BarsSinceEntry)-EntryPrice)*Traildn/100);
}
if MarketPosition == -1 Then{
if Lowest(L,BarsSinceEntry) <= EntryPrice-Trailup Then
ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+(EntryPrice-Lowest(L,BarsSinceEntry))*Traildn/100);
}
즐거운 하루되세요
> 아침못 님이 쓴 글입니다.
> 제목 : 수고 많으십니다. 수식부탁드립니다.
> Input : af(0.02), maxaF(0.2);
# 매수/매도청산
If Crossup(C,SAR(af,maxaf)) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(C,SAR(af,maxaf)) Then
{
Sell();
}
---------------
위와같은 기본 식에...
손절 0.5포인트,
1포인트 수익부터 50%트레일링스탑을 기본으로하고...
진입시부터 위아래 0.5포인트 이내에 다른 진입신호가 있다면 무시하다가
(즉, 청산 전에는 무시하다가)
그 범위를 벗어나면 보류했던 최근 진입신호가 다시 나오게하고 싶습니다.
휩소를 피하고 싶어서요.
손절과 수익을 input으로 표현하게 해 주시구요.
거듭 고맙습니다.