커뮤니티

수식 부탁드립니다.

프로필 이미지
훈777
2005-10-13 12:38:19
1680
글번호 8510
답변완료
처음 해보는 초보입니다... 다음의 조건식으로 매매수식을 부탁드립니다. 1. 진입 첫5분봉을 보고 양봉이면 첫5분봉 다음시가에 매수 음봉이면 첫5분봉 다음시가에 매도 첫5분봉이 시가와 종가가 같은 돗지이면 다음 5분봉을 보고 양봉이면 다음시가 에 매수하고 음봉이면 매도... 2. 청산 첫5분봉이 양봉이어서 다음 봉시가에 매수를 했으면 첫5분봉 저가가 손절라인이 되 어서 첫5분봉 저가에서 한틱 더 떨어지는 가격에 오면 시장가로 손절청산.. 첫5분봉이 음봉이어서 다음 봉시가에 매도했으면 첫5분봉 고가가 손절라인이 되어서 첫5분봉 고가에서 한틱 더 높은 가격이 오면 그 가격에 시장가로 손절청산.. 만약 첫봉이 돗지여서 다음 5분봉을 참조하여 진입했으면 다음 5분종을 기준으로 위 와 같이 손절청산... 단 첫5분봉이 진입부터 고가나 저가 한틱추가 가격이 0.3포인트가 안되면 첫봉의 고 가와 저가와 상관없이 진입가 대비 0.3에서 시장가로 손절청산... 위의 손절라인에 걸리지 않고 종가까지 가면 종가에 시장가로 수익청산... 장중 진입후 진입가보다 1포인트이상 이익이 난후 0.5포인트가 밀리면 0.5포인트 밀 린 지점에서 시장가로 수익청산.... 이상으로 한번 시뮬레이션을 할려고 하는데 아직 수식에 대한 이해가 부족하여 위의 사항이 수식으로 가능한지 조언을 부탁드립니다.... 감사합니다..
시스템
답변 5
프로필 이미지

예스스탁 예스스탁 답변

2005-10-13 17:28:09

안녕하세요 예스스탁입니다. 문의하신 식은 다음과 같습니다 var : OneTick(0); if CodeCategory() == 1 or CodeCategory() == 2 then OneTick = iff(C >= 500000, 1000,iff(C >= 100000, 500,iff(C >= 50000, 100, iff(C >= 10000, 50,iff(C >= 5000, 10,5))))) ; if CodeCategory() == 4 then OneTick = 0.05; if CodeCategory() == 5 then OneTick = 0.01; if CodeCategory() == 6 and C >= 3.0 then OneTick = 0.05; if CodeCategory() == 6 and C < 3.0 then OneTick = 0.01; SetStopEndofday(1500); if dayindex() == 0 and C > O then{ buy("매수1",atmarket); var1 = L; } if dayindex() == 0 and C < O then{ sell("매도1",atmarket); var1 = h; } if dayindex() == 1 and C == O and C > O then{ buy("매수2",atmarket); var2 = L; } if dayindex() == 1 and C == O and C < O then{ sell("매도2",atmarket); var2 = h; } if Marketposition() == 1 and IsEntryName("매수1") then exitlong("매수손절1",atstop,var1-onetick); if Marketposition() == 1 and IsEntryName("매수2") then exitlong("매수손절2",atstop,var2-onetick); if Marketposition() == -1 and IsEntryName("매도1") then exitlong("매도손절1",atstop,var1+onetick); if Marketposition() == -1 and IsEntryName("매도2") then exitlong("매도손절2",atstop,var2+onetick); 다만 아래 부분을 정확히 이해할수 없어 수식에 집어 넣치 않았습습니다. 단 첫5분봉이 진입부터 고가나 저가 한틱추가 가격이 0.3포인트가 안되면 첫봉의 고 가와 저가와 상관없이 진입가 대비 0.3에서 시장가로 손절청산... 즐거운 하루되세요 > 훈777 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다. > 처음 해보는 초보입니다... 다음의 조건식으로 매매수식을 부탁드립니다. 1. 진입 첫5분봉을 보고 양봉이면 첫5분봉 다음시가에 매수 음봉이면 첫5분봉 다음시가에 매도 첫5분봉이 시가와 종가가 같은 돗지이면 다음 5분봉을 보고 양봉이면 다음시가 에 매수하고 음봉이면 매도... 2. 청산 첫5분봉이 양봉이어서 다음 봉시가에 매수를 했으면 첫5분봉 저가가 손절라인이 되 어서 첫5분봉 저가에서 한틱 더 떨어지는 가격에 오면 시장가로 손절청산.. 첫5분봉이 음봉이어서 다음 봉시가에 매도했으면 첫5분봉 고가가 손절라인이 되어서 첫5분봉 고가에서 한틱 더 높은 가격이 오면 그 가격에 시장가로 손절청산.. 만약 첫봉이 돗지여서 다음 5분봉을 참조하여 진입했으면 다음 5분종을 기준으로 위 와 같이 손절청산... 단 첫5분봉이 진입부터 고가나 저가 한틱추가 가격이 0.3포인트가 안되면 첫봉의 고 가와 저가와 상관없이 진입가 대비 0.3에서 시장가로 손절청산... 위의 손절라인에 걸리지 않고 종가까지 가면 종가에 시장가로 수익청산... 장중 진입후 진입가보다 1포인트이상 이익이 난후 0.5포인트가 밀리면 0.5포인트 밀 린 지점에서 시장가로 수익청산.... 이상으로 한번 시뮬레이션을 할려고 하는데 아직 수식에 대한 이해가 부족하여 위의 사항이 수식으로 가능한지 조언을 부탁드립니다.... 감사합니다..
프로필 이미지

