커뮤니티
엔벨로프 매수
2012-05-30 00:06:34
309
글번호 51468
어제 받은 수식을 적용해본 결과 매수가격이 엔벨로프와 상관없이 나오는데요..
다시 수정좀 부탁드립니다. 부탁만드려 죄송합니다.
*8888888888888888888888888888888888888888888888888888888888888
안녕하세요
예스스탁입니다.
피라미딩을 다른진입신호만 허용으로 설정하고
적용하시면 됩니다.
input : 투입금액(10000000),추가하락(7),수익(7), 추가매수(10);
var : entry1(0),entry2(0),entry3(0);
if CodeCategory == 1 Then{ #코스피
if BasePrice < 50000 Then{
entry1 = int(int((투입금액*0.3)/C)/10)*10;
entry2 = int(int((투입금액*0.3)/C)/10)*10;
entry3 = int(int((투입금액*0.4)/C)/10)*10;
}
Else{
entry1 = int((투입금액*0.3)/C);
entry1 = int((투입금액*0.3)/C);
entry1 = int((투입금액*0.4)/C);
}
}
if CodeCategory == 2 Then{#코스닥
entry1 = int((투입금액*0.3)/C);
entry2 = int((투입금액*0.3)/C);
entry3 = int((투입금액*0.4)/C);
}
if date != date[1] Then
value1 = value1+1;
var1 = EnvelopeDown(20,20);
if MarketPosition == 0 and CrossDown(L,Var1) Then
var2=Var1;
if MarketPosition == 0 Then
Buy("B1",AtLimit,Var2*(1-추가매수/100),entry1);
if MarketPosition == 1 Then{
if CurrentEntries == 1 and MaxEntries == 1 Then
Buy("B2",AtLimit,EntryPrice*(1-(추가매수*2)/100),entry2);
if CurrentEntries == 2 and MaxEntries == 2 Then
Buy("B3",AtLimit,Var4*(1-추가매수*3/100),entry2);
}
if MarketPosition == 1 Then{
exitlong("Ex1",AtLimit,AvgEntryPrice*(1+수익/100));
}
즐거운 하루되세요
> 쿠마 님이 쓴 글입니다.
> 제목 : 수정부탁드립니다.
> input : 투입금액(10000000),추가하락(7),수익(7), 추가매수(10);
var : entry(0);
if CodeCategory == 1 Then{ #코스피
if BasePrice < 50000 Then
entry = int(int(투입금액/C)/10)*10;
Else
entry = int(투입금액/C);
}
if CodeCategory == 2 Then#코스닥
entry = int(투입금액/C);
if date != date[1] Then
value1 = value1+1;
var1 = EnvelopeDown(20,20);
if MarketPosition == 0 and CrossDown(L,Var1) Then
var2=Var1;
if Var2*(1-추가하락/100)>=C Then
Buy("B1",AtLimit,Var2*(1-추가매수/100),0.3*entry);
var3=EntryPrice;
if CurrentEntries == 1 and MaxEntries == 1 Then
if Var3*(1-추가하락/100)>=C Then
Buy("B2",AtLimit,Var3*(1-추가매수/100),0.3*entry);
var4=EntryPrice;
if CurrentEntries == 2 and MaxEntries == 2 Then
if Var4*(1-추가하락/100)>=C Then
Buy("B3",AtLimit,Var4*(1-추가매수/100),0.4*entry);
if MarketPosition == 1 Then{
exitlong("Ex1",AtLimit,AvgEntryPrice*(1+수익/100));
// if value1 == value1[BarsSinceEntry]+10 Then
// exitlong();
}
수고가 많으십니다.
엔벨로프 하단선에 터치하면 그 가격을 기억해두었다가
그 가격보다 10%하락하면 매수1
매수1보다 10%더 하락하면 매수2
매수2보다 10%더 하락하면 매수3
평균 매수가보다 7% 상승하면 매도
하려는 식을 만드는데 매수가 원하는 위치에서 이루어지질 않네요
수정좀 부탁드립니다. 어디가 잘못됐는지 ㅠㅠ
답변 1
예스스탁 예스스탁 답변
2012-05-30 10:09:21
안녕하세요
예스스탁입니다.
식을 수정했습니다.
하단을 터치한적이 없으면 var2값이 0이라 발생되는 내용이었습니다.
var2가 0이상일때 신호가 발생하게 하였습니다.
input : 투입금액(10000000),추가하락(7),수익(7), 추가매수(10);
var : entry1(0),entry2(0),entry3(0);
if CodeCategory == 1 Then{ #코스피
if BasePrice < 50000 Then{
entry1 = int(int((투입금액*0.3)/C)/10)*10;
entry2 = int(int((투입금액*0.3)/C)/10)*10;
entry3 = int(int((투입금액*0.4)/C)/10)*10;
}
Else{
entry1 = int((투입금액*0.3)/C);
entry1 = int((투입금액*0.3)/C);
entry1 = int((투입금액*0.4)/C);
}
}
if CodeCategory == 2 Then{#코스닥
entry1 = int((투입금액*0.3)/C);
entry2 = int((투입금액*0.3)/C);
entry3 = int((투입금액*0.4)/C);
}
if date != date[1] Then
value1 = value1+1;
var1 = EnvelopeDown(20,20);
if MarketPosition == 0 and CrossDown(L,Var1) Then
var2=Var1;
if MarketPosition == 0 and var2 > 0 Then
Buy("B1",AtLimit,Var2*(1-추가매수/100),entry1);
if MarketPosition == 1 Then{
if CurrentEntries == 1 and MaxEntries == 1 Then
Buy("B2",AtLimit,EntryPrice*(1-(추가매수*2)/100),entry2);
if CurrentEntries == 2 and MaxEntries == 2 Then
Buy("B3",AtLimit,Var4*(1-추가매수*3/100),entry2);
}
if MarketPosition == 1 Then{
exitlong("Ex1",AtLimit,AvgEntryPrice*(1+수익/100));
}
즐거운 하루되세요
> 쿠마 님이 쓴 글입니다.
> 제목 : 엔벨로프 매수
>
어제 받은 수식을 적용해본 결과 매수가격이 엔벨로프와 상관없이 나오는데요..
다시 수정좀 부탁드립니다. 부탁만드려 죄송합니다.
*8888888888888888888888888888888888888888888888888888888888888
안녕하세요
예스스탁입니다.
피라미딩을 다른진입신호만 허용으로 설정하고
적용하시면 됩니다.
input : 투입금액(10000000),추가하락(7),수익(7), 추가매수(10);
var : entry1(0),entry2(0),entry3(0);
if CodeCategory == 1 Then{ #코스피
if BasePrice < 50000 Then{
entry1 = int(int((투입금액*0.3)/C)/10)*10;
entry2 = int(int((투입금액*0.3)/C)/10)*10;
entry3 = int(int((투입금액*0.4)/C)/10)*10;
}
Else{
entry1 = int((투입금액*0.3)/C);
entry1 = int((투입금액*0.3)/C);
entry1 = int((투입금액*0.4)/C);
}
}
if CodeCategory == 2 Then{#코스닥
entry1 = int((투입금액*0.3)/C);
entry2 = int((투입금액*0.3)/C);
entry3 = int((투입금액*0.4)/C);
}
if date != date[1] Then
value1 = value1+1;
var1 = EnvelopeDown(20,20);
if MarketPosition == 0 and CrossDown(L,Var1) Then
var2=Var1;
if MarketPosition == 0 Then
Buy("B1",AtLimit,Var2*(1-추가매수/100),entry1);
if MarketPosition == 1 Then{
if CurrentEntries == 1 and MaxEntries == 1 Then
Buy("B2",AtLimit,EntryPrice*(1-(추가매수*2)/100),entry2);
if CurrentEntries == 2 and MaxEntries == 2 Then
Buy("B3",AtLimit,Var4*(1-추가매수*3/100),entry2);
}
if MarketPosition == 1 Then{
exitlong("Ex1",AtLimit,AvgEntryPrice*(1+수익/100));
}
즐거운 하루되세요
> 쿠마 님이 쓴 글입니다.
> 제목 : 수정부탁드립니다.
> input : 투입금액(10000000),추가하락(7),수익(7), 추가매수(10);
var : entry(0);
if CodeCategory == 1 Then{ #코스피
if BasePrice < 50000 Then
entry = int(int(투입금액/C)/10)*10;
Else
entry = int(투입금액/C);
}
if CodeCategory == 2 Then#코스닥
entry = int(투입금액/C);
if date != date[1] Then
value1 = value1+1;
var1 = EnvelopeDown(20,20);
if MarketPosition == 0 and CrossDown(L,Var1) Then
var2=Var1;
if Var2*(1-추가하락/100)>=C Then
Buy("B1",AtLimit,Var2*(1-추가매수/100),0.3*entry);
var3=EntryPrice;
if CurrentEntries == 1 and MaxEntries == 1 Then
if Var3*(1-추가하락/100)>=C Then
Buy("B2",AtLimit,Var3*(1-추가매수/100),0.3*entry);
var4=EntryPrice;
if CurrentEntries == 2 and MaxEntries == 2 Then
if Var4*(1-추가하락/100)>=C Then
Buy("B3",AtLimit,Var4*(1-추가매수/100),0.4*entry);
if MarketPosition == 1 Then{
exitlong("Ex1",AtLimit,AvgEntryPrice*(1+수익/100));
// if value1 == value1[BarsSinceEntry]+10 Then
// exitlong();
}
수고가 많으십니다.
엔벨로프 하단선에 터치하면 그 가격을 기억해두었다가
그 가격보다 10%하락하면 매수1
매수1보다 10%더 하락하면 매수2
매수2보다 10%더 하락하면 매수3
평균 매수가보다 7% 상승하면 매도
하려는 식을 만드는데 매수가 원하는 위치에서 이루어지질 않네요
수정좀 부탁드립니다. 어디가 잘못됐는지 ㅠㅠ
다음글
이전글