예스스탁
예스스탁 답변
2019-12-17 14:03:35
안녕하세요
예스스탁입니다.
해당 수식이 매일 ntime봉의 종가를 기준으로
손익을 계산하는 내용입니다.
1
당일만 표시하고자 하시면 아래식 이용하시면 됩니다.
input : ntime(90000);//진입시간
input : CallPosition(-1),PutPosition(-1);//매수면1, 매도면-1
input : CallVol(1),PutVol(1);//진입수량
var : cond(false,data1),CallEntry(0,data1),CallPL(0,data1),PutEntry(0,data2),PutPL(0,data2);
if data1(stime == ntime) Then
{
cond = true;
CallEntry = data1(C); //지정한 시간의 시가이면 data1(O)
PutEntry = data2(C); //지정한 시간의 시가이면 data2(O)
}
if Cond == true then
{
if CallPosition == 1 then
CallPL = (data1(C)-CallEntry)*CallVol;
Else
CallPL = (CallEntry-data1(c))*CallVol;
if PutPosition == 1 then
PutPL = (data2(C)-PutEntry)*PutVol;
Else
PutPL = (PutEntry-data2(c))*PutVol;
if CurrentDate == sdate then
{
plot1(CallPL*BigPointValue+PutPL*BigPointValue,"총수익");
plot2(CallPL*BigPointValue,"콜수익");
plot3(PutPL*BigPointValue,"풋수익");
PlotBaseLine1(0);
PlotBaseLine2(100000);
PlotBaseLine3(-100000);
}
}
2
input : ntime(90000);//진입시간
input : CallPosition(-1),PutPosition(-1);//매수면1, 매도면-1
input : CallVol(1),PutVol(1);//진입수량
var : cond(false,data1),CallEntry(0,data1),CallPL(0,data1),PutEntry(0,data2),PutPL(0,data2);
if data1(stime == ntime) Then
{
cond = true;
CallEntry = data1(C); //지정한 시간의 시가이면 data1(O)
PutEntry = data2(C); //지정한 시간의 시가이면 data2(O)
}
if Cond == true then
{
if CallPosition == 1 then
CallPL = (data1(C)-CallEntry)*CallVol;
Else
CallPL = (CallEntry-data1(c))*CallVol;
if PutPosition == 1 then
PutPL = (data2(C)-PutEntry)*PutVol;
Else
PutPL = (PutEntry-data2(c))*PutVol;
plot1(CallPL*BigPointValue+PutPL*BigPointValue,"총수익");
plot2(CallPL*BigPointValue,"콜수익");
plot3(PutPL*BigPointValue,"풋수익");
PlotBaseLine1(0);
PlotBaseLine2(100000);
PlotBaseLine3(-100000);
}
즐거운 하루되세요
> 파란별 님이 쓴 글입니다.
> 제목 : 수식문의
> 아래의 식은 얼마전에 만들어 주신 수식입니다.
이 수식을 적용하면 전일, 전전일부터 시작되어 의도와 다른 곡선만 그려집니다.
당일분만 출력이 가능하게 만들면 좋겠습니다.
(ex, 당일분이면 1, 아니면 0)
당일분이 아니고 몇일동안 포지션을 유지할 경우,
// 지표속성의 변수에 진입일자
진입시간
d1 진입가
d2 진입가
d1 개수
d2 개수
이렇게 지정할수 있으면 좋겠습니다.
감사합니다.
input : ntime(90000);//진입시간
input : CallPosition(-1),PutPosition(-1);//매수면1, 매도면-1
input : CallVol(1),PutVol(1);//진입수량
var : CallEntry(0,data1),CallPL(0,data1),PutEntry(0,data2),PutPL(0,data2);
if data1(stime == ntime) Then
CallEntry = data1(C); //지정한 시간의 시가이면 data1(O)
if data2(stime == ntime) Then
PutEntry = data2(C); //지정한 시간의 시가이면 data2(O)
if CallPosition == 1 then
CallPL = (data1(C)-CallEntry)*CallVol;
Else
CallPL = (CallEntry-data1(c))*CallVol;
if PutPosition == 1 then
PutPL = (data2(C)-PutEntry)*PutVol;
Else
PutPL = (PutEntry-data1(c))*PutVol;
plot1(CallPL*BigPointValue+PutPL*BigPointValue,"총수익");
plot2(CallPL*BigPointValue,"콜수익");
plot3(PutPL*BigPointValue,"풋수익");
PlotBaseLine1(0);
PlotBaseLine2(100000);
PlotBaseLine3(-100000);