커뮤니티
15058 재문의 드립니다.
2010-08-03 14:29:38
568
글번호 31323
답변감사드립니다.
그런게 해결책이 제 의도와는 조금 다른 듯 합니다.
예를 들어 원래식은 최초 신호 발생이 0.71 에서 나타났다면 0.81, 0.91 이렇게 순차적으로 0.10 포인트씩 상승할 때 매수하는 것입니다.
그런데 문제가 된 건 꼭 급격한 상승이 아니어도, 0.71에 진입한 후 0.81 에 도달해서 매수하고 0.85 까지 오른 뒤, 0.75까지 떨어졌다가 다시 0.81에 도달하면 또 매수하는 것입니다.
그래서 최초에 0.71에 진입한 뒤 0.81에 도달해서 매수한 후 가격이 0.81 이하로 떨어졌다가 다시 올라서 0.81에 도달해도 이후부터는 0.81에서는 매수하지 않게끔 했으면 합니다. 즉, 특정 가격대에서는 한 번씩만 매수하는 거죠.
결국 특정 가격대에서 한 번 씩만 거래하게끔 수식을 수정했으면 합니다.
p.s. 그리고 추가매수후 가격이 떨어져서 청산 한 후에는 다시 재진입 하지 않게끔 하는 설정도 같이 했으면 합니다.
그럼 부탁드립니다. 감사합니다.
> 안녕하세요? 예스스탁입니다.
> 가격이 급격하게 상승하여 지정한 상승률 보다 높게 상승하였다가 하락할 경우 atstop조건에는 해당하므로 지정한 상승률 보다 낮은 가격에서 신호가 발생되는 경우인데, 다음과 같이 수정해 보면 어떨까 합니다. 급격히 상승하는 경우에 범위를 초과한 상승에서는 진입을 하지 않도록 한것입니다.
> #최초진입
if MarketPosition == 0 and daylow*1.2 < H and stime < 150000 Then{
buy("b",AtStop,daylow*1.1);
}
#추가진입
if MarketPosition == 1 and CurrentEntries < 6 and countif(CurrentEntries < CurrentEntries[1],BarsSinceEntry+1)
< 1
And C < EntryPrice+(CurrentEntries*0.01) Then
buy("BB",AtStop,EntryPrice+(CurrentEntries*0.1));
if MarketPosition == 1 Then
exitlong("bx",AtStop,AvgEntryPrice+0.02,"BB");
SetStopEndofday(143000);
>> WT_mbloc 님이 쓴 글입니다.
>> 제목 : 수식 수정 문의드립니다.
>> #최초진입
if MarketPosition == 0 and daylow*1.2 < H and stime < 150000 Then{
buy("b",AtStop,daylow*1.1);
}
#추가진입
if MarketPosition == 1 and CurrentEntries < 6 and countif(CurrentEntries < CurrentEntries[1],BarsSinceEntry+1) < 1 Then
buy("BB",AtStop,EntryPrice+(CurrentEntries*0.1));
if MarketPosition == 1 Then
exitlong("bx",AtStop,AvgEntryPrice+0.02,"BB");
SetStopEndofday(143000);
옵션매수식이고요. 당일고가와 저가차이가 20%이상이고, 현재가가 당일저가보다 10% 이상 높으면 진입하는 식입니다. 추가는 피라미드로 최대 6회까지 진입하는 거고요.
위 식을 사용하면 최초매수가가 0.8이면 그 다음 매수가는 0.9, 그 다음은 1.0 이런 식으로 매수를 하게 됩니다.
그런데 최초 0.8 매수후 가격이 올라서 0.9에 매수한 후 가격이 약간 떨어졌다가 다시 0.9가 되면 또 0.9에서 매수를 하게 됩니다.
이렇게 같은 가격대에서 반복적으로 매수하지 않고, 한 가격대에서는 한 번만 매수하고, 그 이후에는 그 가격보다 0.1 포인트 올랐을 때만 매수하게끔 수식 수정 좀 부탁드립니다.
답변 1
예스스탁 예스스탁 답변
2010-08-03 18:32:45
안녕하세요? 예스스탁입니다.
atstop주문 구조상 구현하기가 쉽지 않을것 같습니다.
일단 방법을 좀더 생각해 보도록 하겠습니다.
감사합니다.
> WT_mbloc 님이 쓴 글입니다.
> 제목 : 15058 재문의 드립니다.
> 답변감사드립니다.
그런게 해결책이 제 의도와는 조금 다른 듯 합니다.
예를 들어 원래식은 최초 신호 발생이 0.71 에서 나타났다면 0.81, 0.91 이렇게 순차적으로 0.10 포인트씩 상승할 때 매수하는 것입니다.
그런데 문제가 된 건 꼭 급격한 상승이 아니어도, 0.71에 진입한 후 0.81 에 도달해서 매수하고 0.85 까지 오른 뒤, 0.75까지 떨어졌다가 다시 0.81에 도달하면 또 매수하는 것입니다.
그래서 최초에 0.71에 진입한 뒤 0.81에 도달해서 매수한 후 가격이 0.81 이하로 떨어졌다가 다시 올라서 0.81에 도달해도 이후부터는 0.81에서는 매수하지 않게끔 했으면 합니다. 즉, 특정 가격대에서는 한 번씩만 매수하는 거죠.
결국 특정 가격대에서 한 번 씩만 거래하게끔 수식을 수정했으면 합니다.
p.s. 그리고 추가매수후 가격이 떨어져서 청산 한 후에는 다시 재진입 하지 않게끔 하는 설정도 같이 했으면 합니다.
그럼 부탁드립니다. 감사합니다.
> 안녕하세요? 예스스탁입니다.
> 가격이 급격하게 상승하여 지정한 상승률 보다 높게 상승하였다가 하락할 경우 atstop조건에는 해당하므로 지정한 상승률 보다 낮은 가격에서 신호가 발생되는 경우인데, 다음과 같이 수정해 보면 어떨까 합니다. 급격히 상승하는 경우에 범위를 초과한 상승에서는 진입을 하지 않도록 한것입니다.
> #최초진입
if MarketPosition == 0 and daylow*1.2 < H and stime < 150000 Then{
buy("b",AtStop,daylow*1.1);
}
#추가진입
if MarketPosition == 1 and CurrentEntries < 6 and countif(CurrentEntries < CurrentEntries[1],BarsSinceEntry+1)
< 1
And C < EntryPrice+(CurrentEntries*0.01) Then
buy("BB",AtStop,EntryPrice+(CurrentEntries*0.1));
if MarketPosition == 1 Then
exitlong("bx",AtStop,AvgEntryPrice+0.02,"BB");
SetStopEndofday(143000);
>> WT_mbloc 님이 쓴 글입니다.
>> 제목 : 수식 수정 문의드립니다.
>> #최초진입
if MarketPosition == 0 and daylow*1.2 < H and stime < 150000 Then{
buy("b",AtStop,daylow*1.1);
}
#추가진입
if MarketPosition == 1 and CurrentEntries < 6 and countif(CurrentEntries < CurrentEntries[1],BarsSinceEntry+1) < 1 Then
buy("BB",AtStop,EntryPrice+(CurrentEntries*0.1));
if MarketPosition == 1 Then
exitlong("bx",AtStop,AvgEntryPrice+0.02,"BB");
SetStopEndofday(143000);
옵션매수식이고요. 당일고가와 저가차이가 20%이상이고, 현재가가 당일저가보다 10% 이상 높으면 진입하는 식입니다. 추가는 피라미드로 최대 6회까지 진입하는 거고요.
위 식을 사용하면 최초매수가가 0.8이면 그 다음 매수가는 0.9, 그 다음은 1.0 이런 식으로 매수를 하게 됩니다.
그런데 최초 0.8 매수후 가격이 올라서 0.9에 매수한 후 가격이 약간 떨어졌다가 다시 0.9가 되면 또 0.9에서 매수를 하게 됩니다.
이렇게 같은 가격대에서 반복적으로 매수하지 않고, 한 가격대에서는 한 번만 매수하고, 그 이후에는 그 가격보다 0.1 포인트 올랐을 때만 매수하게끔 수식 수정 좀 부탁드립니다.
다음글
이전글