첨부 이미지
그림1
안녕하세요.
아래 내용으로 코드를 적용해보니 원활하게 적용되지가 않습니다.
CME거래소 기준,
*문제1)
cme 거래소 기준
일자가 바뀌고 매수,매도 조건이 성립되어도 진입되지 않음.
*문제2)
수익이 200point (800틱)이 이루어졌으나,
다시 다시 재진입하는 현상이 나타남.
*문제3)
혹시나 하는 마음에 시스템 트레이딩설정창에서,
당일수익틱수 input을 (10) 변경하면,
청산조건이 성립하지 않아도. 즉시청산시킴.
시스템이,
단타로 수익을 쌓아가는 구조입니다.
청산시 마다 +수익1, +수익, -수익 이렇게 더해지면서
최종 목표 수익포인트에 도달시 거래소 기준 해당일자에 진입을 하지 않게 하고 싶습니다.
예) 1월5일 기준 (분봉거래)
수익 = 수익값 담을 빈배열
첫번쨰 숏진입 수익 5 point (봉 완성시)
두번째 롱진입 수익 50 point (봉 완성시)
세번째 롱진입 손실 -50 point (봉 완성시)
네번째 숏진입 수익 100 point (봉 완성시)
누적 수익합계 105로 1월5일 거래 종료 후 1월 6일 00:00:00 재시작
--- 이전 답변 ---
안녕하세요
예스스탁입니다.
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("");
}
}
}
}
즐거운 하루되세요
> 카카보오12 님이 쓴 글입니다.
> 제목 : 하루최대수익 달성시 당일거래 정지.
> 안녕하십니까?
매번 좋은 알고리즘을 알려주셔서 감사드립니다.
1분봉으로 선물 거래를 하고 있습니다.
기존에 올라온 글(QnA)들로 처리하려고 하니 계속 진입되어 이렇게 글을 납깁니다.
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분봉으로 진입하나,
하루 수익이 100point (나스닥 400틱) 달성 (봉 완성시)
당일거래 (CME거래소 시간 기준) 를 중지하고자 합니다.
유능하신분의 답장을 기다리겠습니다.
새해 복 많이 받으시고, 늘 건강하시길 바라겠습니다.
답변 1
예스스탁
예스스탁 답변
2022-01-07 15:08:34
> 카카보오12 님이 쓴 글입니다.
> 제목 : 당일목표수익 청산 재문의
> 안녕하세요.
아래 내용으로 코드를 적용해보니 원활하게 적용되지가 않습니다.
CME거래소 기준,
*문제1)
cme 거래소 기준
일자가 바뀌고 매수,매도 조건이 성립되어도 진입되지 않음.
*문제2)
수익이 200point (800틱)이 이루어졌으나,
다시 다시 재진입하는 현상이 나타남.
*문제3)
혹시나 하는 마음에 시스템 트레이딩설정창에서,
당일수익틱수 input을 (10) 변경하면,
청산조건이 성립하지 않아도. 즉시청산시킴.
시스템이,
단타로 수익을 쌓아가는 구조입니다.
청산시 마다 +수익1, +수익, -수익 이렇게 더해지면서
최종 목표 수익포인트에 도달시 거래소 기준 해당일자에 진입을 하지 않게 하고 싶습니다.
예) 1월5일 기준 (분봉거래)
수익 = 수익값 담을 빈배열
첫번쨰 숏진입 수익 5 point (봉 완성시)
두번째 롱진입 수익 50 point (봉 완성시)
세번째 롱진입 손실 -50 point (봉 완성시)
네번째 숏진입 수익 100 point (봉 완성시)
누적 수익합계 105로 1월5일 거래 종료 후 1월 6일 00:00:00 재시작
--- 이전 답변 ---
안녕하세요
예스스탁입니다.
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("");
}
}
}
}
즐거운 하루되세요
> 카카보오12 님이 쓴 글입니다.
> 제목 : 하루최대수익 달성시 당일거래 정지.
> 안녕하십니까?
매번 좋은 알고리즘을 알려주셔서 감사드립니다.
1분봉으로 선물 거래를 하고 있습니다.
기존에 올라온 글(QnA)들로 처리하려고 하니 계속 진입되어 이렇게 글을 납깁니다.
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분봉으로 진입하나,
하루 수익이 100point (나스닥 400틱) 달성 (봉 완성시)
당일거래 (CME거래소 시간 기준) 를 중지하고자 합니다.
유능하신분의 답장을 기다리겠습니다.
새해 복 많이 받으시고, 늘 건강하시길 바라겠습니다.