커뮤니티
통화후에 다시 문의드립니다
2016-05-17 15:52:39
106
글번호 98177
수식 만들어주셔서 감사합니다!!!
47490과련해 통화를 했던 사람입니다.
적용해 보았는데 매매가 안되어서 다시 문의드립니다.
종목은 gs건설 입니다.
2016/01/08 부터 적용해서
매매가 되게 수정을 부탁드립니다.
그리고 위의 시스템식을
지표로 나태날수 있는지 궁금합니다.
지표로 현재 어떻게 설정이 되어 있는지 알아야 수정보완이 쉬울것 같습니다
아래는 답글입니다
------------------------------------
안녕하세요
예스스탁입니다.
아래 내용이 맞을지 모르겠습니다.
주석 참고하시기 바랍니다.
input : 매수1차(10000000),매수2차(1500000),매수3차(2000000);
var : T(0),HH(0),Price1(0),Price2(0),Price3(0),diff(0);
var1 = ma(C,20);
#이평 데드되었다가 골드되면 최고폭저장변수는 0으로 초기화
if crossup(C,var1) Then{
T = 1;
HH = 0;
}
if CrossDown(C,var1) Then
T = -1;
#20이평 위에서만 신고가 갱신시 최대폭을 구함
if T == 1 and crossup(c,Highest(H,20)[1]) Then{
#최근 폭
diff = HH;
#이평위에서 최대폭과 매수가격
if diff > HH Then{
HH = diff;
Price1 = H-HH*1;
Price2 = H-HH*2;
Price3 = H-HH*3;
}
}
#가격이 하락해 1차매수가격 이하이면 매수
if MarketPosition == 0 and Price1 > 0 Then
buy("b1",atlimit,Price1,Floor(매수1차/C));
#가격이 하락해 2차매수가격 이하이면 매수
if MarketPosition == 1 and MaxEntries == 1 and Price2 > 0 Then
buy("b2",atlimit,Price2,Floor(매수2차/C));
#가격이 하락해 3차매수가격 이하이면 매수
if MarketPosition == 1 and MaxEntries == 2 and Price3 > 0 Then
buy("b3",atlimit,Price3,Floor(매수3차/C));
if MarketPosition == 1 Then{
#진입이후로 한번도 20선 아래로 내려가지 않은경우
#진입이후 최저가에서 폭만큼 상승하면 청산
if countif(C<var1,BarsSinceEntry) == 0 Then
ExitLong("bx1",atlimit,lowest(L,BarsSinceEntry)+diff);
#진입이후로 20선 아래로 한번이상 내려간 경우
#진입이후 최저가에서 폭의 절반만큼 상승하면 청산
if countif(C<var1,BarsSinceEntry) == 0 Then
ExitLong("bx2",atlimit,lowest(L,BarsSinceEntry)+diff*0.5);
#일괄매도 = 현재 20일 신고가 이후 최저가 + 최대폭(75%)
ExitLong("일괄매도",atlimit,lowest(L,BarsSinceEntry)+diff*0.75);
}
즐거운 하루되세요
답변 1
예스스탁 예스스탁 답변
2016-05-17 18:48:16
안녕하세요
예스스탁입니다.
변수가 잘못지정된 부분이 있어 수정했습니다.
2번식으로 지표식도 같이 올려드립니다.
시스템 적용시 시스템 트레이딩 설정창의 매매탭에서
피라미딩을 다른진입신호만 허용으로 설정하고 적용하시기 바랍니다.
1.
input : 시작날짜(20160108),매수1차(10000000),매수2차(1500000),매수3차(2000000);
var : T(0),HH(0),Price1(0),Price2(0),Price3(0),diff(0);
var1 = ma(C,20);
if sdate >= 시작날짜 then{
#이평 데드되었다가 골드되면 최고폭저장변수는 0으로 초기화
if crossup(C,var1) Then{
T = 1;
HH = 0;
}
if CrossDown(C,var1) Then{
T = -1;
Condition1 = false;
}
#20이평 위에서만 신고가 갱신시 최대폭을 구함
if T == 1 and H > Highest(H,20)[1] Then{
#최근 폭
diff = HH;
Condition1 = true;
#이평위에서 최대폭과 매수가격
if H-L > HH Then{
HH = H-L;
}
Price1 = H-HH*1;
Price2 = H-HH*2;
Price3 = H-HH*3;
}
if MarketPosition == 1 Then
Condition1 = false;
#가격이 하락해 1차매수가격 이하이면 매수
if MarketPosition == 0 and Price1 > 0 and Condition1 == true Then
buy("b1",atlimit,Price1,Floor(매수1차/C));
#가격이 하락해 2차매수가격 이하이면 매수
if MarketPosition == 1 and MaxEntries == 1 and Price2 > 0 Then
buy("b2",atlimit,Price2,Floor(매수2차/C));
#가격이 하락해 3차매수가격 이하이면 매수
if MarketPosition == 1 and MaxEntries == 2 and Price3 > 0 Then
buy("b3",atlimit,Price3,Floor(매수3차/C));
if MarketPosition == 1 Then{
#진입이후로 한번도 20선 아래로 내려가지 않은경우
#진입이후 최저가에서 폭만큼 상승하면 청산
if countif(C<var1,BarsSinceEntry) == 0 Then
ExitLong("bx1",atlimit,lowest(L,BarsSinceEntry)+diff);
#진입이후로 20선 아래로 한번이상 내려간 경우
#진입이후 최저가에서 폭의 절반만큼 상승하면 청산
if countif(C<var1,BarsSinceEntry) == 0 Then
ExitLong("bx2",atlimit,lowest(L,BarsSinceEntry)+diff*0.5);
#일괄매도 = 현재 20일 신고가 이후 최저가 + 최대폭(75%)
ExitLong("일괄매도",atlimit,lowest(L,BarsSinceEntry)+diff*0.75);
}
}
2 지표
input : 매수1차(10000000),매수2차(1500000),매수3차(2000000);
var : T(0),HH(0),Price1(0),Price2(0),Price3(0),diff(0);
var1 = ma(C,20);
#이평 데드되었다가 골드되면 최고폭저장변수는 0으로 초기화
if crossup(C,var1) Then{
T = 1;
HH = 0;
}
if CrossDown(C,var1) Then
T = -1;
#20이평 위에서만 신고가 갱신시 최대폭을 구함
if T == 1 and H > Highest(H,20)[1] Then{
#최근 폭
diff = HH;
#이평위에서 최대폭과 매수가격
if H-L > HH Then{
HH = H-L;
}
Price1 = H-HH*1;
Price2 = H-HH*2;
Price3 = H-HH*3;
}
plot1(Price1);
plot2(Price2);
plot3(Price3);
즐거운 하루되세요
> 단순점진일관 님이 쓴 글입니다.
> 제목 : 통화후에 다시 문의드립니다
> 수식 만들어주셔서 감사합니다!!!
47490과련해 통화를 했던 사람입니다.
적용해 보았는데 매매가 안되어서 다시 문의드립니다.
종목은 gs건설 입니다.
2016/01/08 부터 적용해서
매매가 되게 수정을 부탁드립니다.
그리고 위의 시스템식을
지표로 나태날수 있는지 궁금합니다.
지표로 현재 어떻게 설정이 되어 있는지 알아야 수정보완이 쉬울것 같습니다
아래는 답글입니다
------------------------------------
안녕하세요
예스스탁입니다.
아래 내용이 맞을지 모르겠습니다.
주석 참고하시기 바랍니다.
input : 매수1차(10000000),매수2차(1500000),매수3차(2000000);
var : T(0),HH(0),Price1(0),Price2(0),Price3(0),diff(0);
var1 = ma(C,20);
#이평 데드되었다가 골드되면 최고폭저장변수는 0으로 초기화
if crossup(C,var1) Then{
T = 1;
HH = 0;
}
if CrossDown(C,var1) Then
T = -1;
#20이평 위에서만 신고가 갱신시 최대폭을 구함
if T == 1 and crossup(c,Highest(H,20)[1]) Then{
#최근 폭
diff = HH;
#이평위에서 최대폭과 매수가격
if diff > HH Then{
HH = diff;
Price1 = H-HH*1;
Price2 = H-HH*2;
Price3 = H-HH*3;
}
}
#가격이 하락해 1차매수가격 이하이면 매수
if MarketPosition == 0 and Price1 > 0 Then
buy("b1",atlimit,Price1,Floor(매수1차/C));
#가격이 하락해 2차매수가격 이하이면 매수
if MarketPosition == 1 and MaxEntries == 1 and Price2 > 0 Then
buy("b2",atlimit,Price2,Floor(매수2차/C));
#가격이 하락해 3차매수가격 이하이면 매수
if MarketPosition == 1 and MaxEntries == 2 and Price3 > 0 Then
buy("b3",atlimit,Price3,Floor(매수3차/C));
if MarketPosition == 1 Then{
#진입이후로 한번도 20선 아래로 내려가지 않은경우
#진입이후 최저가에서 폭만큼 상승하면 청산
if countif(C<var1,BarsSinceEntry) == 0 Then
ExitLong("bx1",atlimit,lowest(L,BarsSinceEntry)+diff);
#진입이후로 20선 아래로 한번이상 내려간 경우
#진입이후 최저가에서 폭의 절반만큼 상승하면 청산
if countif(C<var1,BarsSinceEntry) == 0 Then
ExitLong("bx2",atlimit,lowest(L,BarsSinceEntry)+diff*0.5);
#일괄매도 = 현재 20일 신고가 이후 최저가 + 최대폭(75%)
ExitLong("일괄매도",atlimit,lowest(L,BarsSinceEntry)+diff*0.75);
}
즐거운 하루되세요
다음글
이전글