커뮤니티

문의드립니다.

프로필 이미지
잡다백수
2018-03-19 13:27:49
168
글번호 117486
답변완료
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 시스템 이 수식 해선 특정시간에 맞추어에 쓸 수 있도록 90000, 150000로 돼 있는 거를 외부변수로 수정부탁드립니다. Inputs: InitMin(90),stopp(1); Variables: SessStartMin(0), TradeTime(0), SetHigh(0), SetLow(0), LongFlag(False), ShortFlag(False); /*conversion of hour-based time to minute-based time*/ SessStartMin = TimeToMinutes(90000); TradeTime = TimeToMinutes(sTime); /*Setup - establishment of the initial range*/ If TradeTime <= SessStartMin + InitMin Then { If Date <> Date[1] Then { SetHigh = High; SetLow = Low; LongFlag = True; ShortFlag = True; } Else { If High > SetHigh Then SetHigh = High; If Low < SetLow Then SetLow = Low; } } Else { /*Entries once the initial period has ended*/ If Time < 150000 Then { If LongFlag AND CrossUp(Close,SetHigh) Then buy(); If ShortFlag AND CrossDown(Close,SetLow) Then sell(); } } /*Long Protective Exit*/ If MarketPosition == 1 Then { LongFlag = False; ExitLong("EL", atstop,SetLow ); } /*Short Protective Exit*/ If MarketPosition == -1 Then { ShortFlag = False; ExitShort("ES", atstop, SetHigh); } 2. 기타 여전히 헷갈려서 그러는데요. 특정시간 봉시가를 시가로 할당(정확히는 기준점 할당)하려면 아래와 같이 하면 되는 건가요? 아래 수식에다 변동성 전략같은 것들 var1 + (dayhigh-dayLOW)을 적용하려면 어떻게 수식을 짜야 하나요? input : 시간(100000); if (sdate != sdate[1] and stime >= 시간) or (sdate == sdate[1] and stime >= 시간 and stime[1] < 시간) Then { O = var1;}
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-03-19 15:45:17

안녕하세요 예스스탁입니다. 1 inputs: InitMin(90),stopp(1),SS(90000),EE(150000); Variables: SessStartMin(0), TradeTime(0), SetHigh(0), SetLow(0), LongFlag(False), ShortFlag(False); SessStartMin = TimeToMinutes(SS); TradeTime = TimeToMinutes(sTime); If TradeTime <= SessStartMin + InitMin Then { If Date <> Date[1] Then { SetHigh = High; SetLow = Low; LongFlag = True; ShortFlag = True; } Else { If High > SetHigh Then SetHigh = High; If Low < SetLow Then SetLow = Low; } } Else { If sTime < EE Then { If LongFlag AND CrossUp(Close,SetHigh) Then buy(); If ShortFlag AND CrossDown(Close,SetLow) Then sell(); } } If MarketPosition == 1 Then { LongFlag = False; ExitLong("EL", atstop,SetLow ); } If MarketPosition == -1 Then { ShortFlag = False; ExitShort("ES", atstop, SetHigh); } 2 특정시간에 시가를 할당하는 내용은 올려주신 내용이 맞습니다. 이전 답변에 해당 시간을 기준으로 시가,최고가와 최저가 계산하는 내용을 아래와 같이 작성해 드렸습니다. 내용 참고하시기 바랍니다. input : 시간(100000); var : cnt(0),Pivot(0),R1(0),R2(0),S1(0),S2(0); Array : OO[20](0),HH[20](0),LL[20](0),CC[20](0); if (sdate != sdate[1] and stime >= 시간) or (sdate == sdate[1] and stime >= 시간 and stime[1] < 시간) Then { OO[0] = O; HH[0] = H; LL[0] = L; for cnt = 1 to 19{ OO[cnt] = OO[cnt-1][1]; HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; #지정시간 시가 + (최고가-최저가) value1 = OO[0]+(HH[0]-LL[0]); #지정시간 시가 - (최고가-최저가) value2 = OO[0]-(HH[0]-LL[0]); 즐거운 하루되세요 > 잡다백수 님이 쓴 글입니다. > 제목 : 문의드립니다. > 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 시스템 이 수식 해선 특정시간에 맞추어에 쓸 수 있도록 90000, 150000로 돼 있는 거를 외부변수로 수정부탁드립니다. Inputs: InitMin(90),stopp(1); Variables: SessStartMin(0), TradeTime(0), SetHigh(0), SetLow(0), LongFlag(False), ShortFlag(False); /*conversion of hour-based time to minute-based time*/ SessStartMin = TimeToMinutes(90000); TradeTime = TimeToMinutes(sTime); /*Setup - establishment of the initial range*/ If TradeTime <= SessStartMin + InitMin Then { If Date <> Date[1] Then { SetHigh = High; SetLow = Low; LongFlag = True; ShortFlag = True; } Else { If High > SetHigh Then SetHigh = High; If Low < SetLow Then SetLow = Low; } } Else { /*Entries once the initial period has ended*/ If Time < 150000 Then { If LongFlag AND CrossUp(Close,SetHigh) Then buy(); If ShortFlag AND CrossDown(Close,SetLow) Then sell(); } } /*Long Protective Exit*/ If MarketPosition == 1 Then { LongFlag = False; ExitLong("EL", atstop,SetLow ); } /*Short Protective Exit*/ If MarketPosition == -1 Then { ShortFlag = False; ExitShort("ES", atstop, SetHigh); } 2. 기타 여전히 헷갈려서 그러는데요. 특정시간 봉시가를 시가로 할당(정확히는 기준점 할당)하려면 아래와 같이 하면 되는 건가요? 아래 수식에다 변동성 전략같은 것들 var1 + (dayhigh-dayLOW)을 적용하려면 어떻게 수식을 짜야 하나요? input : 시간(100000); if (sdate != sdate[1] and stime >= 시간) or (sdate == sdate[1] and stime >= 시간 and stime[1] < 시간) Then { O = var1;}