작성해주신 수식 감사합니다.
아래 수식에 주석을 좀 달아주시면 감사하겠습니다.
첫번째 봉은 무조건 음봉(3%하락한),
두번째 봉은 무조건 양봉이여야(%는 상관없음),
이후 10봉이이네. (이건 추가 수정사항)
첫번째 봉의 1/2 가격이상으로 가격상승시 매수인데,
그렇지 않는데도 진입을 합니다.
주석을 달아주시면 공부하는데 많은 도움이 되겠습니다.
그리고 수정사항으로. 장개장후(09:00시 이후). 10봉이내 에서만 조건 만족시 진입하게 해주십시요
var : ii(-1),entry(0);
if bdate != bdate[1] then
{
condition1 = false;
ii = 0;
entry = 0;
}
if (MarketPosition != 0 and MarketPosition != marketposition[1]) or
(MarketPosition == marketposition[1] and TotalTrades > TotalTrades[1]) then
entry = entry+1;
if ii >= 0 then
{
ii = ii +1;
if ii == 2 and C[1] < O[1] and C[1] >= O[1]*0.97 and C > O then
{
var1 = (H[1]+L[1])/2;
condition1 = true;
}
if ii > 2 and C > var1 and entry < 1 then
buy();
}
SetStopEndofday(150000);
답변 1
예스스탁
예스스탁 답변
2020-07-22 09:27:27
안녕하세요
예스스탁입니다.
주석 추가해 드립니다.
매수조건문에 condition1 == true가 빠져있어 추가했습니다.
var : ii(-1),entry(0);
#영업일 변경
if bdate != bdate[1] then
{
#두번쨰 봉에서 조건만족여부를 저장할 변수 초기값은 FALSE
condition1 = false;
#당일봉수 (초기값0)
ii = 0;
#진잆횟수 카운트 변수(초기값0)
entry = 0;
}
#아래와 같은 경우 진입횟수 1씩 증가
#현재봉의 포지션이 0이 아니고 전봉과 포지션이 다름(진입발생)
#전봉과 포지션은 같은데 총거래횟수 증가(한봉에서 진입청산모두 발생)
if (MarketPosition != 0 and MarketPosition != marketposition[1]) or
(MarketPosition == marketposition[1] and TotalTrades > TotalTrades[1]) then
entry = entry+1;
#ii는 0이상(ii의 초기값이 -1이므로 0이상이면 영업일 변경이 있었다는 의미)
if ii >= 0 then
{
#봉수는 1씩 증가
ii = ii +1;
#당일 두번쨰 봉이고 전봉(당일첫봉)은 음봉인데 -3% 이하의 음봉이고 현재봉 양봉
if ii == 2 and C[1] < O[1] and C[1] >= O[1]*0.97 and C > O then
{
#전봉(당일첫봉)의 중간값 저장
var1 = (H[1]+L[1])/2;
#두번쨰 봉에서 조건만족했으므로 true
condition1 = true;
}
#두번쨰 봉에서 조건충족이 되었고
#당일 세번쨰 봉부터 종가가 var1값 보다 크고 당일 진입이 없었으면 매수
if condition1 == true and ii > 2 and C > var1 and entry < 1 then
buy();
}
#15시 당일청
SetStopEndofday(150000);
즐거운 하루되세요
> 하늘북 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 작성해주신 수식 감사합니다.
아래 수식에 주석을 좀 달아주시면 감사하겠습니다.
첫번째 봉은 무조건 음봉(3%하락한),
두번째 봉은 무조건 양봉이여야(%는 상관없음),
이후 10봉이이네. (이건 추가 수정사항)
첫번째 봉의 1/2 가격이상으로 가격상승시 매수인데,
그렇지 않는데도 진입을 합니다.
주석을 달아주시면 공부하는데 많은 도움이 되겠습니다.
그리고 수정사항으로. 장개장후(09:00시 이후). 10봉이내 에서만 조건 만족시 진입하게 해주십시요
var : ii(-1),entry(0);
if bdate != bdate[1] then
{
condition1 = false;
ii = 0;
entry = 0;
}
if (MarketPosition != 0 and MarketPosition != marketposition[1]) or
(MarketPosition == marketposition[1] and TotalTrades > TotalTrades[1]) then
entry = entry+1;
if ii >= 0 then
{
ii = ii +1;
if ii == 2 and C[1] < O[1] and C[1] >= O[1]*0.97 and C > O then
{
var1 = (H[1]+L[1])/2;
condition1 = true;
}
if ii > 2 and C > var1 and entry < 1 then
buy();
}
SetStopEndofday(150000);