안녀하세요.
아래 다른 글에서 하루한번만 진입하도록 제한하는 방식을 entry를 사용하여
다음과 같이 알려주셨습니다.
--------------------------------
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;
---------------------------------
그런데, 만일 아래와 같이 2개의 전략이 합성된 시스템을 운용중일경우
-------------------------
if crossup(c,2*DayHigh(1)) then
{
buy("매수1");
}
if crossup(c,2*Dayclose(1)) then
{
buy("매수2);
}
--------------------------------------
entry<1로 제한하면 어느전략이든지 관계없이 하루에 1번만 진입하게 되는것 같습니다.
저는 동일한 전략일경우에만 하루1번만으로 제한하고 싶습니다.
(즉, 매수1이후에 매수2신호가 뜨면 허용되도록)
어떻게 수식을 작성하면 될런지요?
답변 1
예스스탁
예스스탁 답변
2022-07-06 10:34:42
안녕하세요
예스스탁입니다.
var : entry1(0),entry2(0);
if Bdate != Bdate[1] Then
{
entry1 = 0;
entry2 = 0;
}
if MarketPosition == 1 and LatestEntryName(0) == "매수1" Then
entry1 = entry1+1;
if MarketPosition == 1 and LatestEntryName(0) == "매수2" Then
entry2 = entry2+1;
if entry1 < 1 and crossup(c,2*DayHigh(1)) then
{
buy("매수1");
}
if entry2 < 1 and crossup(c,2*Dayclose(1)) then
{
buy("매수2");
}
즐거운 하루되세요
> 건곤대 님이 쓴 글입니다.
> 제목 : 동일전략만 중복제한
> 안녀하세요.
아래 다른 글에서 하루한번만 진입하도록 제한하는 방식을 entry를 사용하여
다음과 같이 알려주셨습니다.
--------------------------------
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;
---------------------------------
그런데, 만일 아래와 같이 2개의 전략이 합성된 시스템을 운용중일경우
-------------------------
if crossup(c,2*DayHigh(1)) then
{
buy("매수1");
}
if crossup(c,2*Dayclose(1)) then
{
buy("매수2);
}
--------------------------------------
entry<1로 제한하면 어느전략이든지 관계없이 하루에 1번만 진입하게 되는것 같습니다.
저는 동일한 전략일경우에만 하루1번만으로 제한하고 싶습니다.
(즉, 매수1이후에 매수2신호가 뜨면 허용되도록)
어떻게 수식을 작성하면 될런지요?