커뮤니티
문의드립니다.
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;}