안녕하세요
앞전에 하루 최대수익 도달시 더이상 거래 안되게 코드를 알려주셨는데
추가적으로 넣고싶은 코드가 있어 며칠간 도전해보다 실패하여 이렇게 글을 남깁니다.
만약 현재 코드에서(아래 첨부)
진입 후 현재손실 누적포인트가 -50point(나스닥) 경우
프로핏타겟(xx,pointstop); (신호즉시)
코드가 실행되고,
다시 현재 손실금액이 0이상으로 바뀌면
프로핏타겟 진행을 멈추고 아래 코드로 진행되게 하려 합니다.
*요약 -
-당일거래 진행중 손실이 -50 포인트 이상 손실 발생시
프로핏타겟 모드로 진행,
- 다시 수익이 -50 에서 0포인트 이상으로 바뀌면
프로핏타겟 모드 해제,
이전 코드 내용,
Input : 당일수익틱수(400);
Var : N1(0),dayPl(0),당일수익(0),Xcond(false);
당일수익 = PriceScale*당일수익틱수;
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit;
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 당일수익 Then
Xcond = true;
if (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then
Xcond = true;
}
if MarketPosition == 1 then
{
if C >= EntryPrice+((당일수익-daypl)/CurrentContracts) Then
ExitLong("dbp");
}
if MarketPosition == -1 then
{
if C <= EntryPrice-((당일수익-daypl)/CurrentContracts) then
ExitShort("dsp");
}
if Xcond == false then
{
if MarketPosition == 0 and (진입시간1, 진입시간2) Then
{
if 매수조건 Then
{
Buy();
}
if 매도조건 Then
{
Sell();
}
}
if MarketPosition == 1 Then
{
if 매수청산 조건 Then
{
ExitLong();
if 매도진입조건 (스위칭) and (진입시간1, 진입시간2) Then
{
Sell("");
}
}
}
if MarketPosition == -1 Then
{
if 매도청산 조건 Then
{
ExitShort();
if 매수 진입조건 (스위칭) and (진입시간1, 진입시간2) Then
{
Buy("");
}
}
}
}
답변 1
예스스탁
예스스탁 답변
2022-05-13 13:58:01
안녕하세요
예스스탁입니다.
Input : 당일수익틱수(400),익절포인트(5);
Var : N1(0),dayPl(0),당일수익(0),Xcond(false);
당일수익 = PriceScale*당일수익틱수;
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit;
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 당일수익 Then
Xcond = true;
if (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then
Xcond = true;
}
if MarketPosition == 1 then
{
if C >= EntryPrice+((당일수익-daypl)/CurrentContracts) Then
ExitLong("dbp");
}
if MarketPosition == -1 then
{
if C <= EntryPrice-((당일수익-daypl)/CurrentContracts) then
ExitShort("dsp");
}
if Xcond == false then
{
if MarketPosition == 0 and (진입시간1, 진입시간2) Then
{
if 매수조건 Then
{
Buy();
}
if 매도조건 Then
{
Sell();
}
}
if MarketPosition == 1 Then
{
if 매수청산 조건 Then
{
ExitLong();
if 매도진입조건 (스위칭) and (진입시간1, 진입시간2) Then
{
Sell("");
}
}
}
if MarketPosition == -1 Then
{
if 매도청산 조건 Then
{
ExitShort();
if 매수 진입조건 (스위칭) and (진입시간1, 진입시간2) Then
{
Buy("");
}
}
}
}
if daypl >= 0 Then
SetStopProfittarget(0);#해제
if daypl <= -50 Then
SetStopProfittarget(익절포인트,PointStop);#설정
즐거운 하루되세요
> 카카보오12 님이 쓴 글입니다.
> 제목 : 하루최대 수익 및 장중 손실금액 수식 부탁드립니다.
> 안녕하세요
앞전에 하루 최대수익 도달시 더이상 거래 안되게 코드를 알려주셨는데
추가적으로 넣고싶은 코드가 있어 며칠간 도전해보다 실패하여 이렇게 글을 남깁니다.
만약 현재 코드에서(아래 첨부)
진입 후 현재손실 누적포인트가 -50point(나스닥) 경우
프로핏타겟(xx,pointstop); (신호즉시)
코드가 실행되고,
다시 현재 손실금액이 0이상으로 바뀌면
프로핏타겟 진행을 멈추고 아래 코드로 진행되게 하려 합니다.
*요약 -
-당일거래 진행중 손실이 -50 포인트 이상 손실 발생시
프로핏타겟 모드로 진행,
- 다시 수익이 -50 에서 0포인트 이상으로 바뀌면
프로핏타겟 모드 해제,
이전 코드 내용,
Input : 당일수익틱수(400);
Var : N1(0),dayPl(0),당일수익(0),Xcond(false);
당일수익 = PriceScale*당일수익틱수;
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit;
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 당일수익 Then
Xcond = true;
if (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then
Xcond = true;
}
if MarketPosition == 1 then
{
if C >= EntryPrice+((당일수익-daypl)/CurrentContracts) Then
ExitLong("dbp");
}
if MarketPosition == -1 then
{
if C <= EntryPrice-((당일수익-daypl)/CurrentContracts) then
ExitShort("dsp");
}
if Xcond == false then
{
if MarketPosition == 0 and (진입시간1, 진입시간2) Then
{
if 매수조건 Then
{
Buy();
}
if 매도조건 Then
{
Sell();
}
}
if MarketPosition == 1 Then
{
if 매수청산 조건 Then
{
ExitLong();
if 매도진입조건 (스위칭) and (진입시간1, 진입시간2) Then
{
Sell("");
}
}
}
if MarketPosition == -1 Then
{
if 매도청산 조건 Then
{
ExitShort();
if 매수 진입조건 (스위칭) and (진입시간1, 진입시간2) Then
{
Buy("");
}
}
}
}