커뮤니티
질문 드립니다.
2011-03-25 16:26:32
844
글번호 36951
밑에 글쓴거에 다시 답변을 달았는데 못보시는거 같아서요 여기에 올립니다.
답변감사합니다. 너무 복잡했었나 보네요 단순하게 작성해 주신 식을
이렇게 바꿔봤습니다. 제가 의도하는 건 분할로 지속적으로 진입하기를 원하는
것입니다. 피라미딩을 모든 진입신호 허용으로 하니 b1은 지속적으로 반복되는
상승시매수와 하락시매수는 제대로 진입을 하지 못하는 것같아서요.
최초에 진입하는 b1은 1번만 진입이후 청산이 나오기전에는 진입을 하지 않고
상승시매수와 하락시매수만 적용되게 만들고 싶습니다. 피라미딩을 해서.
쉽게 표현해서 선물 260을 기준으로 매수가 들어갔다면 259에 매수 258에 매수
257에 매수 256에 매수를...... 지속적으로 진입하고 반대로 상승시에도 261매수
262매수 263매수를........ 지속적으로 진입하게 하려고 하는 것입니다.
그런후에 청산이 나오면 다시 b1부터 진행이 되는 것이죠.
추가로 가능하다면 하락하여서 258에서 매수가 들어간 경우 다시 가격대비 1포인트가
상승하면 259에서는 상승시매수가 들어가게 반대의 경우도 하락시매수가 들어가게
하는 방법이 없을까요?
부탁합니다.
-------------------------------------------------------------------
input : vol(1);
if dayindex == 0 Then{
var1 = data2(C-C[1]);
var2 = int(abs(var1));
if var1 > 0 and var2 >= 1 Then{
buy("b1",OnClose,def,vol*var2);
var3 = var2;
}
Else{
var3 = 0;
}
}
if MarketPosition == 0 and dayindex > 0 and
data2(C >= CloseD(1)+1 and C[1] < CloseD(1)[1]+1) And
data2(countif(C >= CloseD(1)+1 and C[1] < CloseD(1)[1]+1,dayindex) == 1) Then
buy("b1",OnClose,def,vol);
if MarketPosition == 1 Then{
var4 = data2(CloseD(1))+var3;
if Data2(C >= var4+(1*CurrentEntries) and C[1] < var4+(1*CurrentEntries)) then
buy("상승시매수",OnClose,def,vol);
}
if MarketPosition == 1 Then{
var5 = data2(CloseD(1))-var3;
if Data2(C <= var5-(1*CurrentEntries) and C[1] > var5-(1*CurrentEntries)) then
buy("하락시매수",OnClose,def,vol);
}
if MarketPosition == 1 Then{
ExitLong("bx1",AtStop,AvgEntryPrice*0.5);
답변 1
예스스탁 예스스탁 답변
2011-03-25 17:52:58
안녕하세요
예스스탁입니다.
input : vol(1);
if dayindex == 0 Then{
var1 = data2(C-C[1]);
var2 = int(abs(var1));
if (var1 >= 1 or var1 <= -1) Then{
buy("b",OnClose,def,vol*var2);
var3 = var2;
}
Else{
var3 = 0;
}
}
if MarketPosition == 0 and dayindex > 0 and
data2(C >= CloseD(1)+1 and C[1] < CloseD(1)[1]+1) Then
buy("StartUp",OnClose,def,vol);
if MarketPosition == 0 and dayindex > 0 and
data2(C <= CloseD(1)-1 and C[1] > CloseD(1)[1]-1) Then
buy("StartDn",OnClose,def,vol);
if MarketPosition == 1 and (IsEntryName("b") or IsEntryName("Stratup")) Then{
var4 = data2(CloseD(1))+var3;
if Data2(C >= var4+(1*CurrentEntries) and C[1] < var4+(1*CurrentEntries)) then
buy("상승시매수",OnClose,def,vol);
}
if MarketPosition == 1 and (IsEntryName("b") or IsEntryName("Stratdn")) Then{
var5 = data2(CloseD(1))-var3;
if Data2(C <= var5-(1*CurrentEntries) and C[1] > var5-(1*CurrentEntries)) then
buy("하락시매수",OnClose,def,vol);
}
if MarketPosition == 1 Then{
ExitLong("bx1",AtStop,AvgEntryPrice*0.5);
}
식을 조금 수정했습니다.
추가문의하신 부분은 반영되지 않았습니다.
컨트롤이 잘 되지 않아 어떻게 처리해야 할지 모르겠습니다.
작성해서 완성되면 올려드리도록 하겠습니다.
즐거운 하루되세요
> 화이트호올 님이 쓴 글입니다.
> 제목 : 질문 드립니다.
> 밑에 글쓴거에 다시 답변을 달았는데 못보시는거 같아서요 여기에 올립니다.
답변감사합니다. 너무 복잡했었나 보네요 단순하게 작성해 주신 식을
이렇게 바꿔봤습니다. 제가 의도하는 건 분할로 지속적으로 진입하기를 원하는
것입니다. 피라미딩을 모든 진입신호 허용으로 하니 b1은 지속적으로 반복되는
상승시매수와 하락시매수는 제대로 진입을 하지 못하는 것같아서요.
최초에 진입하는 b1은 1번만 진입이후 청산이 나오기전에는 진입을 하지 않고
상승시매수와 하락시매수만 적용되게 만들고 싶습니다. 피라미딩을 해서.
쉽게 표현해서 선물 260을 기준으로 매수가 들어갔다면 259에 매수 258에 매수
257에 매수 256에 매수를...... 지속적으로 진입하고 반대로 상승시에도 261매수
262매수 263매수를........ 지속적으로 진입하게 하려고 하는 것입니다.
그런후에 청산이 나오면 다시 b1부터 진행이 되는 것이죠.
추가로 가능하다면 하락하여서 258에서 매수가 들어간 경우 다시 가격대비 1포인트가
상승하면 259에서는 상승시매수가 들어가게 반대의 경우도 하락시매수가 들어가게
하는 방법이 없을까요?
부탁합니다.
-------------------------------------------------------------------
input : vol(1);
if dayindex == 0 Then{
var1 = data2(C-C[1]);
var2 = int(abs(var1));
if var1 > 0 and var2 >= 1 Then{
buy("b1",OnClose,def,vol*var2);
var3 = var2;
}
Else{
var3 = 0;
}
}
if MarketPosition == 0 and dayindex > 0 and
data2(C >= CloseD(1)+1 and C[1] < CloseD(1)[1]+1) And
data2(countif(C >= CloseD(1)+1 and C[1] < CloseD(1)[1]+1,dayindex) == 1) Then
buy("b1",OnClose,def,vol);
if MarketPosition == 1 Then{
var4 = data2(CloseD(1))+var3;
if Data2(C >= var4+(1*CurrentEntries) and C[1] < var4+(1*CurrentEntries)) then
buy("상승시매수",OnClose,def,vol);
}
if MarketPosition == 1 Then{
var5 = data2(CloseD(1))-var3;
if Data2(C <= var5-(1*CurrentEntries) and C[1] > var5-(1*CurrentEntries)) then
buy("하락시매수",OnClose,def,vol);
}
if MarketPosition == 1 Then{
ExitLong("bx1",AtStop,AvgEntryPrice*0.5);
다음글