예스스탁
예스스탁 답변
2020-10-22 14:01:34
안녕하세요
예스스탁입니다.
1
수식은 완성봉의 값만 사용합니다.
참조데이타가 전일봉까지만 값을 알수 있어 일봉이면 해당 데이타로 장중 n%하락시 진입체크가 되지 않습니다.
기본차트에서 mfi계산해 청산발생하게 작성해 드립니다.
2
진입은 분할청산중에도 발생하게 작성해 드립니다.
다만 청산이 100회인데 청산중 추가진입이 발생하면
횟수등을 어떻게 지정해야 할지 모르겠습니다.
진입후 최대수량의 1/100의 수량으로 청산되게 작성해 드립니다.
3
input : Period(14);
var : cnt(0),sum1(0),sum2(0),MFIv(0);
sum1 = 0;
sum2 = 0;
for cnt = 0 to Period-1{
if (dayhigh(cnt)+daylow(cnt)+DayClose(cnt)) > (dayhigh(cnt+1)+daylow(cnt+1)+DayClose(cnt+1)) Then
sum1 = sum1 + DayVolume(cnt)*(dayhigh(cnt)+daylow(cnt)+DayClose(cnt))/3;
Else
sum1 = sum1+0;
if (dayhigh(cnt)+daylow(cnt)+DayClose(cnt)) < (dayhigh(cnt+1)+daylow(cnt+1)+DayClose(cnt+1)) Then
sum2 = sum2 + DayVolume(cnt)*(dayhigh(cnt)+daylow(cnt)+DayClose(cnt))/3;
Else
sum2 = sum2+0;
}
MFIv = 100 - 100 / (1 + (sum1 / sum2));
if NextBarSdate != sDate Then
{
Buy("b1.",AtLimit,NextBarOpen*0.97,Floor(100000/min(NextBarOpen,DayLow*0.97)));
Buy("b2.",AtLimit,NextBarOpen*0.96,Floor(200000/min(NextBarOpen,DayLow*0.96)));
Buy("b3.",AtLimit,NextBarOpen*0.95,Floor(300000/min(NextBarOpen,DayLow*0.95)));
Buy("b4.",AtLimit,NextBarOpen*0.94,Floor(400000/min(NextBarOpen,DayLow*0.94)));
Buy("b5.",AtLimit,NextBarOpen*0.93,Floor(500000/min(NextBarOpen,DayLow*0.93)));
Buy("b6.",AtLimit,NextBarOpen*0.92,Floor(600000/min(NextBarOpen,DayLow*0.92)));
Buy("b7.",AtLimit,NextBarOpen*0.91,Floor(700000/min(NextBarOpen,DayLow*0.91)));
Buy("b8.",AtLimit,NextBarOpen*0.90,Floor(800000/min(NextBarOpen,DayLow*0.90)));
Buy("b9.",AtLimit,NextBarOpen*0.88,Floor(900000/min(NextBarOpen,DayLow*0.89)));
Buy("b10.",AtLimit,NextBarOpen*0.88,Floor(1000000/min(NextBarOpen,DayLow*0.88)));
}
Else
{
if DayLow > DayOpen*0.97 Then
Buy("b1",AtLimit,DayOpen*0.97,Floor(100000/min(NextBarOpen,DayLow*0.97)));
if DayLow > DayOpen*0.96 Then
Buy("b2",AtLimit,DayOpen*0.96,Floor(200000/min(NextBarOpen,DayLow*0.96)));
if DayLow > DayOpen*0.95 Then
Buy("b3",AtLimit,DayOpen*0.95,Floor(300000/min(NextBarOpen,DayLow*0.95)));
if DayLow > DayOpen*0.94 Then
Buy("b4",AtLimit,DayOpen*0.94,Floor(400000/min(NextBarOpen,DayLow*0.94)));
if DayLow > DayOpen*0.93 Then
Buy("b5",AtLimit,DayOpen*0.93,Floor(500000/min(NextBarOpen,DayLow*0.93)));
if DayLow > DayOpen*0.92 Then
Buy("b6",AtLimit,DayOpen*0.92,Floor(600000/min(NextBarOpen,DayLow*0.92)));
if DayLow > DayOpen*0.91 Then
Buy("b7",AtLimit,DayOpen*0.91,Floor(700000/min(NextBarOpen,DayLow*0.91)));
if DayLow > DayOpen*0.90 Then
Buy("b8",AtLimit,DayOpen*0.90,Floor(800000/min(NextBarOpen,DayLow*0.90)));
if DayLow > DayOpen*0.89 Then
Buy("b9",AtLimit,DayOpen*0.88,Floor(900000/min(NextBarOpen,DayLow*0.89)));
if DayLow > DayOpen*0.88 Then
Buy("b10",AtLimit,DayOpen*0.88,Floor(1000000/min(NextBarOpen,DayLow*0.88)));
}
if MarketPosition == 1 Then
{
if MFiv > 85 Then
Condition1 = true;
if Condition1 == true Then
ExitLong("bx",OnClose,DEf,"", max(1,MaxContracts*0.01) ,2);
}
Else
Condition1 = False;
즐거운 하루되세요
> 이형지 님이 쓴 글입니다.
> 제목 : 국내 주식 매매 수식 부탁드림니다.
> 국내 주식
1. data1 5분봉
2. data2 일봉
매수 진행
1. data2(일봉) 장중 -3% 하락 시 10만원
2. data2(일봉) 장중 -4% 하락 시 20만원
3. data2(일봉) 장중 -5% 하락 시 30만원
4. data2(일봉) 장중 -6% 하락 시 40만원
5. data2(일봉) 장중 -7% 하락 시 50만원
6. data2(일봉) 장중 -8% 하락 시 60만원
7. data2(일봉) 장중 -9% 하락 시 70만원
8. data2(일봉) 장중 -10% 하락 시 80만원
9. data2(일봉) 장중 -11% 하락 시 90만원
10. data2(일봉) 장중 -12% 하락 시 100만원
예를 들면 하루에 -6% 하락시 100만원 매수 되는 누적 매수 되게 요청
매수된 상태에서도 위와 같은 조건 발생시 누적 매수되게 요청
매수 청산
data2(일봉) 기준 MFI (14) > 85 발생시
data1(분봉) 기준으로 100회 분할 매도
PS
분할매도가 100회가 되지 않고 50회정도 된다음에도 매수 조건 발생시
누적 매수가 되는 수식이 가능할까요?