답변완료
수식 수정 부탁드립니다.
안녕하세요. 수고 많으십니다.
특정날짜에 시가 진입해서 특정날짜 시가에 청산하는 전략을 만들고 있습니다.
일봉을 사용하다보니 시가(장시작직후)에만 진입하도록 되어 있는데
10시(장시작 1시간후)에도 분할 매수매도 할 수 있도록 수식 수정 부탁드립니다.
(일봉에서 구현이 어렵다면 한시간봉으로 전략을 만들어 주셔도 됩니다.)
또한 진입 청산 날짜가 계속 추가되다 보면 과거 시뮬레이션을 하려면 라인수가 너무 많아지는 단점이 있습니다. 시뮬레이션 및 실전전략으로 사용하기 위해서 라인 수를 줄여서 컴팩트하게 만들어 주시면 감사하겠습니다.
Input : EntryDate1(20250331), EntryDate2(20250430);
Input : ExitDate1(20250429), ExitDate2(20250528);
Input : EntryTime1(90000), EntryTime2(100000);
Input : ExitTime1(140000), ExitTime2(150000);
If Date == EntryDate1 Then
{
Buy("BUY1", AtStop, NextBarOpen, int(1000000/C));
}
If Date == ExitDate1 Then
{
ExitLong("Sell1", Atstop, NextBarOpen, "BUY1");
}
If Date == EntryDate2 Then
{
Buy("BUY2", AtStop, NextBarOpen, int(1000000/C));
}
If Date == ExitDate2 Then
{
ExitLong("Sell2", Atstop, NextBarOpen, "BUY1");
}
2025-05-18
194
글번호 190919
시스템
답변완료
부탁드립니다 항상 감사합니다
// ===== 손익비 박스 전략 (복사 전용) =====
Input: 손절비율(0.995), 선길이분(60);
Var: 진입가(0), 손절가(0), 박스ID(0), 박스색(Red);
Var: 진입중(false), 숏모드(false);
// 예시 진입 조건 (사용자 조건에 맞게 수정)
If 진입중 == false and Close > Open Then
Begin
진입가 = Close;
손절가 = 진입가 * 손절비율;
진입중 = true;
숏모드 = false;
Text_New(Date, Time, Close, "TEST 진입");
TL_SetSize(TL_New(Date, Time, 진입가, Date, MinutesToTime(TimeToMinutes(Time) + 선길이분), 진입가), 1);
// 손익비 박스 시각화
박스ID = TL_New(Date, Time, 진입가, Date, Time, 손절가);
TL_SetColor(박스ID, 박스색);
TL_SetSize(박스ID, 2);
TL_SetExtLeft(박스ID, false);
TL_SetExtRight(박스ID, false);
Text_New(Date, Time, (진입가 + 손절가)/2, "손익비: 무한 / 손절: -" + NumToStr(100 - 손절비율 * 100, 1) + "%");
End;
구현이 되질않습니다 도와주세요 ㅠ
2025-05-17
209
글번호 190916
지표
답변완료
부탁드립니다 항상 감사합니다
Input: 비교봉(100), 플러스폭(20), 마이너스폭(20), 익절비율(1.05), 손절비율(0.95);
Var: A(0), B(0), T(0),
기준거래량(0), 진입가(0), 익절가(0), 손절가(0),
진입중(false), 매도완료(false), 총수(0), 승수(0), 진입날짜(0);
// 모멘텀 계산
A = O;
B = Accum(iff(A > A[비교봉], 플러스폭, iff(A < A[비교봉], -마이너스폭, 0)));
If B > B[1] Then
T = 1;
Else if B < B[1] Then
T = -1;
Else
T = T[1];
// 기준 거래량 계산 (데이터 충분할 때만)
If CurrentBar > 20 Then
기준거래량 = Average(volume, 20);
// 진입 조건
If 진입중 == false and 매도완료 == false and T == 1 and CurrentBar > 20 Then
Begin
If volume > 기준거래량 and
Close > BollBandUp(20, 2) and
Close > Open and
(Close - Open) > (High - Low) * 0.6 Then
Begin
진입가 = Close;
익절가 = 진입가 * 익절비율;
손절가 = 진입가 * 손절비율;
진입중 = true;
총수 = 총수 + 1;
진입날짜 = Date;
Text_New(Date, Time, Close, "BUY");
End;
End;
차트가 검증은되는데 구현이 되질않습니다 수정부탁드리겠습니다
2025-05-17
272
글번호 190914
지표
답변완료
부탁드립니다 항상 감사합니다
1.
Input: 기준배율(1.8), 익절비율(1.05), 손절비율(0.95);// 5%기준
Var: 기준거래량(0), 진입가(0), 익절가(0), 손절가(0),
진입중(false), 매도완료(false), 승수(0), 총수(0), 승률(0);
// --- 거래 조건 ---
기준거래량 = Average(volume, 20);
If 진입중 == false and 매도완료 == false Then
Begin
If volume > 기준거래량 and
Close > BollBandUp(20, 2) and
Close > Open and
(Close - Open) > (High - Low) * 0.6 Then
Begin
진입가 = Close;
익절가 = 진입가 * 익절비율;
손절가 = 진입가 * 손절비율;
진입중 = true;
총수 = 총수+1;
Text_New(date, time, Close, "BUY");
End;
End;
// --- 청산 조건 ---:진입 다음 봉 시가에 청산---
If 진입중 == true and 매도완료 == false Then
Begin
If Close >= 익절가 or Close <= 손절가 Then
Begin
If Close >= 익절가 Then
승수 = 승수+ 1;
// 손절 여부 확인
If Open <= 손절가 Then
Begin
Text_New(Date, Time, Open, "LOSS");
End
Else
Begin
Text_New(Date, Time, Open, "SELL");
End;
Text_New(date, time, Close, "SELL");
매도완료 = true;
End;
End;
// --- 상태 초기화 ---
If 매도완료 == true and (Close > 익절가 or Close < 손절가) Then
Begin
진입중 = false;
매도완료 = false;
End;
// --- 승률 계산 ---
If 총수 > 0 Then
승률 = 승수 / 총수 * 100.0;
Plot1(승률, "승률");
2.
Input: 기준배율(1.8), 익절비율(1.05), 손절비율(0.95); // 5% 기준
Var: 기준거래량(0), 진입가(0), 익절가(0), 손절가(0),
진입중(false), 매도완료(false), 승수(0), 총수(0), 승률(0),
진입날짜(0), 청산가(0),
누적손익률(0.0), 평균손익률(0.0), 손익률(0.0), profit(0),
선(0);
// --- 거래 조건 ---
기준거래량 = Average(volume, 20);
If 진입중 == false and 매도완료 == false Then
Begin
If volume > 기준거래량 and
Close > BollBandUp(20, 2) and
Close > Open and
(Close - Open) > (High - Low) * 0.6 Then
Begin
진입가 = Close;
익절가 = 진입가 * 익절비율;
손절가 = 진입가 * 손절비율;
진입중 = true;
총수 = 총수 + 1;
진입날짜 = Date;
Text_New(Date, Time, Close, "BUY");
End;
End;
// --- 청산 조건: 진입 다음 봉 시가에 청산 ---
If 진입중 == true and 매도완료 == false and Date > 진입날짜 Then
Begin
청산가 = Open;
// 손익 계산
profit = 청산가 - 진입가;
손익률 = (청산가 / 진입가 - 1.0) * 100;
// 승수 및 표시
If 청산가 >= 익절가 Then
승수 = 승수 + 1;
If 청산가 <= 손절가 Then
Begin
Text_New(Date, Time, 청산가, "LOSS");
End
Else
Begin
Text_New(Date, Time, 청산가, "SELL");
End;
// 선 표시
선 = TL_New(Date, Time, 청산가, Date, Time, 청산가);
TL_SetColor(선, Cyan);
TL_SetSize(선, 2);
// 누적 손익률 계산
누적손익률 = 누적손익률 + 손익률;
평균손익률 = 누적손익률 / 총수;
매도완료 = true;
End;
// --- 상태 초기화 ---
If 매도완료 == true and Date > 진입날짜 Then
Begin
진입중 = false;
매도완료 = false;
End;
// --- 실시간 계산 출력 ---
If 총수 > 0 Then
Begin
승률 = 승수 / 총수 * 100.0;
Plot1(승률, "승률");
Plot2(평균손익률, "평균손익률");
Plot3(누적손익률, "누적손익률");
End;
3.
Input: 기준배율(1.8), 익절비율(1.02), 손절비율(0.98);
Var: 기준거래량(0), 진입가(0), 익절가(0), 손절가(0),
진입중(false), 매도완료(false), 승수(0), 총수(0), 승률(0);
// --- 거래 조건 ---
기준거래량 = Average(volume, 20);
If 진입중 == false and 매도완료 == false Then
Begin
If volume > 기준거래량 and
Close > BollBandUp(20, 2) and
Close > Open and
(Close - Open) > (High - Low) * 0.6 Then
Begin
진입가 = Close;
익절가 = 진입가 * 익절비율;
손절가 = 진입가 * 손절비율;
진입중 = true;
총수 = 총수+1;
Text_New(date, time, Close, "BUY");
End;
End;
// --- 청산 조건 ---
If 진입중 == true and 매도완료 == false Then
Begin
If Close >= 익절가 or Close <= 손절가 Then
Begin
If Close >= 익절가 Then
승수 = 승수+ 1;
Text_New(date, time, Close, "SELL");
매도완료 = true;
End;
End;
// --- 상태 초기화 ---
If 매도완료 == true and (Close > 익절가 or Close < 손절가) Then
Begin
진입중 = false;
매도완료 = false;
End;
// --- 승률 계산 ---
If 총수 > 0 Then
승률 = 승수 / 총수 * 100.0;
Plot1(승률, "승률");
전부다 이미니 나스닥100 지수 선물차트에 다음항목과 공유누르면 작동이안됩니다 작동되게 부탁드릴꼐요
2025-05-17
276
글번호 190912
지표