예스스탁
예스스탁 답변
2020-07-07 15:43:03
안녕하세요
예스스탁입니다.
1
input : StartTime(223000),EndTime(060000),연속손절(3);
var : Tcond(false),T1(0),entry(false),loss(0),cnt(0);
if StartTime < EndTime Then
SetStopEndofday(endTime);
if StartTime > EndTime Then
{
if sdate != sdate[1] Then
SetStopEndofday(endtime);
if bdate != bdate[1] Then
SetStopEndofday(0);
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
entry = true;
T1 = TotalTrades;
var1 = h;
var2 = l;
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if TotalTrades >= T1+연속손절 then
{
loss = 0;
for cnt = 1 to 연속손절
{
if IsExitName("StopLoss",cnt) == true Then
loss = loss+1;
}
if loss == 연속손절 Then
entry = false;
}
if Tcond == true and entry == true then
{
if NextBarOpen <= var1 then
buy("b",AtStop,var1);
if NextBarOpen >= var2 then
sell("s",AtStop,var2);
}
SetStopProfittarget(PriceScale*5,PointStop);
SetStopLoss(PriceScale*5,PointStop);
2
해당 수식이 봉미완성시에 가격조건만 충족이 되면 신호가 발생합니다.
진입제한은 if문으로 제어해야 하는데 if문은 봉완성시에 조건을 체크하게 됩니다.
그러므로 매수와 매도신호가 미완성시에 한봉에서 모두 발생하는 경우에는
1회 진입제한이 가능하지 않습니다. 이런 경우에는 하루 최대 2회가 발생하게 됩니다.
input : StartTime(223000),EndTime(060000),연속손절(3);
var : Tcond(false),entry(0);
if StartTime < EndTime Then
SetStopEndofday(endTime);
if StartTime > EndTime Then
{
if sdate != sdate[1] Then
SetStopEndofday(endtime);
if bdate != bdate[1] Then
SetStopEndofday(0);
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
entry = 0;
var1 = h;
var2 = l;
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if Tcond == true and entry < 1 then
{
if MarketPosition <= 0 and NextBarOpen <= var1 then
buy("b",AtStop,var1);
if MarketPosition >= 0 and NextBarOpen >= var2 then
sell("s",AtStop,var2);
}
SetStopProfittarget(PriceScale*5,PointStop);
SetStopLoss(PriceScale*5,PointStop);
즐거운 하루되세요
> wootnt 님이 쓴 글입니다.
> 제목 : 수식요청 드립니다
> 1분봉을 기준으로 했을 때 특정시간에 발생한 캔들(예를들어 22시 30분에 만들어진)을
기준봉으로 삼아 해당봉의 고가돌파시 매수, 저가돌파시 매도 하는 수식을 요청드립니다.
5틱 익절/5틱 손절
종가마감 후 다음봉에서 진입의 의미는 아닙니다.
1000이 고가이며 다음봉의 시가가 950일때 1000에서 매수하는 식입니다.
1)상기 요청드린 수식 부탁드립니다.
2)1번 수식에 3회 연속손절시 매매종료 수식 추가 부탁드립니다.
3)1번 수식에 22시30분 기준봉이 만들어진 후 최초1회만 진입하는 수식 부탁드립니다.
감사합니다.