훈777

2005-10-13 19:35:10

답변 감사합니다...제가 설명한 부분중 일부분이 저의 설명부족으로 이해가 되지 않아 넣지 않았는데...즉 운영자님의 답변중... {다만 아래 부분을 정확히 이해할수 없어 수식에 집어 넣치 않았습습니다. 단 첫5분봉이 진입부터 고가나 저가 한틱추가 가격이 0.3포인트가 안되면 첫봉의 고 가와 저가와 상관없이 진입가 대비 0.3에서 시장가로 손절청산...} 이 부분을 다시 설명을 드리고 싶고 그래서 이 부분까지 포함된 수식을 부탁드리겠습니 다.. 예를들어 첫5분봉이 시가 100.00 고가 100.40 저가 99.95 종가 100.10 이면 진입은 그 첫5분봉이 양봉이므로 매수로 첫5분봉이 완성된 후 다음봉 시가인 100.10 에 매수로 진입합니다...그리고 손절청산은 첫5분봉 저가인 99.95를 한틱 돌파하는 99.90을 찍으면 시장가로 손절청산 주문이 나가는데.. 이 경우처럼 손절이 0.3 미만이면 손절이 잦으므로 손절청산에 손절폭이 0.3이 안되는 경우 예외규정을 두어 진입가와 손절청산가인 첫5분봉의 고가와 저가를 한틱돌파하는 가격이 0.3이 안되는 경우에는 그 안되는 가격에 손절청산주문이 나가지 않고 0.3을 찍는 가격이 될때 시장가로 손절청산주문이 나가는 겁니다... 그래서 위의 예도 진입은 100.10에 매수로 하고 손절청산은 첫5분봉의 저가 99.95를 한틱돌파하는 99.90이 아니라 손절폭이 0.3이 되는 99.80을 찍을때 시장가로 나가고 만약 99.90이나 99.95를 찍고 반대의 수익방향으로 지수가 오르면 손절청산주문이 안 나가는 겁니다... 진입가와 첫5분봉의 고가나 저가를 한틱돌파하는 가격이 0.3이상이면 원래처럼 고가나 저가를 한틱돌파하는 가격에 당연히 나가구요... 그리고 첫5분봉이 음봉이면 매도로 진입할터이고 손절폭이 0.3이내일 경우 0.3에 가격 이 올때까지 손절청산주문이 안나가는 경우는 같습니다... 쩝...다시 설명을 드려도 제가 봐도 어렵지만....부탁드리겠습니다.. 감사합니다.
프로필 이미지

예스스탁 예스스탁 답변

2005-10-14 11:51:14

