답변완료
부탁드립니다
#1,아래식은 국내옵션만기(1개월주기) 로직입니다,이를 국내선물만기(3개월주기) 로직
으로 수정부탁드립니다.#첨부파일참조(3개월주기,선물옵션동시만기)
var : month(0),nday(0),week(0);
var :EX(false),HH(0),LL(0);
var : t1(0),t2(0),t3(0),t4(0),t5(0),t6(0),t7(0),t8(0),t9(0),t10(0);
month = int(date/100)-int(date/10000)*100;
nday = date - int(date/100)*100;
week = DayOfWeek(date);
#선물만기
#if Month%3 == 0 and nday >= 8 and nday <= 14 and week == 4 then
if nday >= 8 and nday <= 14 and week == 4 then#옵션만기
EX = true;
Else
EX = false;
if EX == false and EX[1] == true Then{
Condition1 = true;
HH = H;
LL = L;
}
if Condition1 == true then{
if H > HH Then
HH = H;
if L < LL Then
LL = L;
var1 = HH;
var2 = LL;
var3 = var1-var2;
##2,아래식은 나름작성한 타주기 분봉식 인데 주기가 적용해보니 좀 미흡한것 같습니다
점검부탁드립니다
input : Length1(5),Length2(20),굵기(3);
var : 매수1(0,data2),매도1(0,data2),매수2(0,data2),매도2(0,data2);
var : 매수11(0,data2),매수12(0,data2),매도11(0,data2),매도12(0,data2),T(0,data2),tx(0,data2),TLen1(0,data2),TLen2(0,data2);
TLen1 = data2(Ceiling((Length1 + 1) * .5));
TLen2 = data2(Ceiling((Length2 + 1) * .5));
var1 = data2(ema(ma(h,TLen1), TLen1));
var2 = data2(ema(ma(l,TLen2), TLen2));
if crossup(var1,var2) Then
{
T = 1;
매도1 = var2;
매도11 = 매도1[1];
매도12 = 매도11[1];
}
if 매도1 > 0 and var2 > 매도1 Then
매도1 = var2;
if CrossDown(var1,var2) Then
{
T = -1;
매수1 = var2;
매수11 = 매수1[1];
매수12= 매수11[1];
}
if 매수1 > 0 and var2 < 매수1 Then
매수1 = var2;
매도2=매도1-0.02;
매수2=매수1+0.02;
plot1(매도1,"매도1",BLUE,def,굵기);
plot2(매수1,"매수1",MAGENTA,def,굵기);
plot3(var2,"이평",iff(var2>var2[1],MAGENTA,BLUE),def,굵기);
if T == 1 and 매도12 > 매도11 and 매수11 > 매수1 then
{
plot4((매도11+매수1)/2);
plot5((매도11));
plot6((매도12));
if T[1] != 1 then
{
tx = Text_New(sdate,stime,(매도11),NumToStr((매도11),2));
Text_SetStyle(tx,1,1);
Text_SetColor(tx,BLUE);
}
Else
Text_SetLocation(tx,sdate,stime,(매도11));
}
if T == -1 and 매수12 < 매수11 and 매도11 < 매도1 then
{
plot7((매수11+매도1)/2);
plot8((매수11));
plot9((매수12));
if T[1] != -1 then
{
tx = Text_New(sdate,stime,(매수11),NumToStr((매수11),2));
Text_SetStyle(tx,1,1);
Text_SetColor(tx,MAGENTA);
}
Else
Text_SetLocation(tx,sdate,stime,(매수11));
}
###3,15분봉차트에서 캔들꼬리가 몸통보다 2/3이상 클때 아래조건식 부탁입니다.
-,아랫꼬리가 양봉일경우는 시가에서부터 이후4개봉까지 우측라인긋기
음봉일경우는 종가에서부터 이후4개봉까지 우측라인긋기
-,윗꼬리가 양봉일경우는 종가에서부터 이후4개봉까지 우측라인긋기
음봉일경우는 시가에서부터 이후4개봉까지 우측라인긋기
$,언제나 늘 고맙습니다.
2020-09-23
808
글번호 142543
지표
답변완료
전략식 변환 부탁드립니다.
안녕하세요
아래 두가지 전략식을 예트 언어로 변환 부탁드립니다.
전략1)
Vars : SP(0), TickSize(0);
SP = SignalPosition;
TickSize = OneTick * PriceScale;
Params : vN(5);
Vars : vHH(0), vLL(0);
vLL = Lowest(L, vN);
vHH = Highest(H, vN);
Params : vperiod1(11), vperiod2(32);
Vars : vMa1(0), vMa2(0);
vMa1 = XAverage(C, vperiod1);
vMa2 = XAverage(C, vperiod2);
If SP = 0 Then
Begin
If vMa1 > vMa2 And L[1] >= vLL[2] And L < vLL[1] And H > vHH[1] Then Buy("B");
If vMa1 < vMa2 And H[1] <= vHH[2] And H > vHH[1] And L < vLL[1] Then Sell("S");
End;
Params : vExitP(342), vExitL(149);
SetStopLoss(vExitL * TickSize * CurrentContracts);
SetProfitTarget(vExitP * TickSize * CurrentContracts);
전략2)
Params: SSTIME(074001), EETIME(030000);
Vars : TCOND(False);
If SSTIME < EETIME Then
Begin
If SSTIME <= TIME And TIME <= EETIME Then TCOND = True
Else TCOND = False;
End
Else
Begin
If SSTIME <= TIME Or TIME <= EETIME Then TCOND = True
Else TCOND = False;
End;
If TCOND Then
Begin
Params : pLeng( 18 ), pAtrAdj( 0.8 ) ;
v1 = ATR( pLeng ) * pAtrAdj;
if SignalPosition != 1 then
ExitLong ( "EntryAtrStop LX", AtStop, C - v1 ) ;
Params : pLeng1( 1 ), pAtrVal( 0.3 ) ;
v1 = ATR( pLeng1 ) * pAtrVal;
if SignalPosition != - 1 then
ExitShort ( "EntryAtrStop LX11", AtStop, C + v1 ) ;
End;
2020-09-20
813
글번호 142541
시스템