커뮤니티
문의 드립니다.
2011-11-18 16:02:07
560
글번호 44932
수고가 많으십니다
(1식) if MarketPosition == 1 and c < Highest(H,BarsSinceEntry)*0.99 then
ExitLong("bx",AtStop,c);
(2식) if MarketPosition == 1 Then
ExitLong("bx",AtStop,Highest(H,BarsSinceEntry)*0.99);
상기 1식과 2식은 같은 수식인지 궁금합니다.
그리고 onclose로 진입하는 경우에는 진입가격을 따로 할당하여
사용하면 되지 않나요? 아래식을 진입가격 및 최고가을 할당하여 수익실현과 손절매 수식을 부탁드립니다.(BarsSinceEntry와 EntryPrice대신에 적용)
SetStopTrailing(1,0.00001,PercentStop,1);
SetStopLoss(1);
상기 식을 사용하여 아래 식을 수정해 주시면 도움이 되겠습니다.
상기 식을 사용하면 추가 적인 조건등은 사용할 수 없나요?
감사합니다.
value2 = 0;
for value1 = 0 to 10{
if EntryDate(value1) == sdate Then
value2 = value2+1;
}
var1 = ma(c,60);
var2 = macd(12,26);
var3 = ma(c,5);
var4 = ma(c,20);
Condition1 = ExitDate(1) == sdate and (IsExitName("bx4",1) or IsExitName("bx5",1));
if value2 < 6 and Condition1 == false Then{
if var1 > var1[1] and var1[1] < var1[2] Then
buy("b1",OnClose,def,1);
if crossup(var2,0) Then
buy("b2",OnClose,def,1);
if crossup(var3,var4) Then
buy("b3",OnClose,def,1);
}
if var1 < var1[1] and var1[1] < var1[2] Then
ExitLong("bx1",OnClose,def,"b1",1,1);
if CrossDown(var2,0) Then
ExitLong("bx2",OnClose,def,"b2",1,1);
if CrossDown(var3,var4) Then
ExitLong("bx3",OnClose,def,"b3",1,1);
if MarketPosition == 1 Then{
ExitLong("bx4",AtStop,Highest(H,BarsSinceEntry)*0.99);
ExitLong("bx5",AtStop,EntryPrice*0.99);
}
답변 1
예스스탁 예스스탁 답변
2011-11-18 16:55:25
안녕하세요
예스스탁입니다.
1.
비슷한 개념이지만 다른식입니다.
1번은 현재 미완성봉에서 최고가대비 1%하락한 시세가 발생하면 즉시 체결되지만
2번식는 봉완성기준으로 종가가 최고가대비 1%하락한 종가가 발생하고
해당 봉가보다 다음봉의 시세중에 낮은게 있어야 청산됩니다.
2.
value2 = 0;
for value1 = 0 to 10{
if EntryDate(value1) == sdate Then
value2 = value2+1;
}
var1 = ma(c,60);
var2 = macd(12,26);
var3 = ma(c,5);
var4 = ma(c,20);
Condition1 = ExitDate(1) == sdate and (IsExitName("bx4",1) or IsExitName("bx5",1));
if value2 < 6 and Condition1 == false Then{
if var1 > var1[1] and var1[1] < var1[2] Then
buy("b1",OnClose,def,1);
if crossup(var2,0) Then
buy("b2",OnClose,def,1);
if crossup(var3,var4) Then
buy("b3",OnClose,def,1);
}
if var1 < var1[1] and var1[1] < var1[2] Then
ExitLong("bx1",OnClose,def,"b1",1,1);
if CrossDown(var2,0) Then
ExitLong("bx2",OnClose,def,"b2",1,1);
if CrossDown(var3,var4) Then
ExitLong("bx3",OnClose,def,"b3",1,1);
if MarketPosition == 1 Then{
if CurrentEntries == 1 and CurrentEntries[1] != CurrentEntries Then{
var81 = C[1];
var82 = H;
}
if maxEntries >= 1 Then{
if H > var82 Then
var82 = H;
ExitLong("bx4_1",AtStop,var82*0.99,"b1",1,1);
ExitLong("bx5_1",AtStop,var81*0.99,"b1",1,1);
}
if CurrentEntries == 2 and CurrentEntries[1] != CurrentEntries Then{
var83 = C[1];
var84 = H;
}
if maxEntries >= 2 Then{
if H > var84 Then
var84 = H;
ExitLong("bx4_2",AtStop,var84*0.99,"b2",1,1);
ExitLong("bx5_2",AtStop,var83*0.99,"b2",1,1);
}
if CurrentEntries == 3 and CurrentEntries[1] != CurrentEntries Then{
var85 = C[1];
var86 = H;
}
if maxEntries >= 3 Then{
if H > var86 Then
var86 = H;
ExitLong("bx4_3",AtStop,var86*0.99,"b3",1,1);
ExitLong("bx5_3",AtStop,var85*0.99,"b3",1,1);
}
}
즐거운 하루되세요
> 아틀라스 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 수고가 많으십니다
(1식) if MarketPosition == 1 and c < Highest(H,BarsSinceEntry)*0.99 then
ExitLong("bx",AtStop,c);
(2식) if MarketPosition == 1 Then
ExitLong("bx",AtStop,Highest(H,BarsSinceEntry)*0.99);
상기 1식과 2식은 같은 수식인지 궁금합니다.
그리고 onclose로 진입하는 경우에는 진입가격을 따로 할당하여
사용하면 되지 않나요? 아래식을 진입가격 및 최고가을 할당하여 수익실현과 손절매 수식을 부탁드립니다.(BarsSinceEntry와 EntryPrice대신에 적용)
SetStopTrailing(1,0.00001,PercentStop,1);
SetStopLoss(1);
상기 식을 사용하여 아래 식을 수정해 주시면 도움이 되겠습니다.
상기 식을 사용하면 추가 적인 조건등은 사용할 수 없나요?
감사합니다.
value2 = 0;
for value1 = 0 to 10{
if EntryDate(value1) == sdate Then
value2 = value2+1;
}
var1 = ma(c,60);
var2 = macd(12,26);
var3 = ma(c,5);
var4 = ma(c,20);
Condition1 = ExitDate(1) == sdate and (IsExitName("bx4",1) or IsExitName("bx5",1));
if value2 < 6 and Condition1 == false Then{
if var1 > var1[1] and var1[1] < var1[2] Then
buy("b1",OnClose,def,1);
if crossup(var2,0) Then
buy("b2",OnClose,def,1);
if crossup(var3,var4) Then
buy("b3",OnClose,def,1);
}
if var1 < var1[1] and var1[1] < var1[2] Then
ExitLong("bx1",OnClose,def,"b1",1,1);
if CrossDown(var2,0) Then
ExitLong("bx2",OnClose,def,"b2",1,1);
if CrossDown(var3,var4) Then
ExitLong("bx3",OnClose,def,"b3",1,1);
if MarketPosition == 1 Then{
ExitLong("bx4",AtStop,Highest(H,BarsSinceEntry)*0.99);
ExitLong("bx5",AtStop,EntryPrice*0.99);
}
다음글
이전글