커뮤니티

엔벨로프 매수

프로필 이미지
쿠마
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% 상승하면 매도 하려는 식을 만드는데 매수가 원하는 위치에서 이루어지질 않네요 수정좀 부탁드립니다. 어디가 잘못됐는지 ㅠㅠ