커뮤니티
문의합니다.
2014-09-27 23:54:25
161
글번호 78878
아래는 전에 질의했던 문의내용 원문입니다.현물거래합니다.
------------------------------------------------------------------------------
<매수>
1. 일봉상 이평이격도가 20일선대비 1일선이 80%이하이며, 양봉시 1차매수 100만원
2. 2차매수 1차매수후 -10%시 추가매수 100만원
3. 3차매수 2차매수후 평단가가 -10%시 추가매수 200만원
4. 4차매수 3차매수후 평단가가 -10%시 추가매수 400만원
<매도>
1. 3차매수후 종가시 평단가가 -10%이하시 전량손절
2. 평단가가 +3%시 50% 수익매도
3. 평단가가 +5%시 25% 수익매도
4. 평단가가 +10%시 25% 수익매도
5. 3%수익매도시 나머지 물량 종가 전량매도
요는 1차매수가됐는 2차매수가됐는 4차매수가됐는 평단가 대비 +3%가 된다면 수익실현을 총물량의 50%를 하게되는데 그후 +5%,+10%를 만족하지 못하더라도 종가에 전량매도 하는것입니다. 제 생각에는 +3%수익실현을 하게되면 그다음 주문은 조건부 지정가로 +5%,+10%로 주문을 내게되면 될것같은데요 ^^
------------------------------------------------------------------------------
밑에는 답변받은 내용입니다.
매도식이 제가 원했던 내용과 일치하는지 문의드립니다.
------------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
청산이 타입이 잘못되어 있어 수정했습니다.
해당식 평단가 대비 3%,5%,10% 수익청산은 진입횟수와 관계가 없이 발생합니다.
input : Per(10),매수1(1000000),매수2(1000000),매수3(2000000),매수4(4000000);
var : Vol1(0),vol2(0),vol3(0),vol4(0);
var : X(0),xVol1(0),xvol2(0),xvol3(0);
var1 = ma(c,1);
var2 = ma(C,20);
if CodeCategoryEx == 11 and BasePrice < 50000 Then{
vol1 = int(int((매수1)/C)/10)*10;
vol2 = int(int((매수2)/C)/10)*10;
vol3 = int(int((매수3)/C)/10)*10;
vol4 = int(int((매수4)/C)/10)*10;
}
Else{
vol1 = int((매수1)/C);
vol2 = int((매수2)/C);
vol3 = int((매수3)/C);
vol4 = int((매수4)/C);
}
if MarketPosition == 0 and C > O and var1 <= var2*0.8 Then
buy("b1",OnClose,def,vol1);
if MarketPosition == 1 Then{
if MaxEntries == 1 Then
buy("b2",atlimit,AvgEntryPrice*(1-Per/100),vol2);
if MaxEntries == 1 Then
buy("b3",atlimit,AvgEntryPrice*(1-Per/100),vol3);
if MaxEntries == 1 Then
buy("b4",atlimit,AvgEntryPrice*(1-Per/100),vol4);
}
if MarketPosition == 1 Then{
if CodeCategoryEx == 11 and BasePrice < 50000 Then{
xvol1 = int(int(MaxContracts*0.5)/10)*10;
xvol2 = int(int(MaxContracts*0.5)/10)*10;
xvol3 = int(int(MaxContracts*0.5)/10)*10;
}
Else{
xvol1 = int(MaxContracts*0.5);
xvol2 = int(MaxContracts*0.5);
xvol3 = int(MaxContracts*0.5);
}
if CurrentContracts < CurrentContracts[1] Then
x = x+1;
if X == 0 Then
ExitLong("bx1",AtLimit,AvgEntryPrice*1.03,"",Xvol1,1);
if X == 1 Then
ExitLong("bx2",AtLimit,AvgEntryPrice*1.05,"",Xvol2,1);
if X == 2 Then
ExitLong("bx3",AtLimit,AvgEntryPrice*1.10,"",Xvol3,1);
if MaxEntries == 4 Then
ExitLong("bx",AtStop,AvgEntryPrice*0.9);
}
Else
X = 0;
즐거운 하루되세요
------------------------------------------------------------------------------
답변 1
예스스탁 예스스탁 답변
2014-09-29 11:23:03
안녕하세요
예스스탁입니다.
청산식은 진입횟수와 관계없이 발동을 합니다.
3% 수익이면 50%물량 청산으로 되어 있는데
+5%,+10%도 모두 50%로 되어 있어 25%씩으로 변경했습니다.
당일청산은 시스템 트레이딩 설정창의
강제청산탭에서 설정하시면 됩니다.
시스템은 정규장안에서만 주문이 가능하므로
정규장 안의 시간으로 시간을 지정하셔야 합니다.
input : Per(10),매수1(1000000),매수2(1000000),매수3(2000000),매수4(4000000);
var : Vol1(0),vol2(0),vol3(0),vol4(0);
var : X(0),xVol1(0),xvol2(0),xvol3(0);
var1 = ma(c,1);
var2 = ma(C,20);
if CodeCategoryEx == 11 and BasePrice < 50000 Then{
vol1 = int(int((매수1)/C)/10)*10;
vol2 = int(int((매수2)/C)/10)*10;
vol3 = int(int((매수3)/C)/10)*10;
vol4 = int(int((매수4)/C)/10)*10;
}
Else{
vol1 = int((매수1)/C);
vol2 = int((매수2)/C);
vol3 = int((매수3)/C);
vol4 = int((매수4)/C);
}
if MarketPosition == 0 and C > O and var1 <= var2*0.8 Then
buy("b1",OnClose,def,vol1);
if MarketPosition == 1 Then{
if MaxEntries == 1 Then
buy("b2",atlimit,AvgEntryPrice*(1-Per/100),vol2);
if MaxEntries == 2 Then
buy("b3",atlimit,AvgEntryPrice*(1-Per/100),vol3);
if MaxEntries == 3 Then
buy("b4",atlimit,AvgEntryPrice*(1-Per/100),vol4);
}
if MarketPosition == 1 Then{
if CodeCategoryEx == 11 and BasePrice < 50000 Then{
xvol1 = int(int(MaxContracts*0.5)/10)*10;
xvol2 = int(int(MaxContracts*0.25)/10)*10;
xvol3 = xvol1-xvol2;
}
Else{
xvol1 = int(MaxContracts*0.5);
xvol2 = int(MaxContracts*0.5);
xvol3 = xvol1-xvol2;
}
if CurrentContracts < CurrentContracts[1] Then
x = x+1;
if X == 0 Then
ExitLong("bx1",AtLimit,AvgEntryPrice*1.03,"",Xvol1,1);
if X == 1 Then
ExitLong("bx2",AtLimit,AvgEntryPrice*1.05,"",Xvol2,1);
if X == 2 Then
ExitLong("bx3",AtLimit,AvgEntryPrice*1.10,"",Xvol3,1);
if MaxEntries == 4 Then
ExitLong("bx",AtStop,AvgEntryPrice*0.9);
}
Else
X = 0;
즐거운 하루되세요
> 심리도박사 님이 쓴 글입니다.
> 제목 : 문의합니다.
> 아래는 전에 질의했던 문의내용 원문입니다.현물거래합니다.
------------------------------------------------------------------------------
<매수>
1. 일봉상 이평이격도가 20일선대비 1일선이 80%이하이며, 양봉시 1차매수 100만원
2. 2차매수 1차매수후 -10%시 추가매수 100만원
3. 3차매수 2차매수후 평단가가 -10%시 추가매수 200만원
4. 4차매수 3차매수후 평단가가 -10%시 추가매수 400만원
<매도>
1. 3차매수후 종가시 평단가가 -10%이하시 전량손절
2. 평단가가 +3%시 50% 수익매도
3. 평단가가 +5%시 25% 수익매도
4. 평단가가 +10%시 25% 수익매도
5. 3%수익매도시 나머지 물량 종가 전량매도
요는 1차매수가됐는 2차매수가됐는 4차매수가됐는 평단가 대비 +3%가 된다면 수익실현을 총물량의 50%를 하게되는데 그후 +5%,+10%를 만족하지 못하더라도 종가에 전량매도 하는것입니다. 제 생각에는 +3%수익실현을 하게되면 그다음 주문은 조건부 지정가로 +5%,+10%로 주문을 내게되면 될것같은데요 ^^
------------------------------------------------------------------------------
밑에는 답변받은 내용입니다.
매도식이 제가 원했던 내용과 일치하는지 문의드립니다.
------------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
청산이 타입이 잘못되어 있어 수정했습니다.
해당식 평단가 대비 3%,5%,10% 수익청산은 진입횟수와 관계가 없이 발생합니다.
input : Per(10),매수1(1000000),매수2(1000000),매수3(2000000),매수4(4000000);
var : Vol1(0),vol2(0),vol3(0),vol4(0);
var : X(0),xVol1(0),xvol2(0),xvol3(0);
var1 = ma(c,1);
var2 = ma(C,20);
if CodeCategoryEx == 11 and BasePrice < 50000 Then{
vol1 = int(int((매수1)/C)/10)*10;
vol2 = int(int((매수2)/C)/10)*10;
vol3 = int(int((매수3)/C)/10)*10;
vol4 = int(int((매수4)/C)/10)*10;
}
Else{
vol1 = int((매수1)/C);
vol2 = int((매수2)/C);
vol3 = int((매수3)/C);
vol4 = int((매수4)/C);
}
if MarketPosition == 0 and C > O and var1 <= var2*0.8 Then
buy("b1",OnClose,def,vol1);
if MarketPosition == 1 Then{
if MaxEntries == 1 Then
buy("b2",atlimit,AvgEntryPrice*(1-Per/100),vol2);
if MaxEntries == 1 Then
buy("b3",atlimit,AvgEntryPrice*(1-Per/100),vol3);
if MaxEntries == 1 Then
buy("b4",atlimit,AvgEntryPrice*(1-Per/100),vol4);
}
if MarketPosition == 1 Then{
if CodeCategoryEx == 11 and BasePrice < 50000 Then{
xvol1 = int(int(MaxContracts*0.5)/10)*10;
xvol2 = int(int(MaxContracts*0.5)/10)*10;
xvol3 = int(int(MaxContracts*0.5)/10)*10;
}
Else{
xvol1 = int(MaxContracts*0.5);
xvol2 = int(MaxContracts*0.5);
xvol3 = int(MaxContracts*0.5);
}
if CurrentContracts < CurrentContracts[1] Then
x = x+1;
if X == 0 Then
ExitLong("bx1",AtLimit,AvgEntryPrice*1.03,"",Xvol1,1);
if X == 1 Then
ExitLong("bx2",AtLimit,AvgEntryPrice*1.05,"",Xvol2,1);
if X == 2 Then
ExitLong("bx3",AtLimit,AvgEntryPrice*1.10,"",Xvol3,1);
if MaxEntries == 4 Then
ExitLong("bx",AtStop,AvgEntryPrice*0.9);
}
Else
X = 0;
즐거운 하루되세요
------------------------------------------------------------------------------