안녕하세요. 개발자님
수식문의 드립니다.
=============
진입조건
var1 = ma(C,12);
if MarketPosition == 0 and var1 > var1[1] and NextBarOpen < var1 Then
buy();
SetStopProfittarget(PriceScale*60,PointStop);
SetStopLoss(PriceScale*20,PointStop);
============
위의 진입조건에서 진입과 청산중에 익절이 나면 계속 진입진행하고
그러던중 첫손절이 나면
그다음 2번째 진입은
바로 전 손절 가격보다 아래(유리한가격)에서 진입하고
익절이 나면 계속진입하지만,
2번째 진입도 손절이 나면 그다음부터 진입은 일시중지하고,
위의 진입조건이 새롭게 다시 나오면 그때 부터 다시 진입을 시작합니다.
(var1 < var1[1] 이렇게 되었다가 다시 if MarketPosition == 0 and var1 > var1[1] and NextBarOpen < var1 Then , 이조건이 만족되면 다시 진입시작)
늘 감사드립니다.
좋은 봄날 되세요. ~~
답변 1
예스스탁
예스스탁 답변
2024-02-29 11:33:16
안녕하세요
예스스탁입니다.
var : losscnt(0),Entry(true);
#영업일 변경되면 초기화
if Bdate != Bdate[1] Then
{
losscnt = 0;
Entry = true;
}
#청산발생
if TotalTrades > TotalTrades[1] Then
{
#청산명이 손절이면 1씩 증가
if IsExitName("StopLoss",1) == true Then
losscnt = losscnt+1;
Else //아니면 0
losscnt = 0;
#손절이 2회연속이면
if losscnt == 2 Then
{
#Entry는 False
Entry = False;
losscnt = 0;
}
}
var1 = ma(C,12);
#Entry가 False일때 var1이 하락하면 Entry는 true로 변경
if Entry == False and var1 < var1[1] Then
Entry = true;
if MarketPosition == 0
and Entry == true #entry가 true일때만 진입
and (losscnt == 0 or (losscnt > 0 and C < ExitPrice(1))) #직전청산이 손절이 아니거나 손절이면 손절가 이하에서만 조건만족시 진입
and var1 > var1[1] and NextBarOpen < var1 Then
buy();
SetStopProfittarget(PriceScale*60,PointStop);
SetStopLoss(PriceScale*20,PointStop);
즐거운 하루되세요
> 하늘선물 님이 쓴 글입니다.
> 제목 : 수식문의드립니다.
> 안녕하세요. 개발자님
수식문의 드립니다.
=============
진입조건
var1 = ma(C,12);
if MarketPosition == 0 and var1 > var1[1] and NextBarOpen < var1 Then
buy();
SetStopProfittarget(PriceScale*60,PointStop);
SetStopLoss(PriceScale*20,PointStop);
============
위의 진입조건에서 진입과 청산중에 익절이 나면 계속 진입진행하고
그러던중 첫손절이 나면
그다음 2번째 진입은
바로 전 손절 가격보다 아래(유리한가격)에서 진입하고
익절이 나면 계속진입하지만,
2번째 진입도 손절이 나면 그다음부터 진입은 일시중지하고,
위의 진입조건이 새롭게 다시 나오면 그때 부터 다시 진입을 시작합니다.
(var1 < var1[1] 이렇게 되었다가 다시 if MarketPosition == 0 and var1 > var1[1] and NextBarOpen < var1 Then , 이조건이 만족되면 다시 진입시작)
늘 감사드립니다.
좋은 봄날 되세요. ~~