커뮤니티
수식 문의 드립니다.
2012-04-17 16:46:49
304
글번호 50157
아래의 수식에 다음과 같은 매매조건을 삽입하려면 어떻게 해야 하는지 궁금합니다.
(최초 거래는 현물일 경우 100만원, 선물일 경우는 1계약으로 진입)
- 매수거래던 매도거래던 손실이 이전 거래에서 연속으로 2번 손실이 발생하면
신규매매신호신호 발생시 이전 진입금액(또는 계약수)에 2를 곱하여 진입
- 이익이 발생하면 다시 100만원(1계약)으로 진입
- 단, 최대 누적금액(계약)은 800만원(8계약) 이다.
if data2(dayindex == 0) Then{
if data2(bids > asks) Then
buy("b",AtMarket);
if data2(bids < asks) Then
sell("s",AtMarket);
}
답변 1
예스스탁 예스스탁 답변
2012-04-17 18:18:22
안녕하세요
예스스탁입니다.
input : 주식투입금액(1000000),주식최대(8000000),선물투입수량(1),선물최대(8);
var : cnt(0,data1),loss(0,data1),Entry(0,data1),First(false,data1),vv(0,data1);
loss = 0;
for cnt = 10 downto 1{
if PositionProfit(cnt) < 0 Then
Loss = loss+1;
Else
loss = 0;
}
if CodeCategory == 1 or CodeCategory == 2 Then{
if loss <= 1 Then
Entry = 주식투입금액;
if loss >= 2 Then
Entry = min(entry[BarsSinceEntry(1)]*2,주식최대);
if CodeCategory == 1 Then{
if BasePrice < 50000 Then
vv = round(int(int(entry/C)/10)*10,0);
Else
vv = round(int(entry/C),0);
}
if CodeCategory == 2 Then#코스닥
vv = round(int(entry/C),0);
if data2(dayindex == 0) Then{
if data2(bids > asks) Then
buy("b",OnClose,def,vv);
if data2(bids < asks) Then
sell("s");
}
}
if CodeCategory == 4 Then{
if data2(dayindex == 0) Then{
if data2(bids > asks) Then{
If MarketPosition == 0 Then
buy("b1",OnClose,def,iff(loss >= 2,CurrentContracts[BarsSinceEntry(1)-1]*2,선물투입수량));
If MarketPosition == -1 Then{
if C > EntryPrice and loss >= 1 Then
buy("b2",OnClose,def,min(CurrentContracts[BarsSinceEntry-1]*2,선물최대));
Else
buy("b3",OnClose,def,1);
}
}
if data2(bids < asks) Then{
If MarketPosition == 0 Then
sell("s1",OnClose,def,iff(loss >= 2,CurrentContracts[BarsSinceEntry(1)-1]*2,선물투입수량));
If MarketPosition == 1 Then{
if C < EntryPrice and loss >= 1 Then
sell("s2",OnClose,def,min(CurrentContracts[BarsSinceEntry-1]*2,선물최대));
Else
sell("s3",OnClose,def,1);
}
}
}
}
즐거운 하루되세요
> 앙두 님이 쓴 글입니다.
> 제목 : 수식 문의 드립니다.
> 아래의 수식에 다음과 같은 매매조건을 삽입하려면 어떻게 해야 하는지 궁금합니다.
(최초 거래는 현물일 경우 100만원, 선물일 경우는 1계약으로 진입)
- 매수거래던 매도거래던 손실이 이전 거래에서 연속으로 2번 손실이 발생하면
신규매매신호신호 발생시 이전 진입금액(또는 계약수)에 2를 곱하여 진입
- 이익이 발생하면 다시 100만원(1계약)으로 진입
- 단, 최대 누적금액(계약)은 800만원(8계약) 이다.
if data2(dayindex == 0) Then{
if data2(bids > asks) Then
buy("b",AtMarket);
if data2(bids < asks) Then
sell("s",AtMarket);
}