안녕하세요 예스스탁입니다. 문의하신 부분이 아래의 내용으로 생각되어 수식을 작성했습니다. 매수일 경우 진입가-(저가-한틱) < -0.3 일때 저가-한틱의 값으로 손절 진입가-(저가-한틱) >= -0.3 일때 0.3에 손절 매도일 경우 진입가+(저가+한틱) > 0.3 일때 고가+한틱의 값으로 손절 진입가+(저가+한틱) <= 0.3 일때 0.3에 손절 var : OneTick(0),value1(0),value2(0),Cval(0); if CodeCategory() == 1 or CodeCategory() == 2 then OneTick = iff(C >= 500000, 1000,iff(C >= 100000, 500,iff(C >= 50000, 100, iff(C >= 10000, 50,iff(C >= 5000, 10,5))))) ; if CodeCategory() == 4 then OneTick = 0.05; if CodeCategory() == 5 then OneTick = 0.01; if CodeCategory() == 6 and C >= 3.0 then OneTick = 0.05; if CodeCategory() == 6 and C < 3.0 then OneTick = 0.01; SetStopEndofday(1500); if dayindex() == 0 and C > O then{ buy("매수1",atmarket); value1 = L; Cval = C; } if dayindex() == 0 and C < O then{ sell("매도1",atmarket); value1 = h; Cval = C; } if dayindex() == 1 and C[1] == O[1] and C > O then{ buy("매수2",atmarket); value1 = L; Cval = C; } if dayindex() == 1 and C[1] == O[1] and C < O then{ sell("매도2",atmarket); value1 = h; Cval = C; } if abs(Cval-value1) > 0.3 then{ if Marketposition() == 1 and IsEntryName("매수1") then exitlong("매수손절1",atstop,value1-onetick); if Marketposition() == 1 and IsEntryName("매수2") then exitlong("매수손절2",atstop,value1-onetick); if Marketposition() == -1 and IsEntryName("매도1") then exitlong("매도손절1",atstop,value1+onetick); if Marketposition() == -1 and IsEntryName("매도2") then exitlong("매도손절2",atstop,value1+onetick); } if abs(Cval-value1) <= 0.3 and barssinceentry() >= 1 then{ setstoploss(0.3,pointstop); } 즐거운 하루되세요 > 훈777 님이 쓴 글입니다. > 제목 : Re : Re : 수식 부탁드립니다.(다시 부탁드립니다.) > 답변 감사합니다...제가 설명한 부분중 일부분이 저의 설명부족으로 이해가 되지 않아 넣지 않았는데...즉 운영자님의 답변중... {다만 아래 부분을 정확히 이해할수 없어 수식에 집어 넣치 않았습습니다. 단 첫5분봉이 진입부터 고가나 저가 한틱추가 가격이 0.3포인트가 안되면 첫봉의 고 가와 저가와 상관없이 진입가 대비 0.3에서 시장가로 손절청산...} 이 부분을 다시 설명을 드리고 싶고 그래서 이 부분까지 포함된 수식을 부탁드리겠습니 다.. 예를들어 첫5분봉이 시가 100.00 고가 100.40 저가 99.95 종가 100.10 이면 진입은 그 첫5분봉이 양봉이므로 매수로 첫5분봉이 완성된 후 다음봉 시가인 100.10 에 매수로 진입합니다...그리고 손절청산은 첫5분봉 저가인 99.95를 한틱 돌파하는 99.90을 찍으면 시장가로 손절청산 주문이 나가는데.. 이 경우처럼 손절이 0.3 미만이면 손절이 잦으므로 손절청산에 손절폭이 0.3이 안되는 경우 예외규정을 두어 진입가와 손절청산가인 첫5분봉의 고가와 저가를 한틱돌파하는 가격이 0.3이 안되는 경우에는 그 안되는 가격에 손절청산주문이 나가지 않고 0.3을 찍는 가격이 될때 시장가로 손절청산주문이 나가는 겁니다... 그래서 위의 예도 진입은 100.10에 매수로 하고 손절청산은 첫5분봉의 저가 99.95를 한틱돌파하는 99.90이 아니라 손절폭이 0.3이 되는 99.80을 찍을때 시장가로 나가고 만약 99.90이나 99.95를 찍고 반대의 수익방향으로 지수가 오르면 손절청산주문이 안 나가는 겁니다... 진입가와 첫5분봉의 고가나 저가를 한틱돌파하는 가격이 0.3이상이면 원래처럼 고가나 저가를 한틱돌파하는 가격에 당연히 나가구요... 그리고 첫5분봉이 음봉이면 매도로 진입할터이고 손절폭이 0.3이내일 경우 0.3에 가격 이 올때까지 손절청산주문이 안나가는 경우는 같습니다... 쩝...다시 설명을 드려도 제가 봐도 어렵지만....부탁드리겠습니다.. 감사합니다.
프로필 이미지

훈777

2005-10-14 12:17:41

