답변완료
안녕하세요 종목검색문의 부탁드립니다^^
안녕하세요 언제나 고생이 많으십니다 ㅜㅜ
아래수식을 제가 키움에서 쓰던건데 예스트레이더 수식으로 변환하고 싶습니다
잘부탁드리겠습니다 ㅜㅜ
A1 = valuewhen(1, crossup((highest(high,기간3)+lowest(low,기간3))/2, (highest(high,기간4)+lowest(low,기간4))/2), C);
A2 = valuewhen(1, crossup((highest(high,기간1)+lowest(low,기간1))/2, (highest(high,기간2)+lowest(low,기간2))/2), C);
A3 = valuewhen(1,crossdown(c, sar(af,maxaf)), h);
A4 = valuewhen(1,crossdown(c, sar(af2,maxaf2)), h);
B = (A1 <=C) + (A2 <=C) + (A3 <=C) + (A4 <=C);
B == 4
2024-08-01
753
글번호 182128
종목검색
답변완료
프리장 써머타임/비써머타임에 따른 거래시간 변동 적용
안녕하세요. 수식 문의드립니다.
미국 정규장 이전의 프리장동안만 매매를 하고 싶은데, 써머타임 적용 유무에 따라 시작/종료 시간에 변동을 주고 싶습니다.
커뮤니티에 있는 것들을 보면서 수식을 만들었는데, 이렇게 돌리면 종료시간에 청산을 하지 않고, 다음날까지 넘어가버립니다.
다음날까지 넘어가지 않고, 종가청산은 미국 정규시장 시작시간 전에 실행하고 싶습니다.
전략 예시는 시가 대비 50pt 변동시 그 방향으로 진입하는 간단한 사례를 넣어놓았습니다.
감사합니다.
///////////////////////////////////////////////////////////////////////////////////
#07:00 시가 대비 ±50pt 초과진행시 진입
#써머타임 (당일 07:00 ~ 22:30)
#비써머타임 (당일 08:00 ~ 23:30)
var : Summer(False);
var : S1(0),S2(0),E1(0),E2(0),cnt(0),ST(0),ET(0);
var : Tcond(false);
if sdate != sdate[1] Then
{
S1 = Floor(sdate/10000)*10000+0300;
E1 = Floor(sdate/10000)*10000+1100;
var1 = 0;
var2 = 0;
for cnt = 1 to 31
{
if DayOfWeek(S1+cnt) == 0 Then
{
var1 = var1+1;
if var1 == 2 then
{
S2 = S1+cnt;
}
}
if DayOfWeek(E1+cnt) == 0 and cnt <= 31 Then
{
var2 = var2+1;
if var2 == 1 then
{
E2 = E1+cnt;
}
}
}
Summer = sdate > S2 And sdate < E2;
if Summer == true then
{
ST = 70000;
ET = 223000;
}
Else
{
ST = 80000;
ET = 233000;
}
}
if (sdate != sdate[1] and stime >= ST) or
(sdate == sdate[1] and stime >= ST and stime[1] < ST) Then
Tcond = true;
if (sdate != sdate[1] and stime >= ET) or
(sdate == sdate[1] and stime >= ET and stime[1] < ET) Then
Tcond = False;
if sdate != sdate[1] Then
SetStopEndofday(ET);
if bdate != bdate[1] Then
SetStopEndofday(0);
if Tcond == true then
{
#진입로직
if H > DayOpen(0)+50 Then Buy("B",OnClose);
if L < DayOpen(0)-50 Then Sell("S",OnClose);
}
2024-08-01
699
글번호 182122
시스템
답변완료
문의드립니다
1
input : jawLength(13),jawOffset(8);
input : teethLength(8),teethOffset(5);
input : lipsLength(5),lipsOffset(3);
Input : 당일수익틱수(100),당일손실틱수(100);
var : hl2(0),jaw(0),teeth(0),lips(0);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0);
var : Tcond(false),Xcond(false);
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit;
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 당일수익 or daypl <= -당일손실 Then
Xcond = true;
if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or
IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
}
hl2 = (h+l)/2;
jaw = 0;
if IsNaN(jaw[1]) == true Then
jaw = ma(hl2,jawLength);
Else
jaw = (jaw[1]*(jawLength-1) + hl2)/jawLength;
teeth = 0;
if IsNaN(teeth[1]) == true Then
teeth = ma(hl2,teethLength);
Else
teeth = (teeth[1]*(teethLength-1) + hl2)/teethLength;
lips = 0;
if IsNaN(lips[1]) == true Then
lips = ma(hl2,lipsLength);
Else
lips = (lips[1]*(lipsLength-1) + hl2)/lipsLength;
Condition1 = jaw[jawOffset] > teeth[teethOffset] and teeth[teethOffset] > lips[lipsOffset];
Condition2 = jaw[jawOffset] < teeth[teethOffset] and teeth[teethOffset] < lips[lipsOffset];
if Xcond == true then
{
if Condition1 == true and Condition1[1] == False Then
Buy();
if Condition2 == true and Condition2[1] == False Then
Sell();
}
if MarketPosition == 1 then
{
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
2
input : jawLength(13),jawOffset(8);
input : teethLength(8),teethOffset(5);
input : lipsLength(5),lipsOffset(3);
Input : 당일수익틱수(100),당일손실틱수(100);
var : hl2(0),jaw(0),teeth(0),lips(0);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0);
var : Xcond(false);
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit;
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 당일수익 or daypl <= -당일손실 Then
Xcond = true;
if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or
IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
}
hl2 = (h+l)/2;
jaw = 0;
if IsNaN(jaw[1]) == true Then
jaw = ma(hl2,jawLength);
Else
jaw = (jaw[1]*(jawLength-1) + hl2)/jawLength;
teeth = 0;
if IsNaN(teeth[1]) == true Then
teeth = ma(hl2,teethLength);
Else
teeth = (teeth[1]*(teethLength-1) + hl2)/teethLength;
lips = 0;
if IsNaN(lips[1]) == true Then
lips = ma(hl2,lipsLength);
Else
lips = (lips[1]*(lipsLength-1) + hl2)/lipsLength;
if Xcond == true then
{
if CrossUp(lips[lipsOffset],teeth[teethOffset]) Then
Buy();
if CrossDown(lips[lipsOffset],teeth[teethOffset]) Then
Sell();
}
if MarketPosition == 1 then
{
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
수고 많으십니다
문의드릴 내용은 위 수식은
88382번 문의 내용에 대해 작성해 주신 수식인데요
적용해보니 거래가 발생하지 않아
한번 더 검토 부탁드립니다
항상 감사드립니다
2024-08-01
603
글번호 182117
시스템
답변완료
수정부탁합니다. 추세선이 이어져야 하는데 끊어져요.
var : T(0),cnt(0),TL(0),HTL1(0),HTL2(0),LTL1(0),LTL2(0);
var : hd(0),ht(0),hh(0),ld(0),lt(0),ll(0);
Array : SHD[5](0),SHT[5](0),SHV[5](0);
Array : SLD[5](0),SLT[5](0),SLV[5](0);
var : SHL(0),SLH(0);
if h <= h[1] && h[1] > h[2] then
{
hd = sDate[1];
ht = sTime[1];
hh = H[1];
SHL = L[1];
T = 1;
}
Else
{
if T == 1 and h > hh then
T = 0;
if T == 1 and L < SHL Then
{
T=2;
SHD[0] = hd;
SHT[0] = ht;
SHV[0] = hh;
if SLV[0] > 0 Then
{
TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]);
}
}
}
// 저점은 반대
if l >= l[1] && l[1] < l[2] then
{
ld = sDate[1];
lT = sTime[1];
ll = L[1];
SLH = H[1];
T = -1;
}
Else
{
if T == -1 and l < ll then
T = 0;
if T == -1 and h > Slh Then
{
T=-2;
SLD[0] = ld;
SLT[0] = lt;
SLV[0] = ll;
if SHV[0] > 0 Then
{
TL = TL_New(SHD[0],SHT[0],SHV[0],SLD[0],SLT[0],SLV[0]);
}
}
}
2024-08-01
667
글번호 182112
지표
답변완료
행복; 시스템식 작성 바랍니다
방법을 찾았습니다
감사합니다
수고하십시요^^
=======================<변경>====================================================
if MarketPosition == 0 and NextBarSdate != sDate
and High >= DayClose(1)*1.02 and High[1] >= DayClose(2)*1.02 Then
{
Buy("b",OnClose,Def,1);
}
=================================================================================
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
시스템식 관련입니다
주기; 일봉
종목; 오성첨단소재
<조건>
- 오성첨단소재의 고가가(high) 전일 종가 대비 2% 이상 상승할 때
- 당일 종가에 1주 매수하고 익일 종가에 1주 매도
에 대한 시스템식을 아래와 같이 작성하였습니다
=============<아래 시작>=============================
if MarketPosition == 0 and NextBarSdate != sDate and High >= DayClose(1)*1.02 Then
{
Buy("b",OnClose,Def,1);
}
if MarketPosition == 1 and NextBarSdate != sDate Then
ExitLong("bx");
=============<아래 끝>=============================
2024년 7월 18일부터 2024년 7월 31일 까지
고가가(high) 전일 종가 대비 2% 이상 상승한 경우가
연속하여 10회 발생하였습니다
그러나 매매가 이루어진 것은
연속하여 발생한 10회 중에
홀수인 1회, 3회, 5회, 7회, 9회 일 때입니다
홀수에 매매가 이루어지는 것이 아니라
짝수인 2회, 4회, 6회, 8회에만 매매가 이루어지게 하려면
수식을 어떻게 해야 하는지요?
수고하십시요^^
2024-08-01
575
글번호 182107
시스템