예스스탁
예스스탁 답변
2020-11-10 14:46:37
안녕하세요
예스스탁입니다.
전화로 말씀드린바와 같이 data1에서 data11까지 셋팅되어 있다고 가정하고 작성해 드립니다.
1
input : P1(5),P2(20);
var : O1(0,Data1),O2(0,Data2),O3(0,Data3),O4(0,Data4),O5(0,Data5);
var : O6(0,Data6),O7(0,Data7),O8(0,Data8),O9(0,Data9),O10(0,Data10),O11(0,Data11);
var : D1(0,Data1),D2(0,Data2),D3(0,Data3),D4(0,Data4),D5(0,Data5);
var : D6(0,Data6),D7(0,Data7),D8(0,Data8),D9(0,Data9),D10(0,Data10),D11(0,Data11);
var : A1(0,Data1),A2(0,Data2),A3(0,Data3),A4(0,Data4),A5(0,Data5);
var : A6(0,Data6),A7(0,Data7),A8(0,Data8),A9(0,Data9),A10(0,Data10),A11(0,Data11);
var : B1(0,Data1),B2(0,Data2),B3(0,Data3),B4(0,Data4),B5(0,Data5);
var : B6(0,Data6),B7(0,Data7),B8(0,Data8),B9(0,Data9),B10(0,Data10),B11(0,Data11);
if Data1(Bdate != Bdate[1]) Then
O1 = Data1(OI[1]);
if Data2(Bdate != Bdate[1]) Then
O2 = Data2(OI[1]);
if Data3(Bdate != Bdate[1]) Then
O3 = Data3(OI[1]);
if Data4(Bdate != Bdate[1]) Then
O4 = Data4(OI[1]);
if Data5(Bdate != Bdate[1]) Then
O5 = Data5(OI[1]);
if Data6(Bdate != Bdate[1]) Then
O6 = Data6(OI[1]);
if Data7(Bdate != Bdate[1]) Then
O7 = Data7(OI[1]);
if Data8(Bdate != Bdate[1]) Then
O8 = Data8(OI[1]);
if Data9(Bdate != Bdate[1]) Then
O9 = Data9(OI[1]);
if Data10(Bdate != Bdate[1]) Then
O10 = Data10(OI[1]);
if Data11(Bdate != Bdate[1]) Then
O11 = Data11(OI[1]);
D1 = Data1(OI)-D1;
D2 = Data2(OI)-D2;
D3 = Data3(OI)-D3;
D4 = Data4(OI)-D4;
D5 = Data5(OI)-D5;
D6 = Data6(OI)-D6;
D7 = Data7(OI)-D7;
D8 = Data8(OI)-D8;
D9 = Data8(OI)-D9;
D10 = Data8(OI)-D10;
D11 = Data8(OI)-D11;
A1 = Data1(ma(D1,P1));
B1 = Data1(ma(D1,P2));
A2 = Data2(ma(D1,P1));
B2 = Data2(ma(D1,P2));
A3 = Data3(ma(D1,P1));
B3 = Data3(ma(D1,P2));
A4 = Data4(ma(D1,P1));
B4 = Data4(ma(D1,P2));
A5 = Data5(ma(D1,P1));
B5 = Data5(ma(D1,P2));
A6 = Data6(ma(D1,P1));
B6 = Data6(ma(D1,P2));
A7 = Data7(ma(D1,P1));
B7 = Data7(ma(D1,P2));
A8 = Data8(ma(D1,P1));
B8 = Data8(ma(D1,P2));
A9 = Data9(ma(D1,P1));
B9 = Data9(ma(D1,P2));
A10 = Data10(ma(D1,P1));
B10 = Data10(ma(D1,P2));
A11 = Data11(ma(D1,P1));
B11 = Data11(ma(D1,P2));
Plot1(D1,"d1증감");
Plot2(A1,"d1이평1");
Plot3(B1,"d1이평2");
Plot4(D2,"d2증감");
Plot5(A2,"d2이평1");
Plot6(B2,"d2이평2");
Plot7(D3,"d3증감");
Plot8(A3,"d3이평1");
Plot9(B3,"d3이평2");
Plot10(D4,"d4증감");
Plot11(A4,"d4이평1");
Plot12(B4,"d4이평2");
Plot13(D5,"d5증감");
Plot14(A5,"d5이평1");
Plot15(B5,"d5이평2");
Plot16(D6,"d6증감");
Plot17(A6,"d6이평1");
Plot18(B6,"d6이평2");
Plot19(D7,"d7증감");
Plot20(A7,"d7이평1");
Plot21(B7,"d7이평2");
Plot22(D8,"d8증감");
Plot23(A8,"d8이평1");
Plot24(B8,"d8이평2");
Plot25(D9,"d9증감");
Plot26(A9,"d9이평1");
Plot27(B9,"d9이평2");
Plot28(D10,"d10증감");
Plot29(A10,"d10이평1");
Plot30(B10,"d10이평2");
Plot31(D11,"d11증감");
Plot32(A11,"d11이평1");
Plot33(B11,"d11이평2");
2
지수이평은 위 수식에서 ma만 ema로 변경하시면 됩니다.
3. MACD
input : short(5),long(20),sig(9);
var : O1(0,Data1),D1(0,Data1),MACDV1(0,data1),MACDS1(0,Data1);
if Data1(Bdate != Bdate[1]) Then
O1 = Data1(OI[1]);
D1 = Data1(OI)-D1;
MACDV1 = Data1(ema(D1,Short)-Ema(D1,Long));
MACDS1 = Data1(ema(MACDV1,sig));
Plot1(MACDV1,"d1 MACD");
Plot2(MACDS1,"d1 MACD sig");
PlotBaseLine1(0);
4 MACD상승시 매수, 하락시 매도
input : short(5),long(20),sig(9);
var : O1(0,Data1),D1(0,Data1),MACDV1(0,data1),MACDS1(0,Data1);
if Data1(Bdate != Bdate[1]) Then
O1 = Data1(OI[1]);
D1 = Data1(OI)-D1;
MACDV1 = Data1(ema(D1,Short)-Ema(D1,Long));
MACDS1 = Data1(ema(MACDV1,sig));
if MACDV1 > MACDV1[1] Then
Buy();
if MACDV1 < MACDV1[1] Then
Sell();
5
ATM 계산
KOSIP200지수 차트에 아래식 적용하시면 됩니다.
var : P(0),S(0),T(0),ATM(0);
P = 2.5;
S = Floor(C/P)*P;
T = Close-S;
if T >= S/2 Then
ATM = S+2.5;
Else
ATM = S;
Plot1(ATM);
즐거운 하루되세요
> 분당고래 님이 쓴 글입니다.
> 제목 : 실시간 변하는 지표 가능할까요?
> 안녕하세요^^
옵션에서 현재 등가 기준으로 미결제약정을 상방 5개, 하방 5개 씩 콜, 풋 각각을 보고 싶습니다.
제가 생각하는게 구현이 가능한지 혹은 다른 방법이 있는지 문의 드립니다.
키움에선 제가 차트를 행사가별로 추가해서 상하방 한차트에 넣어서 보고 있긴한데 매번 바뀔때마다 수작업하는게 번거로워서요~
예제) 1분봉 차트를 각각 한개씩 띠우고 하나는 콜 종목을 다 넣고, 다른 하나는 풋 종목을 다넣는다. 그 이유는 참조데이터 미결을 사용하기 위해서
차트형식 = 콜, 풋 차트 현재 등가 300
312.5(미결 증감, 5이평, 20이평)
310(미결 증감, 5이평, 20이평)
307.5(미결 증감, 5이평, 20이평)
305(미결 증감, 5이평, 20이평)
302.5(미결 증감, 5이평, 20이평)
##등가 300(미결 증감, 5이평, 20이평)
297.5(미결 증감, 5이평, 20이평)
295(미결 증감, 5이평, 20이평)
292.5(미결 증감, 5이평, 20이평)
290(미결 증감, 5이평, 20이평)
287.5(미결 증감, 5이평, 20이평)
2. 등가 옵션의 미결 선색상을 빨간색 다른 색은 보라색으로. 등가가 바뀔때마다 가운데 등가 미결의 기준으로 자동으로 상, 하방 5개씩의 행사가 미결이 바뀌게 설정. 종목이라면 불가능하겠지만. 종목을 다 넣어두고 참조데이터로 미결만 쓴다면 가능하지 않을까요?
예를들어) 참조데이터가 다 들어가 있다는 전제하에 Date10이 행사가 300 콜이라고 치고(실제론 행사가별로 순서대로 넣을겁니다)
value9 = date(c) <= 행사가 302.5
value10 = date(c) <= 행사가 300
value11 = date(c) <= 행사가 297.5
Value99 = Date9(DayOi(0)-dayoi(1)) <= 행사가 302.5 미결
Value100 = Date10(DayOi(0)-dayoi(1)) <= 행사가 300 미결
Value101 = Date11(DayOi(0)-dayoi(1)) <= 행사가 297.5 미결
A=KOSPI200 - value9
B=KOSPI200 - value10
C=KOSPI200 - value11
IF(ABS(MIN(A,B,C.........................) - KOSPI200)= Value10, Value100)
엑셀로는 룩업함수 등등사용해서 해당 값의 미결을 가져오는게 가능한데 수식으론 어떻게 해야하는지 모르겠어요
3. 당일 옵션 미결의 증감을 구하는 수식을 어떻게 쓰면 될까요?
4. 당일 옵션 미결을 지수이동평균해서 보고 싶은데 수식을 어떻게 쓰면 될까요?
5. 옵션 미결을 MACD 처럼 만들어서 보고 싶은데 수식을 어떻게 쓰면 될까요?
6. MACD 처럼만든 미결을 신호로도 같이 보고 싶습니다. 이전값보다 작으면 까만 화살표, 이전값보다 크면 빨간 화살표
7. 등가 옵션을 구하는 식은 어떻게 작성하나요? MIN(KOSPI200 - 행사가) 이런식인가요~?
8. 당일 선물 미결제 증감식을 게시판에 있는걸 썼는데 수치가 다르게 나옵니다. 2020/11/09기준
var1 = DayOi(0)-dayoi(1);
if var1 > 0 Then
plot1(var1,"미결증감",RED);
Else
plot1(var1,"미결증감",BLUE);
이 식은 장마감후 5418로 나오는데, 선물 현재가에선 4841로 나옵니다.
9. Value와 수식 줄 길이는 각각 몇개, 몇줄로 제한이 되어 있나요?