빠른 재답변에 너무 감사드립니다... 내용중 약간 다른 부분이 있어서 한번 더 폐를 끼치네요...지송^^ 답변내용중... {문의하신 부분이 아래의 내용으로 생각되어 수식을 작성했습니다. 매수일 경우 진입가-(저가-한틱) < -0.3 일때 저가-한틱의 값으로 손절 진입가-(저가-한틱) >= -0.3 일때 0.3에 손절 매도일 경우 진입가+(저가+한틱) > 0.3 일때 고가+한틱의 값으로 손절 진입가+(저가+한틱) <= 0.3 일때 0.3에 손절} 은 제가 의미하는 바와 다르고 다음과 같이 수정이 되었으면 합니다... 매수일 경우 진입가-(저가-한틱) < 0.3 일때 0.3에 손절 진입가-(저가-한틱) >= 0.3 일때 저가-한틱의 값으로 손절 매도일 경우 (고가+한틱)-진입가 < 0.3 일때 0.3에 손절 (고가+한틱)-진입가 >= 0.3 일때 고가+한틱의 값으로 손절 이상이 맞거든요.. 한번 더 수고를 부탁드리고 감사합니다.
프로필 이미지

예스스탁 예스스탁 답변

2005-10-14 13:52:45

안녕하세요 예스스탁입니다. var : OneTick(0),value1(0),value2(0),Cval(0); if CodeCategory() == 1 or CodeCategory() == 2 then OneTick = iff(C >= 500000, 1000,iff(C >= 100000, 500,iff(C >= 50000, 100, iff(C >= 10000, 50,iff(C >= 5000, 10,5))))) ; if CodeCategory() == 4 then OneTick = 0.05; if CodeCategory() == 5 then OneTick = 0.01; if CodeCategory() == 6 and C >= 3.0 then OneTick = 0.05; if CodeCategory() == 6 and C < 3.0 then OneTick = 0.01; SetStopEndofday(1500); if dayindex() == 0 and C > O then{ buy("매수1",atmarket); value1 = L; Cval = C; } if dayindex() == 0 and C < O then{ sell("매도1",atmarket); value1 = h; Cval = C; } if dayindex() == 1 and C[1] == O[1] and C > O then{ buy("매수2",atmarket); value1 = L; Cval = C; } if dayindex() == 1 and C[1] == O[1] and C < O then{ sell("매도2",atmarket); value1 = h; Cval = C; } if Marketposition() == 1 and IsEntryName("매수1") and Cval-(value1-Onetick) >= 0.3 then exitlong("매수손절1",atstop,value1-onetick); if Marketposition() == 1 and IsEntryName("매수2") and Cval-(value1-Onetick) >= 0.3 then exitlong("매수손절2",atstop,value1-onetick); if Marketposition() == -1 and IsEntryName("매도1") and (value1+Onetick)-Cval >= 0.3 then exitlong("매도손절1",atstop,value1+onetick); if Marketposition() == -1 and IsEntryName("매도2") and (value1+Onetick)-Cval >= 0.3 then exitlong("매도손절2",atstop,value1+onetick); if Marketposition() == 1 and Cval-(value1-Onetick) < 0.3 then{ exitlong("매수손절",atstop,Cval-0.3); } if Marketposition() == -1 and (value1+Onetick)-Cval > 0.3 then{ exitlong("매도손절",atstop,Cval+0.3); } 즐거운 하루되세요 > 훈777 님이 쓴 글입니다. > 제목 : Re : Re : Re : Re : 다시 한번 부탁드립니다... > 빠른 재답변에 너무 감사드립니다... 내용중 약간 다른 부분이 있어서 한번 더 폐를 끼치네요...지송^^ 답변내용중... {문의하신 부분이 아래의 내용으로 생각되어 수식을 작성했습니다. 매수일 경우 진입가-(저가-한틱) < -0.3 일때 저가-한틱의 값으로 손절 진입가-(저가-한틱) >= -0.3 일때 0.3에 손절 매도일 경우 진입가+(저가+한틱) > 0.3 일때 고가+한틱의 값으로 손절 진입가+(저가+한틱) <= 0.3 일때 0.3에 손절} 은 제가 의미하는 바와 다르고 다음과 같이 수정이 되었으면 합니다... 매수일 경우 진입가-(저가-한틱) < 0.3 일때 0.3에 손절 진입가-(저가-한틱) >= 0.3 일때 저가-한틱의 값으로 손절 매도일 경우 (고가+한틱)-진입가 < 0.3 일때 0.3에 손절 (고가+한틱)-진입가 >= 0.3 일때 고가+한틱의 값으로 손절 이상이 맞거든요.. 한번 더 수고를 부탁드리고 감사합니다.