커뮤니티
확인 부탁드립니다.
2012-07-01 20:23:12
281
글번호 52483
안녕하세요 장마가 시작되었네요~
아래 수식에 문제가 없는지 확인 부탁드리겠습니다.
1분봉에서 매매를 수행함
data2는 30분봉임
1분봉에서 시초가 매수를 하며 30분봉 스토케스틱 데드시 매수청산하려고 합니다.
(30분봉 스토케스틱은 실시간으로 보지 않고 참조 데이터를 이용하려고 합니다.)
7%, 10%, 20% 수익시 분할 청산
문제가 있는 부분이 있으면 수정 부탁드리겠습니다.
그리고 추가 수식 부탁드립니다.
1. 시초가 매수시 시초가가 5% 이상 갭상승이면 매수하지 않는 수식을 알려주세요.
2. 날짜를 지정해서 해당 날짜에만 매수가 되는 수식을 알려주세요.
매일 시초가 매수라서 이전에 매수된게 있으면 매수가 안될 수도 있기에
해당하는 날짜에만 매수가 되는 수식을 알고 싶습니다.
전일 150000에 atMarket이므로 전일을 지정해야 매수가 되는건지
아니면 매수되는 090000에 해당되는 날짜를 지정하면 되는지도 알려주세요~
3. 종목별 최근 일주일 평균 주가에 맞게 투입금액을 조절하는 수식을 알려주세요.
- 최근 일주일 평균 주가가 ~1000원 이하인 경우에는 투입금액 100만원
- 최근 일주일 평균 주가가 1000~10000원 이하인 경우에는 투입금액 300만원
- 최근 일주일 평균 주가가 10000~50000원 이하인 경우에는 투입금액 500만원
- 최근 일주일 평균 주가가 5만원~ 이상인 경우에는 투입금액 1000만원
4. 아래 수식을 돌리려면 챠트 봉수를 몇개를 설정하면 되는지 알려주세요.
감사합니다.
=============================================================================
input : 투입금액(5000000);
var : sell1(1.07), sell2(1.1), sell3(1.2);
var : StopPL(10);
var : Period1(60), Period2(36), Period3(36);
Var : 매수수량(0), 매도수량(0);
Var : StoK(0), StoD(0);
if CodeCategory == 1 Then{ #코스피
if BasePrice < 50000 Then
매수수량 = int(int(투입금액/C)/10)*10;
Else
매수수량 = int(투입금액/C);
}
if CodeCategory == 2 Then#코스닥
매수수량 = int(투입금액/C);
if MarketPosition == 0
then
{
if stime == 150000 Then
Buy("매수", AtMarket, DEF, 매수수량);
}
if MarketPosition == 1 then {
StoK = data2(StochasticsK(Period1, Period2));
StoD = data2(StochasticsD(Period1, Period2, Period3));
if stime < 144900 then {
if CodeCategory == 1 Then{
if BasePrice < 50000 Then {
매도수량 = int(int(MaxContracts*0.3)/10)*10;
}
Else {
매도수량 = int(MaxContracts*0.3);
}
}
if CodeCategory == 2 Then {
매도수량 = int(MaxContracts*0.3);
}
exitlong("수익1",atlimit,EntryPrice*sell1,"",매도수량,1);
exitlong("수익2",atlimit,EntryPrice*sell2,"",매도수량,1);
exitlong("수익3",atlimit,EntryPrice*sell3);
//스탑청산
exitlong("스탑청산",AtStop,EntryPrice*(1-(StopPL/100)));
if data2(CrossDown(StoK, StoD))
then
exitlong("정상청산");
}
if stime == 150000
and (data2(countif(crossdown(StoK, StoD),1)) >= 1)
Then
exitlong("익일청산",AtMarket);
}
답변 2
예스스탁 예스스탁 답변
2012-07-02 10:25:03
안녕하세요
예스스탁입니다.
input : N(5),금액1(1000000),금액2(3000000),금액3(5000000),금액4(10000000),전일날짜(20120701);
var : sell1(1.07), sell2(1.1), sell3(1.2);
var : StopPL(10);
var : Period1(60), Period2(36), Period3(36);
Var : 매수수량(0), 매도수량(0);
Var : StoK(0,data2), StoD(0,data2),sum(0,data1),cnt(0,data1),ap(0,data1),투입금액(0,data1);
sum = 0;
for cnt = 1 to 5{
sum = sum+DayClose(cnt);
}
ap = sum/N;#최근 N일 평균주가
if ap <= 1000 Then
투입금액 = 금액1;
if ap > 1000 and ap <= 10000 Then
투입금액 = 금액2;
if ap > 10000 and ap <= 50000 Then
투입금액 = 금액3;
if ap > 50000 Then
투입금액 = 금액4;
if CodeCategory == 1 Then{ #코스피
if BasePrice < 50000 Then
매수수량 = int(int(투입금액/C)/10)*10;
Else
매수수량 = int(투입금액/C);
}
if CodeCategory == 2 Then#코스닥
매수수량 = int(투입금액/C);
if MarketPosition == 0
then
{
if stime == 150000 and NextBarOpen < C*1.05 and sdate == 전일날짜 Then
Buy("매수", AtMarket, DEF, 매수수량);
}
StoK = data2(StochasticsK(Period1, Period2));
StoD = data2(StochasticsD(Period1, Period2, Period3));
if MarketPosition == 1 then {
if stime < 144900 then {
if CodeCategory == 1 Then{
if BasePrice < 50000 Then {
매도수량 = int(int(MaxContracts*0.3)/10)*10;
}
Else {
매도수량 = int(MaxContracts*0.3);
}
}
if CodeCategory == 2 Then {
매도수량 = int(MaxContracts*0.3);
}
exitlong("수익1",atlimit,EntryPrice*sell1,"",매도수량,1);
exitlong("수익2",atlimit,EntryPrice*sell2,"",매도수량,1);
exitlong("수익3",atlimit,EntryPrice*sell3);
//스탑청산
exitlong("스탑청산",AtStop,EntryPrice*(1-(StopPL/100)));
if data2(CrossDown(StoK, StoD))
then
exitlong("정상청산");
}
if stime == 150000
and (data2(countif(crossdown(StoK, StoD),1)) >= 1)
Then
exitlong("익일청산",AtMarket);
}
1.
5%이상 갭상시 진입하지 못하게 추가했습니다.
2.
오늘 장시작전 시스템을 적용사셔야 하며
전일마지막봉에 if만족시켜 오늘 시초가 수신시에 신호가 발생하므로
전일날짜(전거래일)를 입력해 주셔야 합니다.
3.
식안에 추가했습니다.
4. 5000개봉으로 설정하고 적용하시면 됩니다.
즐거운 하루되세요
> 엠제이 님이 쓴 글입니다.
> 제목 : 확인 부탁드립니다.
> 안녕하세요 장마가 시작되었네요~
아래 수식에 문제가 없는지 확인 부탁드리겠습니다.
1분봉에서 매매를 수행함
data2는 30분봉임
1분봉에서 시초가 매수를 하며 30분봉 스토케스틱 데드시 매수청산하려고 합니다.
(30분봉 스토케스틱은 실시간으로 보지 않고 참조 데이터를 이용하려고 합니다.)
7%, 10%, 20% 수익시 분할 청산
문제가 있는 부분이 있으면 수정 부탁드리겠습니다.
그리고 추가 수식 부탁드립니다.
1. 시초가 매수시 시초가가 5% 이상 갭상승이면 매수하지 않는 수식을 알려주세요.
2. 날짜를 지정해서 해당 날짜에만 매수가 되는 수식을 알려주세요.
매일 시초가 매수라서 이전에 매수된게 있으면 매수가 안될 수도 있기에
해당하는 날짜에만 매수가 되는 수식을 알고 싶습니다.
전일 150000에 atMarket이므로 전일을 지정해야 매수가 되는건지
아니면 매수되는 090000에 해당되는 날짜를 지정하면 되는지도 알려주세요~
3. 종목별 최근 일주일 평균 주가에 맞게 투입금액을 조절하는 수식을 알려주세요.
- 최근 일주일 평균 주가가 ~1000원 이하인 경우에는 투입금액 100만원
- 최근 일주일 평균 주가가 1000~10000원 이하인 경우에는 투입금액 300만원
- 최근 일주일 평균 주가가 10000~50000원 이하인 경우에는 투입금액 500만원
- 최근 일주일 평균 주가가 5만원~ 이상인 경우에는 투입금액 1000만원
4. 아래 수식을 돌리려면 챠트 봉수를 몇개를 설정하면 되는지 알려주세요.
감사합니다.
=============================================================================
input : 투입금액(5000000);
var : sell1(1.07), sell2(1.1), sell3(1.2);
var : StopPL(10);
var : Period1(60), Period2(36), Period3(36);
Var : 매수수량(0), 매도수량(0);
Var : StoK(0), StoD(0);
if CodeCategory == 1 Then{ #코스피
if BasePrice < 50000 Then
매수수량 = int(int(투입금액/C)/10)*10;
Else
매수수량 = int(투입금액/C);
}
if CodeCategory == 2 Then#코스닥
매수수량 = int(투입금액/C);
if MarketPosition == 0
then
{
if stime == 150000 Then
Buy("매수", AtMarket, DEF, 매수수량);
}
if MarketPosition == 1 then {
StoK = data2(StochasticsK(Period1, Period2));
StoD = data2(StochasticsD(Period1, Period2, Period3));
if stime < 144900 then {
if CodeCategory == 1 Then{
if BasePrice < 50000 Then {
매도수량 = int(int(MaxContracts*0.3)/10)*10;
}
Else {
매도수량 = int(MaxContracts*0.3);
}
}
if CodeCategory == 2 Then {
매도수량 = int(MaxContracts*0.3);
}
exitlong("수익1",atlimit,EntryPrice*sell1,"",매도수량,1);
exitlong("수익2",atlimit,EntryPrice*sell2,"",매도수량,1);
exitlong("수익3",atlimit,EntryPrice*sell3);
//스탑청산
exitlong("스탑청산",AtStop,EntryPrice*(1-(StopPL/100)));
if data2(CrossDown(StoK, StoD))
then
exitlong("정상청산");
}
if stime == 150000
and (data2(countif(crossdown(StoK, StoD),1)) >= 1)
Then
exitlong("익일청산",AtMarket);
}
엠제이
2012-07-02 11:11:19
친절한 답변 너무 감사드립니다.
귀사의 무궁한 발전을 기원드립니다~
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 확인 부탁드립니다.
> 안녕하세요
예스스탁입니다.
input : N(5),금액1(1000000),금액2(3000000),금액3(5000000),금액4(10000000),전일날짜(20120701);
var : sell1(1.07), sell2(1.1), sell3(1.2);
var : StopPL(10);
var : Period1(60), Period2(36), Period3(36);
Var : 매수수량(0), 매도수량(0);
Var : StoK(0,data2), StoD(0,data2),sum(0,data1),cnt(0,data1),ap(0,data1),투입금액(0,data1);
sum = 0;
for cnt = 1 to 5{
sum = sum+DayClose(cnt);
}
ap = sum/N;#최근 N일 평균주가
if ap <= 1000 Then
투입금액 = 금액1;
if ap > 1000 and ap <= 10000 Then
투입금액 = 금액2;
if ap > 10000 and ap <= 50000 Then
투입금액 = 금액3;
if ap > 50000 Then
투입금액 = 금액4;
if CodeCategory == 1 Then{ #코스피
if BasePrice < 50000 Then
매수수량 = int(int(투입금액/C)/10)*10;
Else
매수수량 = int(투입금액/C);
}
if CodeCategory == 2 Then#코스닥
매수수량 = int(투입금액/C);
if MarketPosition == 0
then
{
if stime == 150000 and NextBarOpen < C*1.05 and sdate == 전일날짜 Then
Buy("매수", AtMarket, DEF, 매수수량);
}
StoK = data2(StochasticsK(Period1, Period2));
StoD = data2(StochasticsD(Period1, Period2, Period3));
if MarketPosition == 1 then {
if stime < 144900 then {
if CodeCategory == 1 Then{
if BasePrice < 50000 Then {
매도수량 = int(int(MaxContracts*0.3)/10)*10;
}
Else {
매도수량 = int(MaxContracts*0.3);
}
}
if CodeCategory == 2 Then {
매도수량 = int(MaxContracts*0.3);
}
exitlong("수익1",atlimit,EntryPrice*sell1,"",매도수량,1);
exitlong("수익2",atlimit,EntryPrice*sell2,"",매도수량,1);
exitlong("수익3",atlimit,EntryPrice*sell3);
//스탑청산
exitlong("스탑청산",AtStop,EntryPrice*(1-(StopPL/100)));
if data2(CrossDown(StoK, StoD))
then
exitlong("정상청산");
}
if stime == 150000
and (data2(countif(crossdown(StoK, StoD),1)) >= 1)
Then
exitlong("익일청산",AtMarket);
}
1.
5%이상 갭상시 진입하지 못하게 추가했습니다.
2.
오늘 장시작전 시스템을 적용사셔야 하며
전일마지막봉에 if만족시켜 오늘 시초가 수신시에 신호가 발생하므로
전일날짜(전거래일)를 입력해 주셔야 합니다.
3.
식안에 추가했습니다.
4. 5000개봉으로 설정하고 적용하시면 됩니다.
즐거운 하루되세요
> 엠제이 님이 쓴 글입니다.
> 제목 : 확인 부탁드립니다.
> 안녕하세요 장마가 시작되었네요~
아래 수식에 문제가 없는지 확인 부탁드리겠습니다.
1분봉에서 매매를 수행함
data2는 30분봉임
1분봉에서 시초가 매수를 하며 30분봉 스토케스틱 데드시 매수청산하려고 합니다.
(30분봉 스토케스틱은 실시간으로 보지 않고 참조 데이터를 이용하려고 합니다.)
7%, 10%, 20% 수익시 분할 청산
문제가 있는 부분이 있으면 수정 부탁드리겠습니다.
그리고 추가 수식 부탁드립니다.
1. 시초가 매수시 시초가가 5% 이상 갭상승이면 매수하지 않는 수식을 알려주세요.
2. 날짜를 지정해서 해당 날짜에만 매수가 되는 수식을 알려주세요.
매일 시초가 매수라서 이전에 매수된게 있으면 매수가 안될 수도 있기에
해당하는 날짜에만 매수가 되는 수식을 알고 싶습니다.
전일 150000에 atMarket이므로 전일을 지정해야 매수가 되는건지
아니면 매수되는 090000에 해당되는 날짜를 지정하면 되는지도 알려주세요~
3. 종목별 최근 일주일 평균 주가에 맞게 투입금액을 조절하는 수식을 알려주세요.
- 최근 일주일 평균 주가가 ~1000원 이하인 경우에는 투입금액 100만원
- 최근 일주일 평균 주가가 1000~10000원 이하인 경우에는 투입금액 300만원
- 최근 일주일 평균 주가가 10000~50000원 이하인 경우에는 투입금액 500만원
- 최근 일주일 평균 주가가 5만원~ 이상인 경우에는 투입금액 1000만원
4. 아래 수식을 돌리려면 챠트 봉수를 몇개를 설정하면 되는지 알려주세요.
감사합니다.
=============================================================================
input : 투입금액(5000000);
var : sell1(1.07), sell2(1.1), sell3(1.2);
var : StopPL(10);
var : Period1(60), Period2(36), Period3(36);
Var : 매수수량(0), 매도수량(0);
Var : StoK(0), StoD(0);
if CodeCategory == 1 Then{ #코스피
if BasePrice < 50000 Then
매수수량 = int(int(투입금액/C)/10)*10;
Else
매수수량 = int(투입금액/C);
}
if CodeCategory == 2 Then#코스닥
매수수량 = int(투입금액/C);
if MarketPosition == 0
then
{
if stime == 150000 Then
Buy("매수", AtMarket, DEF, 매수수량);
}
if MarketPosition == 1 then {
StoK = data2(StochasticsK(Period1, Period2));
StoD = data2(StochasticsD(Period1, Period2, Period3));
if stime < 144900 then {
if CodeCategory == 1 Then{
if BasePrice < 50000 Then {
매도수량 = int(int(MaxContracts*0.3)/10)*10;
}
Else {
매도수량 = int(MaxContracts*0.3);
}
}
if CodeCategory == 2 Then {
매도수량 = int(MaxContracts*0.3);
}
exitlong("수익1",atlimit,EntryPrice*sell1,"",매도수량,1);
exitlong("수익2",atlimit,EntryPrice*sell2,"",매도수량,1);
exitlong("수익3",atlimit,EntryPrice*sell3);
//스탑청산
exitlong("스탑청산",AtStop,EntryPrice*(1-(StopPL/100)));
if data2(CrossDown(StoK, StoD))
then
exitlong("정상청산");
}
if stime == 150000
and (data2(countif(crossdown(StoK, StoD),1)) >= 1)
Then
exitlong("익일청산",AtMarket);
}