커뮤니티
수식작성 부탁드립니다
2013-12-15 12:01:06
181
글번호 70475
아래 <1>, <2>, <3> 3가지 수식작성 요청드립니다.
<1번 수식>
1. 거래는 하루에 한 번만 하며, 거래시간은 오전 9시부터 오후 3시까지입니다.
2. 당일 오후 12시 현재의 가격이 전날 종가보다 낮을 경우에는 매수합니다.
<2번 수식>
1. 거래는 하루에 한 번만 하며, 거래시간은 오전 9시부터 오후 3시까지입니다.
2. 당일 오후 12시 현재 가격이 이틀 연속 상승일 때, 즉 어제 종가가 이틀 전 종가보다 높고, 오늘 12시 현재 가격이 어제 종가보다 높을 때 매수합니다.
3. 당일 오후 12시 현재 가격이 3일 연속 하락일 때, 즉 2일 전 종가가 3일 전 종가보다 낮고, 어제 종가가 2일 전 종가보다 낮고, 오늘 12시 현재 가격이 어제 종가보다 낮으면 매도청산합니다.
<3번 수식>
1. 거래는 하루에도 조건을 충족할 때마다 반복적으로 합니다.
2. 매매시간은 오전 9시 부터 오후3시 까지로 하고, 오늘 9시 현재 가격을 '최초 기준점'으로 합니다.
3. 현재가격이 '최초 기준점' 보다 1% 하락시 거래가능 금액[계좌에 있는 금액 중 거래가능한 금액을 뜻합니다. 만약 이런 식의 수식 작성이 어렵다면 일정금액(예를 들어 100만원)씩 매수하는 방식으로 작성부탁드립니다]의 5% 만큼 매수하고, '최초 기준점' 보다 1% 상승시 보유주식의 5%를 매도합니다.
4. '최초 기준점' 대비 1%상승 하거나 1%하락해 거래가 이루어진 후에는 그 가격을 '새로운 기준점'으로 삼습니다.
5. 이후 '새로운 기준점'을 기준으로 해서 다시금 1% 하락시 거래가능 금액(앞서와 마찬가지로 어려울 시 일정금액 기준작성 부탁드립니다)의 5%를 매수하고, 1% 상승시 보유 주식의 5%를 매도합니다. 단 이 때, 거래가능 금액과 보유주식이 당일 최초 거래시 보다 작아졌을 경우에는(최초 기준점을 기준으로 1%상승해서 보유주식을 매도했을 경우 주식의 보유량이 작아졌을 것이고, 1%하락해 주식을 매수했을 경우 거래가능 금액이 작아졌을 겁니다) 현재 시점의 거래가능금액의 5%나 보유주식의 5%가 아닌 최초 거래시의 거래가능 금액의 5%나 보유주식의 5%로 거래합니다. 즉, 간단히 말해 최초거래시와 현재 시점 중 주식이든 현금이든 보다 많은 양을 기준으로 5%씩 거래하는 것입니다.
6. 이런 방식으로 매 거래시마다 '기준점'을 바꾸면서 1% 상승과 하락시에 지속적으로 오후 3시까지 거래합니다.
이상입니다.
감사합니다^^
답변 2
예스스탁 예스스탁 답변
2013-12-16 14:04:39
안녕하세요
예스스탁입니다.
1.
var : cnt(0),count(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if count == 0 and stime == 120000 Then{
if C < DayClose(1) Then
buy();
}
2.
var : cnt(0),count(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if count == 0 and stime == 120000 Then{
if C > DayClose(1) and DayClose(1) > DayClose(2) Then
buy();
}
if MarketPosition == 1 and stime == 120000 Then{
if C < DayClose(1) and DayClose(1) < DayClose(2) and DayClose(2) < DayClose(2) Then
ExitLong();
}
3.
해당 내용 +-1% 등락에 따른 기준가를 재저장해야 하므로 봉완성시 종가로만 가능합니다.
종가로 기준점보다 1% 하락하면 매수, 1% 상승하면 매도 입니다
매수수량은 일정금액으로 산정합니다.
매도수량은 최초매수시의 수량의 5%만큼으로 계속 매도합니다.
적용시 매수를 누적하므로 피라미딩을 모든 진입신호허용으로 설정하고 적용하셔야 합니다.
input : 투입금액(1000000),UpdnPer(1);
var : vol(0),vol1(0),Xvol(0);
if CodeCategory == 1 Then{
if BasePrice < 50000 Then
vol = int(int(투입금액/C)/10)*10;
Else
vol = int(투입금액/C);
}
if CodeCategory == 2 Then
vol = int(투입금액/C);
if stime == 90000 Then
var1 = C;
if stime >= 090000 and stime < 150000 Then{
if MarketPosition == 0 and C <= var1*(1-(UpdnPer/100)) Then{
buy("b",OnClose,def,vol);
var1 = C;
}
if MarketPosition == 1 Then{
if MarketPosition != 0 Then{
Vol1 = CurrentContracts;
if CodeCategory == 1 Then{
if BasePrice < 50000 Then
xvol = int(int(Vol1*0.05)/10)*10;
Else
xvol = int(Vol1*0.05);
}
if CodeCategory == 2 Then
xvol = int(Vol1*0.05);
}
if C <= var1*(1-(UpdnPer/100)) Then{
buy("bb",OnClose,def,vol1);
var1 = C;
}
if C >= var1*(1+(UpdnPer/100)) Then{
ExitLong("bx",OnClose,def,"",xvol,2);
var1 = C;
}
}
}
즐거운 하루되세요
> 은색 님이 쓴 글입니다.
> 제목 : 수식작성 부탁드립니다
> 아래 <1>, <2>, <3> 3가지 수식작성 요청드립니다.
<1번 수식>
1. 거래는 하루에 한 번만 하며, 거래시간은 오전 9시부터 오후 3시까지입니다.
2. 당일 오후 12시 현재의 가격이 전날 종가보다 낮을 경우에는 매수합니다.
<2번 수식>
1. 거래는 하루에 한 번만 하며, 거래시간은 오전 9시부터 오후 3시까지입니다.
2. 당일 오후 12시 현재 가격이 이틀 연속 상승일 때, 즉 어제 종가가 이틀 전 종가보다 높고, 오늘 12시 현재 가격이 어제 종가보다 높을 때 매수합니다.
3. 당일 오후 12시 현재 가격이 3일 연속 하락일 때, 즉 2일 전 종가가 3일 전 종가보다 낮고, 어제 종가가 2일 전 종가보다 낮고, 오늘 12시 현재 가격이 어제 종가보다 낮으면 매도청산합니다.
<3번 수식>
1. 거래는 하루에도 조건을 충족할 때마다 반복적으로 합니다.
2. 매매시간은 오전 9시 부터 오후3시 까지로 하고, 오늘 9시 현재 가격을 '최초 기준점'으로 합니다.
3. 현재가격이 '최초 기준점' 보다 1% 하락시 거래가능 금액[계좌에 있는 금액 중 거래가능한 금액을 뜻합니다. 만약 이런 식의 수식 작성이 어렵다면 일정금액(예를 들어 100만원)씩 매수하는 방식으로 작성부탁드립니다]의 5% 만큼 매수하고, '최초 기준점' 보다 1% 상승시 보유주식의 5%를 매도합니다.
4. '최초 기준점' 대비 1%상승 하거나 1%하락해 거래가 이루어진 후에는 그 가격을 '새로운 기준점'으로 삼습니다.
5. 이후 '새로운 기준점'을 기준으로 해서 다시금 1% 하락시 거래가능 금액(앞서와 마찬가지로 어려울 시 일정금액 기준작성 부탁드립니다)의 5%를 매수하고, 1% 상승시 보유 주식의 5%를 매도합니다. 단 이 때, 거래가능 금액과 보유주식이 당일 최초 거래시 보다 작아졌을 경우에는(최초 기준점을 기준으로 1%상승해서 보유주식을 매도했을 경우 주식의 보유량이 작아졌을 것이고, 1%하락해 주식을 매수했을 경우 거래가능 금액이 작아졌을 겁니다) 현재 시점의 거래가능금액의 5%나 보유주식의 5%가 아닌 최초 거래시의 거래가능 금액의 5%나 보유주식의 5%로 거래합니다. 즉, 간단히 말해 최초거래시와 현재 시점 중 주식이든 현금이든 보다 많은 양을 기준으로 5%씩 거래하는 것입니다.
6. 이런 방식으로 매 거래시마다 '기준점'을 바꾸면서 1% 상승과 하락시에 지속적으로 오후 3시까지 거래합니다.
이상입니다.
감사합니다^^
은색
2013-12-16 16:36:07
주신 내용은 잘 보았습니다. 감사합니다.
3번 수식과 관련해서 "매도수량은 최초매수시의 수량의 5%만큼으로 계속 매도합니다"라고 작성해 주셨는데, 현재 주식 보유 수량과 최초매수시의 수량을 비교해서 보다 큰 쪽의 5%를 매도하는 걸로 수식을 작성해 주셨으면 합니다.
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식작성 부탁드립니다
> 안녕하세요
예스스탁입니다.
1.
var : cnt(0),count(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if count == 0 and stime == 120000 Then{
if C < DayClose(1) Then
buy();
}
2.
var : cnt(0),count(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if count == 0 and stime == 120000 Then{
if C > DayClose(1) and DayClose(1) > DayClose(2) Then
buy();
}
if MarketPosition == 1 and stime == 120000 Then{
if C < DayClose(1) and DayClose(1) < DayClose(2) and DayClose(2) < DayClose(2) Then
ExitLong();
}
3.
해당 내용 +-1% 등락에 따른 기준가를 재저장해야 하므로 봉완성시 종가로만 가능합니다.
종가로 기준점보다 1% 하락하면 매수, 1% 상승하면 매도 입니다
매수수량은 일정금액으로 산정합니다.
매도수량은 최초매수시의 수량의 5%만큼으로 계속 매도합니다.
적용시 매수를 누적하므로 피라미딩을 모든 진입신호허용으로 설정하고 적용하셔야 합니다.
input : 투입금액(1000000),UpdnPer(1);
var : vol(0),vol1(0),Xvol(0);
if CodeCategory == 1 Then{
if BasePrice < 50000 Then
vol = int(int(투입금액/C)/10)*10;
Else
vol = int(투입금액/C);
}
if CodeCategory == 2 Then
vol = int(투입금액/C);
if stime == 90000 Then
var1 = C;
if stime >= 090000 and stime < 150000 Then{
if MarketPosition == 0 and C <= var1*(1-(UpdnPer/100)) Then{
buy("b",OnClose,def,vol);
var1 = C;
}
if MarketPosition == 1 Then{
if MarketPosition != 0 Then{
Vol1 = CurrentContracts;
if CodeCategory == 1 Then{
if BasePrice < 50000 Then
xvol = int(int(Vol1*0.05)/10)*10;
Else
xvol = int(Vol1*0.05);
}
if CodeCategory == 2 Then
xvol = int(Vol1*0.05);
}
if C <= var1*(1-(UpdnPer/100)) Then{
buy("bb",OnClose,def,vol1);
var1 = C;
}
if C >= var1*(1+(UpdnPer/100)) Then{
ExitLong("bx",OnClose,def,"",xvol,2);
var1 = C;
}
}
}
즐거운 하루되세요
> 은색 님이 쓴 글입니다.
> 제목 : 수식작성 부탁드립니다
> 아래 <1>, <2>, <3> 3가지 수식작성 요청드립니다.
<1번 수식>
1. 거래는 하루에 한 번만 하며, 거래시간은 오전 9시부터 오후 3시까지입니다.
2. 당일 오후 12시 현재의 가격이 전날 종가보다 낮을 경우에는 매수합니다.
<2번 수식>
1. 거래는 하루에 한 번만 하며, 거래시간은 오전 9시부터 오후 3시까지입니다.
2. 당일 오후 12시 현재 가격이 이틀 연속 상승일 때, 즉 어제 종가가 이틀 전 종가보다 높고, 오늘 12시 현재 가격이 어제 종가보다 높을 때 매수합니다.
3. 당일 오후 12시 현재 가격이 3일 연속 하락일 때, 즉 2일 전 종가가 3일 전 종가보다 낮고, 어제 종가가 2일 전 종가보다 낮고, 오늘 12시 현재 가격이 어제 종가보다 낮으면 매도청산합니다.
<3번 수식>
1. 거래는 하루에도 조건을 충족할 때마다 반복적으로 합니다.
2. 매매시간은 오전 9시 부터 오후3시 까지로 하고, 오늘 9시 현재 가격을 '최초 기준점'으로 합니다.
3. 현재가격이 '최초 기준점' 보다 1% 하락시 거래가능 금액[계좌에 있는 금액 중 거래가능한 금액을 뜻합니다. 만약 이런 식의 수식 작성이 어렵다면 일정금액(예를 들어 100만원)씩 매수하는 방식으로 작성부탁드립니다]의 5% 만큼 매수하고, '최초 기준점' 보다 1% 상승시 보유주식의 5%를 매도합니다.
4. '최초 기준점' 대비 1%상승 하거나 1%하락해 거래가 이루어진 후에는 그 가격을 '새로운 기준점'으로 삼습니다.
5. 이후 '새로운 기준점'을 기준으로 해서 다시금 1% 하락시 거래가능 금액(앞서와 마찬가지로 어려울 시 일정금액 기준작성 부탁드립니다)의 5%를 매수하고, 1% 상승시 보유 주식의 5%를 매도합니다. 단 이 때, 거래가능 금액과 보유주식이 당일 최초 거래시 보다 작아졌을 경우에는(최초 기준점을 기준으로 1%상승해서 보유주식을 매도했을 경우 주식의 보유량이 작아졌을 것이고, 1%하락해 주식을 매수했을 경우 거래가능 금액이 작아졌을 겁니다) 현재 시점의 거래가능금액의 5%나 보유주식의 5%가 아닌 최초 거래시의 거래가능 금액의 5%나 보유주식의 5%로 거래합니다. 즉, 간단히 말해 최초거래시와 현재 시점 중 주식이든 현금이든 보다 많은 양을 기준으로 5%씩 거래하는 것입니다.
6. 이런 방식으로 매 거래시마다 '기준점'을 바꾸면서 1% 상승과 하락시에 지속적으로 오후 3시까지 거래합니다.
이상입니다.
감사합니다^^
다음글
이전글