커뮤니티
수식 수정부탁합니다
2019-05-06 22:41:10
210
글번호 128430
이평으로 매수한 것은 이평 데드크로스시 매도하고 싶고,
스톡으로 매수한건 스톡 데드크로스시 매도하고 싶은데,
스톡 매수후, 이평으로 추가 매수되었을 때..
스톡매도 조건이 되면 2포지션 다 매도처리가 됩니다. 수식변경 부탁드립니다.
파라미딩은 이평이든, 스톡이든 조건이 되면 모두 매수할 수 있도록
다른 진입 신호만 허용으로 설정하였습니다
input : ntime1(60),P1(20),P2(60);
input : sto1(25),sto2(6),sto3(6);
Input : shortPeriod(20), longPeriod(60);
var : cnt(0),sum1(0),sum2(0),mav1(0),mav2(0);
var : S1(0),D1(0),TM(0),TF(0);
var : stok(0),stod(0);
Array : C1[100](0);
stok = StochasticsK(sto1,sto2);
stod = StochasticsD(sto1,sto2,sto3);
sum1 = 0;
sum2 = 0;
for cnt = 0 to P2
{
if cnt < P1 Then
sum1 = sum1 + DayClose(cnt);
if cnt < P2 Then
sum2 = sum2 + DayClose(cnt);
}
mav1 = sum1/P1;
mav2 = sum2/P2;
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
# 이평 매수
if mav1 > mav2 and crossup(value1,value2) Then
buy("이평매수");
# 스톡 매수
if mav1 > mav2 and stok <30 and crossup(stok,stod) Then
buy("스톡매수");
# 매도전략
if MarketPosition == 1 Then
{
if IsEntryName("이평매수") == true and CrossDown(value1,value2) Then
ExitLong("이평매도");
}
if MarketPosition == 1 Then
{
if IsEntryName("스톡매수") == true and stok >50 and CrossDown(stok,stod) Then
ExitLong("스톡매도");
}
답변 1
예스스탁 예스스탁 답변
2019-05-07 10:39:53
안녕하세요
예스스탁입니다.
IsEntryName은 첫진입의 명칭을 지정합니다.
청산함수에 이름을 지정하시면 됩니다.
input : ntime1(60),P1(20),P2(60);
input : sto1(25),sto2(6),sto3(6);
Input : shortPeriod(20), longPeriod(60);
var : cnt(0),sum1(0),sum2(0),mav1(0),mav2(0);
var : S1(0),D1(0),TM(0),TF(0);
var : stok(0),stod(0);
Array : C1[100](0);
stok = StochasticsK(sto1,sto2);
stod = StochasticsD(sto1,sto2,sto3);
sum1 = 0;
sum2 = 0;
for cnt = 0 to P2
{
if cnt < P1 Then
sum1 = sum1 + DayClose(cnt);
if cnt < P2 Then
sum2 = sum2 + DayClose(cnt);
}
mav1 = sum1/P1;
mav2 = sum2/P2;
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
# 이평 매수
if mav1 > mav2 and crossup(value1,value2) Then
buy("이평매수");
# 스톡 매수
if mav1 > mav2 and stok <30 and crossup(stok,stod) Then
buy("스톡매수");
# 매도전략
if MarketPosition == 1 Then
{
if CrossDown(value1,value2) Then
ExitLong("이평매도",OnClose,def,"이평매수");
if stok >50 and CrossDown(stok,stod) Then
ExitLong("스톡매도",OnClose,def,"스톡매수");
}
즐거운 하루되세요
> 뽄때 님이 쓴 글입니다.
> 제목 : 수식 수정부탁합니다
> 이평으로 매수한 것은 이평 데드크로스시 매도하고 싶고,
스톡으로 매수한건 스톡 데드크로스시 매도하고 싶은데,
스톡 매수후, 이평으로 추가 매수되었을 때..
스톡매도 조건이 되면 2포지션 다 매도처리가 됩니다. 수식변경 부탁드립니다.
파라미딩은 이평이든, 스톡이든 조건이 되면 모두 매수할 수 있도록
다른 진입 신호만 허용으로 설정하였습니다
input : ntime1(60),P1(20),P2(60);
input : sto1(25),sto2(6),sto3(6);
Input : shortPeriod(20), longPeriod(60);
var : cnt(0),sum1(0),sum2(0),mav1(0),mav2(0);
var : S1(0),D1(0),TM(0),TF(0);
var : stok(0),stod(0);
Array : C1[100](0);
stok = StochasticsK(sto1,sto2);
stod = StochasticsD(sto1,sto2,sto3);
sum1 = 0;
sum2 = 0;
for cnt = 0 to P2
{
if cnt < P1 Then
sum1 = sum1 + DayClose(cnt);
if cnt < P2 Then
sum2 = sum2 + DayClose(cnt);
}
mav1 = sum1/P1;
mav2 = sum2/P2;
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
# 이평 매수
if mav1 > mav2 and crossup(value1,value2) Then
buy("이평매수");
# 스톡 매수
if mav1 > mav2 and stok <30 and crossup(stok,stod) Then
buy("스톡매수");
# 매도전략
if MarketPosition == 1 Then
{
if IsEntryName("이평매수") == true and CrossDown(value1,value2) Then
ExitLong("이평매도");
}
if MarketPosition == 1 Then
{
if IsEntryName("스톡매수") == true and stok >50 and CrossDown(stok,stod) Then
ExitLong("스톡매도");
}
다음글
이전글