커뮤니티
부탁합니다
2013-12-06 13:13:59
215
글번호 70199
다시 처음부터 해볼까 합니다
장 시작에서
주가가 시가위에 있으면 매수--1
주가가 시가아래있으면 매도--1
주가가 시가 위에 있다가 내려와서 시가를 터치하고 양봉출련하면(도지는 아님) 매수--2
주가가 시가 아래 있다가 올라와서 시가를 터치하고 음봉출련하면(도지는 아님) 매도-2
매수 매도는 한글로 표시 부탁합니다
첫번째 반대신호 패스 시스템
1포 이상 수익에서는 반대신호는 한번 패스 입니다
현 신호를 유지 하는 쪽으로 했으면 합니다
두번째 신호에서는 신호가 나와야 겠죠
청산신호 시스템은
0.5포이하에서는 매수가 익절
0.5포 이상 1포 이하에서는 수익권에 50% 내려오면 익절
1포 이상에서는 1분차트에서 10일 이평선 이탈시 청산(비교차트 사용할 예정 매매는 30분봉매매시)
답변 2
예스스탁 예스스탁 답변
2013-12-06 16:16:27
안녕하세요
예스스탁입니다.
올리신 글 중 청산1번은 수익이 0.5포인트 되기전에는 진입가에서 청산이므로
실제로 진입진입후 바로 나올수 있는 내용입니다.
1번 진입이 단수 시가보다 크다 작다이므로 진입이 많이 나오므로
해당 청산은 식에 추가는 했지만 우선 주석으로 막아 놓았습니다.
var : cnt(0),count(0),Bcond1(false),Bcond2(false),Scond1(false),Scond2(false);
input : Atime(10),P1(10);#10분봉의 10이동평균
var : sum1(0),mav1(0);
Array : CC[100](0);
var1 = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
sum1 = 0;
for count = 0 to P1-1{
sum1 = sum1+CC[count];
}
mav1 = sum1/P1;
Bcond1 = C > dayopen;
Bcond2 = dayindex > 0 and C > C[1] and C > O and C > dayopen and C > H[1] and C[1] < O[1] and CrossDown(c[1],dayopen);
Scond1 = C < dayopen;
Scond2 = dayindex > 0 and C < C[1] and C < O and C < dayopen and C < L[1] and C[1] > O[1] and CrossUp(c[1],dayopen);
if Bcond1 == true Then{
if MarketPosition == 0 Or
(MarketPosition == -1 and lowest(L,BarsSinceEntry) > EntryPrice-1) Or
(MarketPosition == -1 and lowest(L,BarsSinceEntry) <= EntryPrice-1 and countif(Bcond1,BarsSinceEntry) == 2) Then
buy("매수1");
}
if Bcond2 == true Then{
if MarketPosition == 0 Or
(MarketPosition == -1 and lowest(L,BarsSinceEntry) > EntryPrice-1) Or
(MarketPosition == -1 and lowest(L,BarsSinceEntry) <= EntryPrice-1 and countif(Bcond2,BarsSinceEntry) == 2) Then
buy("매수2");
}
if Scond1 == true Then{
if MarketPosition == 0 Or
(MarketPosition == 1 and highest(H,BarsSinceEntry) < EntryPrice+1) Or
(MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+1 and countif(Scond1,BarsSinceEntry) == 2) Then
Sell("매도1");
}
if Scond2 == true Then{
if MarketPosition == 0 Or
(MarketPosition == 1 and highest(H,BarsSinceEntry) < EntryPrice+1) Or
(MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+1 and countif(Scond2,BarsSinceEntry) == 2) Then
Sell("매도2");
}
if MarketPosition == 1 Then{
#if highest(H,BarsSinceEntry) > EntryPrice and highest(H,BarsSinceEntry) < EntryPrice+0.5 Then
# ExitLong("bx1",AtStop,EntryPrice);
if highest(H,BarsSinceEntry) >= EntryPrice+0.5 and highest(H,BarsSinceEntry) <= EntryPrice+1.0 Then
ExitLong("bx2",AtStop,highest(H,BarsSinceEntry)-(highest(H,BarsSinceEntry)-EntryPrice)*0.5);
if CrossDown(c,mav1) Then
ExitLong("bx3");
}
if MarketPosition == -1 Then{
#if lowest(L,BarsSinceEntry) < EntryPrice and lowest(L,BarsSinceEntry) > EntryPrice-0.5 Then
# ExitShort("sx1",AtStop,EntryPrice);
if lowest(L,BarsSinceEntry) <= EntryPrice-0.5 and lowest(L,BarsSinceEntry) >= EntryPrice-1.0 Then
ExitShort("sx2",AtStop,lowest(L,BarsSinceEntry)+(EntryPrice-lowest(L,BarsSinceEntry))*0.5);
if CrossUp(c,mav1) Then
ExitShort("sx3");
}
즐거운 하루되세요
> 정소장 님이 쓴 글입니다.
> 제목 : 부탁합니다
> 다시 처음부터 해볼까 합니다
장 시작에서
주가가 시가위에 있으면 매수--1
주가가 시가아래있으면 매도--1
주가가 시가 위에 있다가 내려와서 시가를 터치하고 양봉출련하면(도지는 아님) 매수--2
주가가 시가 아래 있다가 올라와서 시가를 터치하고 음봉출련하면(도지는 아님) 매도-2
매수 매도는 한글로 표시 부탁합니다
첫번째 반대신호 패스 시스템
1포 이상 수익에서는 반대신호는 한번 패스 입니다
현 신호를 유지 하는 쪽으로 했으면 합니다
두번째 신호에서는 신호가 나와야 겠죠
청산신호 시스템은
0.5포이하에서는 매수가 익절
0.5포 이상 1포 이하에서는 수익권에 50% 내려오면 익절
1포 이상에서는 1분차트에서 10일 이평선 이탈시 청산(비교차트 사용할 예정 매매는 30분봉매매시)
예스스탁 예스스탁 답변
2013-12-06 19:19:39
안녕하세요
예스스탁입니다.
input : Atime(10),P1(10);#10분봉의 10이동평균
var : cnt(0),count(0),Bcond1(false),Bcond2(false),Scond1(false),Scond2(false);
var : sum1(0),mav1(0);
Array : CC[100](0);
#현재시간을 밤 0시이후의 경과된 분수로 변경후 10으로 나누어 나머지값을 구함
#var1이 0값이 나오면 10분봉에서의 첫봉을 의미
var1 = TimeToMinutes(stime)%Atime;
#CC[0]은 10분 간격의 종가를 저장하는 배열변수인데
#첫봉이거나 10분봉 간격의 첫봉이 생기면
#기존의 10분 간격의 종가를 다음 방에 넘겨 이전봉의 종가로 저장
#[0] --> [1] --> [2] -->[3]...
if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
}
}
#10분간격의 종가값
CC[0] = C;
# CC의 10개 방의 값을 모아 합산
sum1 = 0;
for count = 0 to P1-1{
sum1 = sum1+CC[count];
}
#합산된 값을 10으로 나누어 10분봉의 10이평값을 계산
mav1 = sum1/P1;
#매수조건1 -종가가 시초가 보다 큼
Bcond1 = C > dayopen;
#매수조건2
#종가가 시초가를 하향했다가 상승함. 하향한봉은 음봉이고 현재봉은 양봉이며 현재봉 종가가 음봉의 고가보다 큼
Bcond2 = dayindex > 0 and C > C[1] and C > O and C > dayopen and C > H[1] and C[1] < O[1] and CrossDown(c[1],dayopen);
#매도조건1 - 종가가 시초가 보다 작음
Scond1 = C < dayopen;
#매도조건2
#종가가 시초가를 상향했다가 상승함. 상향한봉은 양봉이고 현재봉은 음봉이며 현재봉 종가가 양봉의 저가보다 작음
Scond2 = dayindex > 0 and C < C[1] and C < O and C < dayopen and C < L[1] and C[1] > O[1] and CrossUp(c[1],dayopen);
#현재 매수조건1이 만족하고
#무포지션이거나
#매도포지션인데 1포인트 수익이 나지 않고 있거나
#1포인트 수익이 났으면 2번째 조건만족할 때
#매수1
if Bcond1 == true Then{
if MarketPosition == 0 Or
(MarketPosition == -1 and lowest(L,BarsSinceEntry) > EntryPrice-1) Or
(MarketPosition == -1 and lowest(L,BarsSinceEntry) <= EntryPrice-1 and countif(Bcond1,BarsSinceEntry) == 2) Then
buy("매수1");
}
#현재 매수조건2가 만족하고
#무포지션이거나
#매도포지션인데 1포인트 수익이 나지 않고 있거나
#1포인트 수익이 났으면 2번째 조건만족할 때
#매수2
if Bcond2 == true Then{
if MarketPosition == 0 Or
(MarketPosition == -1 and lowest(L,BarsSinceEntry) > EntryPrice-1) Or
(MarketPosition == -1 and lowest(L,BarsSinceEntry) <= EntryPrice-1 and countif(Bcond2,BarsSinceEntry) == 2) Then
buy("매수2");
}
#현재 매도조건1이 만족하고
#무포지션이거나
#매수포지션인데 1포인트 수익이 나지 않고 있거나
#1포인트 수익이 났으면 2번째 조건만족할 때
#매도1
if Scond1 == true Then{
if MarketPosition == 0 Or
(MarketPosition == 1 and highest(H,BarsSinceEntry) < EntryPrice+1) Or
(MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+1 and countif(Scond1,BarsSinceEntry) == 2) Then
Sell("매도1");
}
#현재 매도조건2이 만족하고
#무포지션이거나
#매수포지션인데 1포인트 수익이 나지 않고 있거나
#1포인트 수익이 났으면 2번째 조건만족할 때
#매도2
if Scond2 == true Then{
if MarketPosition == 0 Or
(MarketPosition == 1 and highest(H,BarsSinceEntry) < EntryPrice+1) Or
(MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+1 and countif(Scond2,BarsSinceEntry) == 2) Then
Sell("매도2");
}
#매수청산식
#bx1 = 진입후 0.5이상 수익발생없이 진입가 까지 하락하면 청산
#bx2 = 진입후 0.5~1.0사이 수익발생하고 수익이 절반 감소하면 청산
#bx3 = 10분봉 10이평을 하향하면 청산
if MarketPosition == 1 Then{
#if highest(H,BarsSinceEntry) > EntryPrice and highest(H,BarsSinceEntry) < EntryPrice+0.5 Then
# ExitLong("bx1",AtStop,EntryPrice);
if highest(H,BarsSinceEntry) >= EntryPrice+0.5 and highest(H,BarsSinceEntry) <= EntryPrice+1.0 Then
ExitLong("bx2",AtStop,highest(H,BarsSinceEntry)-(highest(H,BarsSinceEntry)-EntryPrice)*0.5);
if CrossDown(c,mav1) Then
ExitLong("bx3");
}
#매수청산식
#sx1 = 진입후 0.5이상 수익발생없이 진입가 까지 상승하면 청산
#sx2 = 진입후 0.5~1.0사이 수익발생하고 수익이 절반 감소하면 청산
#sx3 = 10분봉 10이평을 상향하면 청산
if MarketPosition == -1 Then{
#if lowest(L,BarsSinceEntry) < EntryPrice and lowest(L,BarsSinceEntry) > EntryPrice-0.5 Then
# ExitShort("sx1",AtStop,EntryPrice);
if lowest(L,BarsSinceEntry) <= EntryPrice-0.5 and lowest(L,BarsSinceEntry) >= EntryPrice-1.0 Then
ExitShort("sx2",AtStop,lowest(L,BarsSinceEntry)+(EntryPrice-lowest(L,BarsSinceEntry))*0.5);
if CrossUp(c,mav1) Then
ExitShort("sx3");
}
즐거운 하루되세요
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 부탁합니다
> 안녕하세요
예스스탁입니다.
올리신 글 중 청산1번은 수익이 0.5포인트 되기전에는 진입가에서 청산이므로
실제로 진입진입후 바로 나올수 있는 내용입니다.
1번 진입이 단수 시가보다 크다 작다이므로 진입이 많이 나오므로
해당 청산은 식에 추가는 했지만 우선 주석으로 막아 놓았습니다.
var : cnt(0),count(0),Bcond1(false),Bcond2(false),Scond1(false),Scond2(false);
input : Atime(10),P1(10);#10분봉의 10이동평균
var : sum1(0),mav1(0);
Array : CC[100](0);
var1 = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
sum1 = 0;
for count = 0 to P1-1{
sum1 = sum1+CC[count];
}
mav1 = sum1/P1;
Bcond1 = C > dayopen;
Bcond2 = dayindex > 0 and C > C[1] and C > O and C > dayopen and C > H[1] and C[1] < O[1] and CrossDown(c[1],dayopen);
Scond1 = C < dayopen;
Scond2 = dayindex > 0 and C < C[1] and C < O and C < dayopen and C < L[1] and C[1] > O[1] and CrossUp(c[1],dayopen);
if Bcond1 == true Then{
if MarketPosition == 0 Or
(MarketPosition == -1 and lowest(L,BarsSinceEntry) > EntryPrice-1) Or
(MarketPosition == -1 and lowest(L,BarsSinceEntry) <= EntryPrice-1 and countif(Bcond1,BarsSinceEntry) == 2) Then
buy("매수1");
}
if Bcond2 == true Then{
if MarketPosition == 0 Or
(MarketPosition == -1 and lowest(L,BarsSinceEntry) > EntryPrice-1) Or
(MarketPosition == -1 and lowest(L,BarsSinceEntry) <= EntryPrice-1 and countif(Bcond2,BarsSinceEntry) == 2) Then
buy("매수2");
}
if Scond1 == true Then{
if MarketPosition == 0 Or
(MarketPosition == 1 and highest(H,BarsSinceEntry) < EntryPrice+1) Or
(MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+1 and countif(Scond1,BarsSinceEntry) == 2) Then
Sell("매도1");
}
if Scond2 == true Then{
if MarketPosition == 0 Or
(MarketPosition == 1 and highest(H,BarsSinceEntry) < EntryPrice+1) Or
(MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+1 and countif(Scond2,BarsSinceEntry) == 2) Then
Sell("매도2");
}
if MarketPosition == 1 Then{
#if highest(H,BarsSinceEntry) > EntryPrice and highest(H,BarsSinceEntry) < EntryPrice+0.5 Then
# ExitLong("bx1",AtStop,EntryPrice);
if highest(H,BarsSinceEntry) >= EntryPrice+0.5 and highest(H,BarsSinceEntry) <= EntryPrice+1.0 Then
ExitLong("bx2",AtStop,highest(H,BarsSinceEntry)-(highest(H,BarsSinceEntry)-EntryPrice)*0.5);
if CrossDown(c,mav1) Then
ExitLong("bx3");
}
if MarketPosition == -1 Then{
#if lowest(L,BarsSinceEntry) < EntryPrice and lowest(L,BarsSinceEntry) > EntryPrice-0.5 Then
# ExitShort("sx1",AtStop,EntryPrice);
if lowest(L,BarsSinceEntry) <= EntryPrice-0.5 and lowest(L,BarsSinceEntry) >= EntryPrice-1.0 Then
ExitShort("sx2",AtStop,lowest(L,BarsSinceEntry)+(EntryPrice-lowest(L,BarsSinceEntry))*0.5);
if CrossUp(c,mav1) Then
ExitShort("sx3");
}
즐거운 하루되세요
> 정소장 님이 쓴 글입니다.
> 제목 : 부탁합니다
> 다시 처음부터 해볼까 합니다
장 시작에서
주가가 시가위에 있으면 매수--1
주가가 시가아래있으면 매도--1
주가가 시가 위에 있다가 내려와서 시가를 터치하고 양봉출련하면(도지는 아님) 매수--2
주가가 시가 아래 있다가 올라와서 시가를 터치하고 음봉출련하면(도지는 아님) 매도-2
매수 매도는 한글로 표시 부탁합니다
첫번째 반대신호 패스 시스템
1포 이상 수익에서는 반대신호는 한번 패스 입니다
현 신호를 유지 하는 쪽으로 했으면 합니다
두번째 신호에서는 신호가 나와야 겠죠
청산신호 시스템은
0.5포이하에서는 매수가 익절
0.5포 이상 1포 이하에서는 수익권에 50% 내려오면 익절
1포 이상에서는 1분차트에서 10일 이평선 이탈시 청산(비교차트 사용할 예정 매매는 30분봉매매시)