커뮤니티
문의드립니다.
2019-02-21 12:13:03
160
글번호 126398
안녕하십니까? 항상업무에 수고가 많으십니다. 아래와 같이 문의 드립니다. 감사합니다.
현재 시스템 수식은 시 매수, 청산만 적용되어 있는데
Input : 시작시간(000000), 종료시간(240000);
Var : K_Value_Pos_Flag(0);
Var : 매매조건_K_Flag(0);
Var : 현재진입이후봉개수(0);
If DayIndex == 0 Then{K_Value_Pos_Flag = 0;매매조건_K_Flag = 0;현재진입이후봉개수 = 0;
}
If (sTime >= 시작시간) And (sTime <= 종료시간) Then{If MarketPosition(0) == 1 Then{
If (LMSADXSTKPGP_Color == -1) || (ADX_2015_Flag == -1) Then{ExitLong("청산", OnClose, Close, DEF, 매수_수량, 1);매매조건_K_Flag = 0;}
If 호가청산사용 == 1 Then{ExitLong("청산청산", AtLimit, (EntryPrice + (호가Pt)), DEF, 매수_수량, 1);호가청산_Flag = 1;}
If (UPDOWN_Flag == 1) && (LMSADXSTKPGP_Flag == 1) Then{If (MarketPosition(0) == 0) Then {If (호가청산_Flag == 0) ThenBuy("매수", OnClose, DEF, 매수_수량);
매매조건_K_Flag = 1;}}}
If (LMSADXSTKPGP_Color == -1) || (ADX_2015_Flag == -1) Then {호가청산_Flag = 0;}}
SetStopEndofday(StrToNum(LeftStr(NumToStr(종료시간, 0), 4)));
위와 같이 되어있는데 위 조건을 아래와 같이 시간을 나누려고 합니다.
Input : 시작시간1(103000), 종료시간1(133000);
Input : 시작시간2(000000), 종료시간2(020000);
Input : 시작시간3(050000), 종료시간2(060000);
수식부탁드립니다.
그리고,
선언되지 않은이름으로 "Tcond"가 사용되었습니다라고 뜨는데, 왜 그런지요?
2번째 질문은 위 수식기준 당일순손실 50틱 이하면 거래중단 식을 부탁드립니다.
제가 정말 초보라 위수식 해석도 부탁도 드립니다.
감사합니다.
답변 2
예스스탁 예스스탁 답변
2019-02-21 14:17:11
> 에쓰엠씨 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 안녕하십니까? 항상업무에 수고가 많으십니다. 아래와 같이 문의 드립니다. 감사합니다.
현재 시스템 수식은 시 매수, 청산만 적용되어 있는데
Input : 시작시간(000000), 종료시간(240000);
Var : K_Value_Pos_Flag(0);
Var : 매매조건_K_Flag(0);
Var : 현재진입이후봉개수(0);
If DayIndex == 0 Then{K_Value_Pos_Flag = 0;매매조건_K_Flag = 0;현재진입이후봉개수 = 0;
}
If (sTime >= 시작시간) And (sTime <= 종료시간) Then{If MarketPosition(0) == 1 Then{
If (LMSADXSTKPGP_Color == -1) || (ADX_2015_Flag == -1) Then{ExitLong("청산", OnClose, Close, DEF, 매수_수량, 1);매매조건_K_Flag = 0;}
If 호가청산사용 == 1 Then{ExitLong("청산청산", AtLimit, (EntryPrice + (호가Pt)), DEF, 매수_수량, 1);호가청산_Flag = 1;}
If (UPDOWN_Flag == 1) && (LMSADXSTKPGP_Flag == 1) Then{If (MarketPosition(0) == 0) Then {If (호가청산_Flag == 0) ThenBuy("매수", OnClose, DEF, 매수_수량);
매매조건_K_Flag = 1;}}}
If (LMSADXSTKPGP_Color == -1) || (ADX_2015_Flag == -1) Then {호가청산_Flag = 0;}}
SetStopEndofday(StrToNum(LeftStr(NumToStr(종료시간, 0), 4)));
위와 같이 되어있는데 위 조건을 아래와 같이 시간을 나누려고 합니다.
Input : 시작시간1(103000), 종료시간1(133000);
Input : 시작시간2(000000), 종료시간2(020000);
Input : 시작시간3(050000), 종료시간2(060000);
수식부탁드립니다.
그리고,
선언되지 않은이름으로 "Tcond"가 사용되었습니다라고 뜨는데, 왜 그런지요?
2번째 질문은 위 수식기준 당일순손실 50틱 이하면 거래중단 식을 부탁드립니다.
제가 정말 초보라 위수식 해석도 부탁도 드립니다.
감사합니다.
예스스탁 예스스탁 답변
2019-02-21 15:24:54
안녕하세요
예스스탁입니다.
Input : 당일손실틱수(50);
input : start1(110000),end1(150000);
input : start2(170000),end2(233000);
input : start3(000000),end3(030000);
Var : N1(0),dayPl(0),당일손실(0),Xcond(false);
var : Tcond(false);
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit[1];
}
if (sdate != sdate[1] and stime >= start1) or
(sdate == sdate[1] and stime >= start1 and stime[1] < start1) then
{
Tcond = true;
SetStopEndofday(end1);
}
if (sdate != sdate[1] and stime >= end1) or
(sdate == sdate[1] and stime >= end1 and stime[1] < end1) then
{
Tcond = false;
SetStopEndofday(0);
}
if (sdate != sdate[1] and stime >= start2) or
(sdate == sdate[1] and stime >= start2 and stime[1] < start2) then
{
Tcond = true;
SetStopEndofday(end2);
}
if (sdate != sdate[1] and stime >= end2) or
(sdate == sdate[1] and stime >= end2 and stime[1] < end2) then
{
Tcond = false;
SetStopEndofday(0);
}
if (sdate != sdate[1] and stime >= start3) or
(sdate == sdate[1] and stime >= start3 and stime[1] < start3) then
{
Tcond = true;
SetStopEndofday(end3);
}
if (sdate != sdate[1] and stime >= end3) or
(sdate == sdate[1] and stime >= end3 and stime[1] < end3) then
{
Tcond = false;
SetStopEndofday(0);
}
당일손실 = PriceScale*당일손실틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and
(IsExitName("dbl",1) == true or
IsExitName("dsl",1) == true or
daypl <= -당일손실) then
Xcond = true;
if MarketPosition == 1 then
{
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then
{
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
Var : K_Value_Pos_Flag(0);
Var : 매매조건_K_Flag(0);
Var : 현재진입이후봉개수(0);
If DayIndex == 0 Then
{
K_Value_Pos_Flag = 0;
매매조건_K_Flag = 0;
현재진입이후봉개수 = 0;
}
If Tcond == true and Xcond == false Then
{
If MarketPosition(0) == 1 Then
{
If (LMSADXSTKPGP_Color == -1) || (ADX_2015_Flag == -1) Then
{
ExitLong("청산", OnClose, Close, DEF, 매수_수량, 1);
매매조건_K_Flag = 0;
}
If 호가청산사용 == 1 Then
{
ExitLong("청산청산", AtLimit, (EntryPrice + (호가Pt)), DEF, 매수_수량, 1);
호가청산_Flag = 1;
}
If (UPDOWN_Flag == 1) && (LMSADXSTKPGP_Flag == 1) Then
{
If (MarketPosition(0) == 0) Then
{
If (호가청산_Flag == 0) Then
Buy("매수", OnClose, DEF, 매수_수량);
매매조건_K_Flag = 1;
}
}
}
If (LMSADXSTKPGP_Color == -1) || (ADX_2015_Flag == -1) Then
{
호가청산_Flag = 0;
}
}
즐거운 하루되세요
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 전화주시기 바랍니다(02-3453-1060)
>
> 에쓰엠씨 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 안녕하십니까? 항상업무에 수고가 많으십니다. 아래와 같이 문의 드립니다. 감사합니다.
현재 시스템 수식은 시 매수, 청산만 적용되어 있는데
Input : 시작시간(000000), 종료시간(240000);
Var : K_Value_Pos_Flag(0);
Var : 매매조건_K_Flag(0);
Var : 현재진입이후봉개수(0);
If DayIndex == 0 Then{K_Value_Pos_Flag = 0;매매조건_K_Flag = 0;현재진입이후봉개수 = 0;
}
If (sTime >= 시작시간) And (sTime <= 종료시간) Then{If MarketPosition(0) == 1 Then{
If (LMSADXSTKPGP_Color == -1) || (ADX_2015_Flag == -1) Then{ExitLong("청산", OnClose, Close, DEF, 매수_수량, 1);매매조건_K_Flag = 0;}
If 호가청산사용 == 1 Then{ExitLong("청산청산", AtLimit, (EntryPrice + (호가Pt)), DEF, 매수_수량, 1);호가청산_Flag = 1;}
If (UPDOWN_Flag == 1) && (LMSADXSTKPGP_Flag == 1) Then{If (MarketPosition(0) == 0) Then {If (호가청산_Flag == 0) ThenBuy("매수", OnClose, DEF, 매수_수량);
매매조건_K_Flag = 1;}}}
If (LMSADXSTKPGP_Color == -1) || (ADX_2015_Flag == -1) Then {호가청산_Flag = 0;}}
SetStopEndofday(StrToNum(LeftStr(NumToStr(종료시간, 0), 4)));
위와 같이 되어있는데 위 조건을 아래와 같이 시간을 나누려고 합니다.
Input : 시작시간1(103000), 종료시간1(133000);
Input : 시작시간2(000000), 종료시간2(020000);
Input : 시작시간3(050000), 종료시간2(060000);
수식부탁드립니다.
그리고,
선언되지 않은이름으로 "Tcond"가 사용되었습니다라고 뜨는데, 왜 그런지요?
2번째 질문은 위 수식기준 당일순손실 50틱 이하면 거래중단 식을 부탁드립니다.
제가 정말 초보라 위수식 해석도 부탁도 드립니다.
감사합니다.