예스스탁
예스스탁 답변
2021-12-08 13:52:15
안녕하세요
예스스탁입니다.
input:만기기준일(0);
Var : Year(0),Month(0),ndate1(0),ndate2(0);
var : cnt(0),count1(0),count2(0);
var : XD1(0),XD2(0),Xdate(0),remain(0);
Year = Floor(sDate / 10000)*10000;
month = Floor(FracPortion(sdate/10000)*100)*100;
ndate1 = year+month+1;
if Month+100 <= 1200 Then
ndate2 = year+(month+100)+1;
Else
ndate2 = (year+10000)+100+1;
count1 = 0;
count2 = 0;
for cnt = 0 to 15
{
if dayofweek(ndate1+cnt) == 4 Then
{
count1 = count1+1;
if count1 == 2 Then
{
XD1 = ndate1+cnt;
}
}
if dayofweek(ndate2+cnt) == 4 Then
{
count2 = count2+1;
if count2 == 2 Then
{
XD2 = nDate2+cnt;
}
}
}
if sDate <= XD1 Then
{
Xdate = XD1;
}
Else
{
Xdate = XD2;
}
if Xdate > 0 Then
{
remain = DateToJulian(Xdate)-DateToJulian(sDate);
}
input: 지수갭1(10),지수갭2(-10);
input: d3상승(1000);
var : MM(0,Data2),nday(0,Data2),week(0,data2);
var : X(False,Data2),cond(False,Data2);
var : DD(0,Data2),C2(0,Data2);
mm = data2(int(date/100)-int(date/10000)*100);
nday = data2(date - int(date/100)*100);
Week = data2(DayOfWeek(date));
#옵션만기일
if (nday >= 8 and nday <= 14 and week == 4) then
X = true;
Else
X = False;
if data2(bdate != Bdate[1]) Then
{
if X == false and X[1] == true Then
{
C2 = 0;
cond = true;
dd = 0;
}
if cond ==true Then
dd = dd+1;
}
#만기다음날 Data2 종가
if cond == true and dd == 1 Then
C2 = data2(C);
if remain == 만기기준일 then
{
if dd > 1 and C2 > 0 and 지수갭1 > Data2(Opend(0)-C2) and Data2(Opend(0)-C2) > 지수갭2 and Data3(c > Lowd(0)+d3상승) Then
Buy();
}
즐거운 하루되세요
> 목마와숙녀 님이 쓴 글입니다.
> 제목 : 문의
> 만기기준일 수식을 아래 수식과 결합하여 주십시요
단순 결합은 Month(0)과 month(0,Data2) 이미 선언된 이름을 다시 선언하는 오류가 뜹니다.
수식작동은
만기기준으로 특정일 and 지수갭으로 특정 레인지일 때 d3 상승이면 buy 입니다.
input:만기기준일(0);
Var : Year(0),Month(0),ndate1(0),ndate2(0);
var : cnt(0),count1(0),count2(0);
var : XD1(0),XD2(0),Xdate(0),remain(0);
Year = Floor(sDate / 10000)*10000;
month = Floor(FracPortion(sdate/10000)*100)*100;
ndate1 = year+month+1;
if Month+100 <= 1200 Then
ndate2 = year+(month+100)+1;
Else
ndate2 = (year+10000)+100+1;
count1 = 0;
count2 = 0;
for cnt = 0 to 15
{
if dayofweek(ndate1+cnt) == 4 Then
{
count1 = count1+1;
if count1 == 2 Then
{
XD1 = ndate1+cnt;
}
}
if dayofweek(ndate2+cnt) == 4 Then
{
count2 = count2+1;
if count2 == 2 Then
{
XD2 = nDate2+cnt;
}
}
}
if sDate <= XD1 Then
{
Xdate = XD1;
}
Else
{
Xdate = XD2;
}
if Xdate > 0 Then
{
remain = DateToJulian(Xdate)-DateToJulian(sDate);
}
if remain == 만기기준일 then
{
}
**********************************************************************************
input: 지수갭1(10),지수갭2(-10);
input: d3상승(1000);
var : month(0,Data2),nday(0,Data2),week(0,data2);
var : X(False,Data2),cond(False,Data2);
var : DD(0,Data2),C2(0,Data2);
month = data2(int(date/100)-int(date/10000)*100);
nday = data2(date - int(date/100)*100);
Week = data2(DayOfWeek(date));
#옵션만기일
if (nday >= 8 and nday <= 14 and week == 4) then
X = true;
Else
X = False;
if data2(bdate != Bdate[1]) Then
{
if X == false and X[1] == true Then
{
C2 = 0;
cond = true;
dd = 0;
}
if cond ==true Then
dd = dd+1;
}
#만기다음날 Data2 종가
if cond == true and dd == 1 Then
C2 = data2(C);
if dd > 1 and C2 > 0 and 지수갭1 > Data2(Opend(0)-C2) and Data2(Opend(0)-C2) > 지수갭2 and Data3(c > Lowd(0)+d3상승) Then
Buy();