답변완료
문의 드립니다.~~~~
슈고하십니다
아래식 조건으로 시뮬레이션챠트로 매매 결과를 검토하는 중
실제에서는 설정된 봉시간내에 먼저 손절값에 도달한 후에
익절값에 다시 도달했을시는 손절이 되어 표기될 매매가 익절로 바뀌어 표기가 되어
(실제는 손절인데 익절로 표기)
정확한 결과 값을 알 수 없게 되는데
정확한 결과 값을 가지려면 어떻게 해야 하나요..
input : ntime(60);
input : StartTime(70000),EndTime(50000);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),SumSqrt(0),Stdv(0);
var : sum(0),BBmd(0),Bbup(0),BBdn(0);
Array : CC[100](0);
var : Tcond(false);
if (NextBarSdate != sdate and NextBarStime >= EndTime) or
(NextBarSdate == sdate and NextBarStime >= EndTime and stime < EndTime) Then
Tcond = False;
if (NextBarSdate != sdate and NextBarStime >= StartTime) or
(NextBarSdate == sdate and NextBarStime >= StartTime and stime < StartTime) Then
{
Tcond = true;
S1 = TimeToMinutes(NextBarStime);
D1 = NextBarSdate;
}
if D1 > 0 then
{
if NextBarSdate == D1 Then
TM = TimeToMinutes(NextBarStime)-S1;
Else
TM = TimeToMinutes(NextBarStime)+1440-S1;
TF = TM%ntime;
if NextBarSdate != sdate or
(NextBarSdate == sdate and ntime > 1 and TF < TF[1]) or
(NextBarSdate == sdate and ntime > 1 and TM >= TM[1]+ntime) or
(NextBarSdate == sdate and ntime == 1 and TM > TM[1]) Then
{
var1 = NextBarOpen;
}
if Tcond == true and MarketPosition <= 0 Then
Buy("시작매수",AtStop,var1+PriceScale*10);
if Tcond == true and MarketPosition >= 0 Then
Sell("시작매도",AtStop,var1-PriceScale*10);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
SetStopProfittarget(PriceScale*10,PointStop);
SetStopLoss(PriceScale*10,PointStop);
2023-02-07
939
글번호 166084
시스템
답변완료
문의드립니다.
안녕하세요.
아래수식은 피라미딩 수식입니다
10단계까지 1계약씩 진입예정이고요.
4단계와 7단계에서 1계약을 팔아주고 다시 사서 중간 이악을 취하도록
수정을 부탁드립니다.
4단계 진입이 되면 1걔약을 우선 팔고 다시 1계약을 매수하고 싶습니다.
즉 4단계와 7단계 에서는 2계약이 매수 되고 1계약이 매도 됩니다,
이렇게 되면
AvgEntryPrice 가격도 원래 보다 높은 가격으로 수정이 되는 것이 맞는 것인지요?
높은 가격으로 수정되어야 이런 과정이 의미가 있기 때문입니다.
매도도 반대논리로 수정을 부탁드립니다.
if MarketPosition == 1 Then
{
buy("bb",AtStop,LatestEntryPrice(0)+PriceScale*매수간격);
if MaxEntries == 1 Then
ExitLong("매수1손절",AtStop,EntryPrice-PriceScale*손절변수);
if MaxEntries >= 2 Then
ExitLong("bx",AtStop,AvgEntryPrice);
ExitLong("매수이익x",AtLimit,AvgEntryPrice+PriceScale*이익변수 );
}
if MarketPosition == -1 Then
{
Sell("ss",AtStop,LatestEntryPrice(0)-PriceScale*매도간격);
if MaxEntries == 1 Then
ExitShort("매도1손절",AtStop,EntryPrice+PriceScale*손절변수 );
if MaxEntries >= 2 Then
ExitShort("sx",AtStop,AvgEntryPrice);
ExitShort("매도이익",AtLimit,AvgEntryPrice-PriceScale*이익변수);
}
2023-02-07
781
글번호 166076
시스템
답변완료
수식 관련 문의드립니다.
안녕하세요.
진입서식에 대해 궁금증이 있어서 문의드립니다.
아래서식 시스템 진입조건을 검색서식으로도 작성하여, 신호가 실시간으로 보이도록 하고 시스템을 시험운영중입니다.
시스템 매매시 계약진입할때 신호(검색)가 나오고있는 봉이 완성되면 신호봉이 아니라 꼭 다음봉에서 진입하는데,
장대 음봉이나 양봉이 형성될때 현재봉에서 신호(조건이 만족됨)가 나오면, 꼭대기나 맨아래 에서 다음봉에 진입하게 되어,
애로 사항이 있는데,
신호(조건이 만족됨)가 나오면 바로 신호나오고있는 봉이 완성되지 않아도,
다음봉까지 기다리지 않고 바로 진입하는 수식은 없는지요 ? 현재 시스템 매매상 구현이 안되는지요 ? ~
ex) 예를 들면, 5일선과 20일선 위에 가격이 도달하면 진입 이라는 조건이, 두 이평선위에 가격이 도달 한 현재봉이 완성되고 다음봉에
진입이 아니라, 그냥 가격이 두 이평선위에 도달하면 바로 진입 되는 수식 이라고 예를 들어 봅니다.
정~ 신호가 나온 다음봉에 진입할 수가 없다면,
혹시 3분봉 차트상 해당 시스템이 구현중이라면, 가상1분봉을 대입하여, 3분봉을 1분으로 3등분하여,
바로 진입할 수있는 방법은 없는지요 ? ^^
개발자님께서 예전에 Atstop 을 쓰셔서 만들어 주신 수식을 참고로 아래에 첨부합니다.
===============
{
if MarketPosition == 0 and
O > var1 and var1 < var1[1] and var2 < var2[1] Then
{
Sell("B1", AtStop, C-(PriceScale*0));
}
}
===============
항상 감사드리며,
늘 건강하시고, 좋은일 가득 일어나시길 바랍니다. ~
2023-02-07
801
글번호 166058
시스템