매번 도움 주셔서 너무나 감사드립니다~
67667 답변해주신 글 재확인 요청드립니다~
건강하시고 수고하세요~
답변 1
예스스탁
예스스탁 답변
2020-05-28 14:57:58
안녕하세요
예스스탁입니다.
진입후 N개봉과 N분 경과시 청산하는 내용을 추가해 드립니다.
input : P1(5),P2(20),익절(30),손절(20),Nbars(10),Nminutes(60);
input : 시작시간1(90000),끝시간1(93000),당일청산(054000);
var : Tcond(false),entry(0);
var : S1(0),D1(0),TM(0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
}
if (sdate != sdate[1] and stime >= 시작시간1) or
(sdate == sdate[1] and stime >= 시작시간1 and stime[1] < 시작시간1) Then
{
Tcond = true;
entry = 0;
}
if (sdate != sdate[1] and stime >= 끝시간1) or
(sdate == sdate[1] and stime >= 끝시간1 and stime[1] < 끝시간1) Then
Tcond = False;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
var1 = ma(C,P1);
var2 = ma(C,P2);
if MarketPosition == 0 and Tcond == true and entry < 1 Then
{
if crossup(var1,var2) Then
buy("b");
if CrossDown(var1,var2) Then
sell("s");
}
if MarketPosition == 1 Then
{
if BarsSinceEntry == Nbars Then
exitlong("N봉후매수청산");
if TM >= TM[BarsSinceEntry]+Nminutes Then
exitlong("N분후매수청산");
}
if MarketPosition == -1 Then
{
if BarsSinceEntry == Nbars Then
ExitShort("N봉후매도청산");
if TM >= TM[BarsSinceEntry]+Nminutes Then
ExitShort("N분후매도청산");
}
SetStopProfittarget(익절,PointStop);
SetStoploss(손절,PointStop);
if sdate != sdate[1] Then
SetStopEndofday(당일청산);
if bdate != bdate[1] Then
SetStopEndofday(0);
즐거운 하루되세요
> 머어얼 님이 쓴 글입니다.
> 제목 : 67667 글 확인 부탁드립니다~^^
> 매번 도움 주셔서 너무나 감사드립니다~
67667 답변해주신 글 재확인 요청드립니다~
건강하시고 수고하세요~