예스스탁
예스스탁 답변
2022-09-19 10:46:27
안녕하세요
예스스탁입니다.
당일청산은 분봉이하 주기에 적용하는 시스템에만 가능합니다.
if문이 봉완성 기준이라 일봉 장종료 5분전을 지정하지 못합니다.
즐거운 하루되세요
> 푸른 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 1.
input : 익절틱수(150),손절틱수(30);
var : DD(0),Year(0),V1(0),V2(0),V3(0),V4(0),summer(False);
var : ST(0),ET(0),entry(0);
if NextBarSdate != sDate Then
{
DD = DayOfWeek(NextBarSdate);
Year = Floor(NextBarSdate/10000);
V1 = (10000 * Year) + (100 * 3) + 1;
V2 = 15 - dayofweek(v1);
v3 = (10000 * Year) + (100 * 11) + 1;
v4 = 8 - dayofweek(v3);
Summer = NextBarSdate > (10000 * Year) + (100 * 3) + v2
And NextBarSdate < (10000 * Year) + (100 * 11) + v4;
if summer == true Then
{
ST = 70000;
ET = 55000;
}
Else
{
ST = 80000;
ET = 65000;
}
}
if Year > 0 Then
{
IF ET > ST Then
SetStopEndofday(ET);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(ET);
}
if Bdate != Bdate[1] Then
{
entry = 0;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if ((NextBarSdate != sDate and NextBarStime >= ST) or
(NextBarSdate == sDate and NextBarStime >= ST and sTime < ST)) Then
{
IF ET <= ST Then
{
SetStopEndofday(0);
}
if NextBarOpen > C Then
{
Buy("b1",AtStop,NextBarOpen+PriceScale*1);
Sell("s1",AtStop,NextBarOpen-PriceScale*1);
}
if NextBarOpen < C Then
{
ExitLong("bx1",AtStop,NextBarOpen-PriceScale*1);
ExitShort("sx1",AtStop,NextBarOpen+PriceScale*1);
}
}
Else
{
if DayHigh < DayOpen+PriceScale*1 and DayOpen > DayClose(1) and entry < 1 Then
Buy("b2",AtStop,DayOpen+PriceScale*1);
if DayLow > DayOpen-PriceScale*1 and DayOpen > DayClose(1) and entry < 1 Then
Sell("s2",AtStop,DayOpen-PriceScale*1);
if DayOpen < DayClose(1) Then
{
if DayLow > DayOpen-PriceScale*1 Then
ExitLong("bx2",AtStop,DayOpen-PriceScale*1);
if DayHigh < DayOpen+PriceScale*1 Then
ExitShort("sx2",AtStop,DayOpen+PriceScale*1);
}
}
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2.
input : 익절틱수(160),손절틱수(30);
if NextBarSdate != sDate Then
{
if NextBarOpen < C Then
{
Buy("b",AtStop,NextBarOpen+PriceScale*1);
Sell("s",AtStop,NextBarOpen-PriceScale*1);
}
if NextBarOpen > C Then
{
ExitLong("bx",AtStop,NextBarOpen-PriceScale*1);
ExitShort("sx",AtStop,NextBarOpen+PriceScale*1);
}
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
if MarketPosition == 1 Then
Sell("s1",AtStop,EntryPrice-2);
if MarketPosition == -1 Then
Buy("b1",AtStop,EntryPrice+2);
if MarketPosition == 1 Then
Sell("s2",AtStop,EntryPrice-4);
if MarketPosition == -1 Then
Buy("b2",AtStop,EntryPrice+4);
3.
input : 익절틱수(160),손절틱수(30);
if NextBarSdate != sDate Then
{
if NextBarOpen > C Then
{
Buy("b",AtStop,NextBarOpen+PriceScale*1);
ExitLong("bx",AtLimit, NextBarOpen+PriceScale*1+(H-L)*0.7);
}
if NextBarOpen < C Then
{
Sell("s",AtStop,NextBarOpen-PriceScale*1);
ExitShort("sx",AtLimit,NextBarOpen-PriceScale*1-(H-L)*0.7);
}
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
위 3가지 수식은 일봉매매 수식어입니다.
당일 익절이 장종료 5분전까지 없을때 그 5분의 싯점에
자동청산되는 수식어를 추가하고자 합니다.