커뮤니티

변수 값 저장 문의

프로필 이미지
loaded
2016-12-08 16:52:21
100
글번호 104805
답변완료
안녕하세요. 시스템 식 작성 시, 특정 조건이 발생하면 변수값에 그 값을 저장할 수 있는지요? 예를 들면 변수를 var : end(0); 이렇게 설정한 후, If crossup(C, dayopen()) and end==0 Then{ buy(); end=1; } if stime==101000{ end=0; } 이런 식으로 식을 작성해 하루에 한번만 매매할 수 있도록 변수에 특정 데이터를 저장해 놓을 수 있는지요? 캔들을 하나 지나갈때마다 변수가 0으로 초기화되는 것 같아 질문드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-12-08 17:25:13

안녕하세요 예스스탁입니다. 1 var선언은 매봉 초기화 되는 것이 아닙니다. 해당 변수의 최초의 값을 지정할 뿐입니다. 작성하신 식은 종가가 시초가 돌파하면 1 10시에는 0이라는 내용일 뿐입니다. 10시에 0이 되므로 다시 10시이후에 신호가 또 발생하게 됩니다. 매봉마다 var에서 선언한 값으로 초기화 되는지 시각으로 확인해 보실수 있는 지표입니다. var : vv(0); if crossup(c,dayopen) Then vv= C; plot1(vv); 차트상 첫 돌파 이전에는 0값이고 이후에는 모두 돌파봉의 종가값이 다음돌파까지 유지되는 것을 확인하실수 있습니다. 선언에서 지정하는 값은 단순 차트에서 저장이 발생하기 전에 최초의 값일 뿐이고 수식에서 값을 저장해 주기전까지는 최근에 저장된것이 유지됩니다. 2 하루 한번 진입하기 위해서는 날짜가 변경될때 변수를 0으로 하고 이후 조건충족하면 1로 변경해야 합니다. end는 수식에서 변수로 사용할수 없는 단어라 entry로 변수를 지정했습니다 var : entry(0); if Bdate != Bdate[1] Then entry = 0; If crossup(C, dayopen()) and entry==0 and stime < 100000 Then{ buy(); entry = 1; } 3 일반적으로 당일 진입은 아래식으로 카운트해서 사용합니다. 식작성에 참고하시기 바랍니다. var : N1(0),entry(0); if Bdate != Bdate[1] Then N1 = TotalTrades; If MarketPosition == 0 Then entry = TotalTrades-N1; Else entry = (TotalTrades-N1)+1; #10시 이전에 당일 첫진입일때만 시초가 돌파하면 매수 If crossup(C, dayopen()) and entry==0 and stime < 100000 Then{ buy(); } 즐거운 하루되세요 > loaded 님이 쓴 글입니다. > 제목 : 변수 값 저장 문의 > 안녕하세요. 시스템 식 작성 시, 특정 조건이 발생하면 변수값에 그 값을 저장할 수 있는지요? 예를 들면 변수를 var : end(0); 이렇게 설정한 후, If crossup(C, dayopen()) and end==0 Then{ buy(); end=1; } if stime==101000{ end=0; } 이런 식으로 식을 작성해 하루에 한번만 매매할 수 있도록 변수에 특정 데이터를 저장해 놓을 수 있는지요? 캔들을 하나 지나갈때마다 변수가 0으로 초기화되는 것 같아 질문드립니다.