답변완료
Re : Re : 수식 문의 드립니다.
수식 세워주셨는데 구동이 안됩니다.
1번 질문 무시하고 2번만 해서 수식 세워주실 수 있으실까요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식 문의 드립니다.
> 안녕하세요
예스스탁입니다.
1
현재 진입은 지정시간에 지정한 횟수만큼 발생을 합니다.
다만 2번째 진입 후 반대조건이 나오면 청산을 할수 없어
진입횟수 충족후에 반대조건 나오면 청산하게 추가하고
EndTime에 포지션이 있으면 청산되게 수정해 드립니다.
2
Input :
APeriod( 5 ),
BPeriod( 20 ),
CPeriod( 120 );
input : StartTime(90000),EndTime(120000),당일진입횟수(2),당일수익틱수(100);
Vars :
v5( 0 ),
v20( 0 ),
v120( 0 ),
T(0),entry(0), Tcond(false),Xcond(False),N1(0),당일수익(0),daypl(0);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
Xcond = false;
N1 = NetProfit;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
당일수익 = PriceScale*당일수익틱수;
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 != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
v5 = wma(C, APeriod);
v20 = wma(C, BPeriod);
v120 = wma(C, CPeriod);
if CrossUp(v20,v120) then
T = 1;
if CrossDown(v20,v120) then
T = -1;
If T == 1 and CrossUp(v5, v20) and Tcond == true and Xcond == False Then
{
T = 2;
if entry < 당일진입횟수 Then
Buy("매수");
Else
ExitShort("sx");
}
If T == -1 and CrossDown(v5, v20) and Tcond == true and Xcond == False Then
{
T = -2;
if entry < 당일진입횟수 Then
Sell("매도");
Else
ExitLong("bx");
}
if MarketPosition == 1 then
{
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
}
if MarketPosition == -1 then
{
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
}
즐거운 하루되세요
> 무청 님이 쓴 글입니다.
> 제목 : 수식 문의 드립니다.
> 1. 일전에 이렇게 하단 수식 문의 했었는데 당일진입횟수가 2번인데 왜 1번만 진입하는지 궁금합니다.
(항셍에서)
2. 당일 최종 목표틱수가 100틱이게 수식을 넣을 수 있을까요?
예를들어 총 100틱 수익인데 1차 -20틱 2차 120틱 해서 총 100틱 수익이 날 수 있도록이요..
감사합니다.
Input :
APeriod( 5 ),
BPeriod( 20 ),
CPeriod( 120 );
input : StartTime(90000),EndTime(120000),당일진입횟수(2);
Vars :
v5( 0 ),
v20( 0 ),
v120( 0 ),
T(0),entry(0), Tcond(false);
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
entry = 0;
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == 0 and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
v5 = wma(C, APeriod);
v20 = wma(C, BPeriod);
v120 = wma(C, CPeriod);
if CrossUp(v20,v120) then
T = 1;
if CrossDown(v20,v120) then
T = -1;
If T == 1 and CrossUp(v5, v20) Then
{
T = 2;
if entry < 당일진입횟수 Then
Buy("매수");
}
If T == -1 and CrossDown(v5, v20) Then
{
T = -2;
if entry < 당일진입횟수 Then
Sell("매도");
}
2024-04-17
923
글번호 178661
시스템
답변완료
지표문의
1.아래의 지표를 해외선물 사용하려구 하는데요
해외선물에는 차트 지원이 최소단위가 1분이라서
아래 지표를 1분에 차트가 지원되더라두 30초로 더 세분하여
지표가 반영 되도록 좀 고쳐주세요
#=================#
#===================#
Input : PPeriod1(1.6185), Pperiod2(1.6185) ,Pperiod3(1.6185),PTargetUpLevel(80),PTargetDnLevel(20);
Var : PoStokUpBand(0),PoStokDnBand(0),PoStokMidLine(0),
PoStodUpBand(0),PoStodDnBand(0),PoStodMidLine(0);
Var:PLowValue(0),PHighValue(0),PTargetMidLevel(0),PfstK(0),PstoK(0),PstoD(0),PEP1(0),PEP2(0);
PEP1 = 2/(PPeriod1 + 1);
PEP2 = 2/(PPeriod2 + 1);
PLowValue = lowest(L ,PPeriod1);
PHighValue = highest(H,PPeriod1);
PfstK = ((H+L)/2 - PLowValue)/(PHighValue - PLowValue) * 100;
PstoK = Ema(PfstK,PPeriod2);
PstoD = Ema(PstoK,PPeriod3);
PTargetMidLevel = (PTargetUpLevel + PTargetDnLevel)/2;
PoStokUpBand = (PTargetUpLevel - PStoK[1]*(1-PEP1))*(PHighValue - PLowValue)/PEP1/100 + PLowValue;
PoStokDnBand = (PTargetDnLevel - PStoK[1]*(1-PEP1))*(PHighValue - PLowValue)/PEP1/100 + PLowValue;
PoStokMidLine = (PTargetMidLevel - PStoK[1]*(1-PEP1))*(PHighValue - PLowValue)/PEP1/100 + PLowValue;
PoStodUpBand = ((PTargetUpLevel - PStoD[1]*(1-PEP2))/PEP2 - PstoK[1]*(1-PEP1))*(PHighValue - PLowValue)/PEP1/100 + PLowValue;
PoStodDnBand = ((PTargetDnLevel - PStoD[1]*(1-PEP2))/PEP2 - PstoK[1]*(1-PEP1))*(PHighValue - PLowValue)/PEP1/100 + PLowValue;
PoStodMidLine = ((PTargetMidLevel - PStoD[1]*(1-PEP2))/PEP2 - PstoK[1]*(1-PEP1))*(PHighValue - PLowValue)/PEP1/100 + PLowValue;
##===================#
Input:UpDown_period1(8), UpDown_period2(21);
var : C1(0),C2(0);
if dayindex < UpDown_period1 Then
c1 =(wma(data1(Downticks) ,dayindex+1));
Else
c1 =(wma(data1(Downticks),UpDown_period1));
#===================#
if dayindex < UpDown_period1 Then
c2 =(wma(data1(Upticks) ,dayindex+1));
Else
c2 =(wma(data1(Upticks) ,UpDown_period1));
#===================#
var : BBdown(0),BBUp(0),BandB(0);
BBUp = c1;
BBDown = c2;
BandB = ((C-BBDown)/(BBUp-BBDown))*100;
#===================#
if dayindex == 0 Then
value91 = 1;
if dayindex > 0 then{
if BBUp <= BBUp[1] Then{
value91 = 1;
var1 = BBUp;
}
Else
var1 = BBUp;
if BBDown >= BBDown[1] Then{
value91 = -1;
var2 = BBDown;
}
Else
var2 = BBDown;
}
//■■■//
if value91 == 1 Then
var1 = BBUp;
Else
var1 = 0;
if value91 == -1 Then
var2 = BBDown;
Else
var2 = 0;
#=============
#=================#
Input : 굵기(2), 굵기2(2), 굵기3(0.5);
if ((var2)/2*(PoStokdnBand)) < ((var2+Var32)/2*(PoStokdnBand))[1] Then {
plot5(((var2)/2*(PoStokdnBand)),"mabupd1",RGB(190,190,190),DEF,굵기3);//점차트
} Else {
if
((var2)/2*(PoStokdnBand)) < ((var2+Var32)/2*(PoStokdnBand))[1] Then
plot6(((var2)/2*(PoStokupBand)),"mabupd2",Black,DEF,굵기2);
Else
plot6(((var2)/2*(PoStokupBand)),"mabupd2",RGB(223,2,2),DEF,굵기3);
}
#====
if ((var2)/2*(PoStokUpBand)) > ((var2+Var32)/2*(PoStokUpBand))[1] Then {
plot7(((var2)/2*(PoStokUpBand)),"mabupd3",RGB(190,190,190),DEF,굵기3);//점차트
} Else {
if
((var2)/2*(PoStokUpBand)) > ((var2+Var32)/2*(PoStokUpBand))[1] Then
plot8(((var2)/2*(PoStokDnBand)),"mabupd4",RGB(223,2,2),DEF,굵기2);
Else
plot8(((var2)/2*(PoStokDnBand)),"mabupd4",Black,DEF,굵기3);
}
2.그럼 즐거운 하루되세요
2024-04-17
786
글번호 178653
지표
답변완료
검색식 부탁드립니다. _(_ _)_
도와주심에 항상 감사드립니다.
5분봉상 5일선을 돌파하기 전 인 상태에서 장기정배열(480<240<120)이 만들어지면서 분봉상
5일선을 돌파하거나 완전정배열(480<240<120<60<20<5)이 나오면서 분봉상 5일선을 돌파할 때 나오는 종목검색을 요청드립니다.
5일선이라 주기는 문제가 없을 듯도 한데요..^^;;;
그리고 마지막으로 어제 수정해주신 수식 질문 다시한번 드릴게요
두번째 차트 4번째 수식차트인데요 역시나 검색이 되지 않았습니다.
수식1차트는 돌파하지도 않았는데 검색이되구요..
1
var : ii(0),HO(0);
var : MM(0),KK(0),MO(0),mx(0);
var : M1(0),M2(0),M3(0),M4(0),M5(0),M6(0);
var : M7(0),M8(0),M9(0),M10(0),M11(0),M12(0);
MM = floor(date/100);
if MM != MM[1] Then
{
MO = O;
M1 = KK[1];
M2 = M1[1];
M3 = M2[1];
M4 = M3[1];
M5 = M4[1];
M6 = M5[1];
M7 = M6[1];
M8 = M7[1];
M9 = M8[1];
M10 = M9[1];
M11 = M10[1];
M12 = M11[1];
mx = Max(M1, M2, M3, M4, M5,M6, M7, M8, M9, M10, M11, M12);
}
KK = iff(MO > C, MO, 0);
if HO > 0 and CrossUp(c,HO) Then
Find(1);
if mx > 0 and CrossUp(C,mx) Then
{
ii = Index;
if C < O Then
HO = O;
Else
HO = 0;
}
Else
{
if ii > 0 and Index <= ii+10 Then
{
if C < O and (HO == 0 or (HO > 0 and O > HO)) Then
HO = O;
}
}
2
var : ii(0),HO(0);
var : Month(0), MOpen(0), 중심(0),PreMC(0), PreMO(0);
Month = Floor(date/100);
if Month != Month[1] Then
{
PreMC = C[1];
PreMO = MOpen;
MOpen = O ;
}
중심 = ((PreMC + PreMO)/2 + MOpen)/2;
if HO > 0 and CrossUp(c,HO) Then
find(1);
if CrossUp(C, 중심) Then
{
ii = Index;
if C < O Then
HO = O;
Else
HO = 0;
}
Else
{
if ii > 0 and Index <= ii+10 Then
{
if C < O and (HO == 0 or (HO > 0 and O > HO)) Then
HO = O;
}
}
3
var : ii(0),HO(0);
var1 = macd(12,26);
var2 = Sar(0.02,0.2);
if var1 >= 0 and CrossUp(c,Var2) and C >= C[1]*1.03 and C > O Then
value1 = (C+O)/2;
if HO > 0 and CrossUp(c,HO) Then
Find(1);
if value1 > 0 and CrossUp(c,value1) Then
{
ii = Index;
if C < O Then
HO = O;
Else
HO = 0;
}
Else
{
if ii > 0 and Index <= ii+10 Then
{
if C < O and (HO == 0 or (HO > 0 and O > HO)) Then
HO = O;
}
}
4
var : ii(0),HO(0);
var1 = macd(12,26);
var2 = Sar(0.02,0.2);
if HO > 0 and CrossUp(c,HO) Then
Find(1);
if var1 >= 0 and CrossUp(c,Var2) and C >= C[1]*1.03 and C > O Then
{
ii = Index;
if C < O Then
HO = O;
Else
HO = 0;
}
Else
{
if ii > 0 and Index <= ii+10 Then
{
if C < O and (HO == 0 or (HO > 0 and O > HO)) Then
HO = O;
}
}
2024-04-17
873
글번호 178642
종목검색