커뮤니티

수정부탁바랍니다

프로필 이미지
중추신경
2021-05-04 16:12:39
1158
글번호 148678
답변완료

첨부 이미지

1. 장시작시 60선위에서 5선이 상승 변곡이 나오고, 캔들 몸통의 절반이 5선이 위에 있을때 매수인데..바로 매수가 들어가네요.... --> 장 시작하고 5선이 꺽였다가 다시 상승할때 몸통이 5선 위에 있을때 매수하고 싶습니다 2. 청산위치가 현재 5선이 20선 위에서 5파동에서 꺽이면 음봉이 나오면 청산인데.. -> 5선이 20선 위에서 5파동 이상인걸 만족하고, 캔들의 몸통의 절반이 20선 아래로 내려올때 청산하고 싶습니다.(모든조건을 동시에 만족이 아니라, 5파동 이상먼저나고, 5선이 꺽여있는 상황에서, 이후에 몸통이 20선 아래로 내려왔을때 청산입니다. 3. 청산 두번째 조건에서, 5선과 20선이 데드크로스가 나고, 5선이 변곡이 나올때 청산인데. --> 5선과 20선이 데드가 나는 조건에서, 20선 아래서 5선이 상승했다가 다시 꺽일때 그리고 캔들 몸통의 절반이 5선 아래 있을때 청산하고 싶습니다 , 마찬가지로 동시에 만족이 아니라 데드가 나고 나서, 5선이 변곡이 나오고 나서 몸통이 내려왔을때 청산입니다 var : Period1(3),Period2(10),Period3(30),Period4(120),X5(0),X20(0),X60(0),XP(0),X(0),Y(0),Z(0),Q(0),Mav1(0), Mav2(0),Mav3(0),Mav4(0); Input : Left(3),right(3); var : B5(0),BP60(0),B20(0),B60(0),S5(0),S20(0),S60(0),SP60(0),Bcnt5(0),Bcnt20(0),Bcnt60(0),BcntP60(0), Scnt5(0), Scnt20(0), Scnt60(0),ScntP60(0),H1(0),H2(0),L1(0),L2(0); InPUT : 진입시작시간(090000), 매매종료시간(153000); Var26 = ema(Ema(Ema(c,period1),period1),period1); //ma(c,period1); //5선 Var27 = ema(Ema(Ema(c,period2),period2),period2); //20선 Var28 = ema(Ema(Ema(c,period3),period3),period3); //60선 Var29 = ema(Ema(Ema(c,period4),period4),period4); //240선 if CrossUp(Var26,Var27) Then X5 = 1; //5-20 cross if CrossDown(Var26,Var27) Then X5 = -1; if CrossUp(Var27,Var28) Then X20 = 1; //20-60 cross if CrossDown(Var27,Var28) Then X20 = -1; if CrossUp(Var28,Var29) Then X60 = 1; //60-240 cross if CrossDown(Var28,Var29) Then X60 = -1; if CrossUp(Var26,Var28) Then XP = 1; //5-60 cross if CrossDown(Var26,Var28) Then XP = -1; if Var26 > var26[1] Then X = 1; if Var26 < var26[1] Then X = -1; if Var27 > var27[1] Then // X5 : 5-20 Cross X : 5선 Y = 1; // X20 : 20-60 Cross Y : 20선 if Var27 < var27[1] Then // X60 : 60-240 cross Z : 60선 Y = -1; // XP : 5-60 cross if Var28 > var28[1] Then Z = 1; if Var28 < var28[1] Then Z = -1; //////////////////////상방기준////////////////// if XP == 1 and X == 1 Then //5-60 정배열 & 5상승 { if X != X[1] Then //5선이 상승변곡 이면 B = 1 { BP60 = 1; } //5선이 상승변곡 & 20선 상승 & 5선 20선위 & 몸통이 5 BC 면 B =2 if BP60 == 1 and Y == 1 and Var26 > Var27 and C > O and (C+O)/2 >= var26 Then { BP60 = 2; } } else BP60 = 0; //////////////////////하방기준////////////////// if XP == -1 and X == -1 Then { if X!= X[1] Then { SP60 = 1; } if SP60 == 1 and Y == -1 and Var26 < Var27 and C < O and (C+O)/2 < var26 Then { SP60 = 2; } } else SP60 = 0; //////////////////////////상방시그널///////////////// if sTime >= 진입시작시간 and sTime <= 매매종료시간 and XP == 1 Then { if XP != XP[1] Then BcntP60 = 0; if BP60 == 2 and BP60 != BP60[1] Then { BcntP60 = BcntP60+1; if BcntP60 <= 1 Then Buy("BP60"); } } ////////////////////////하방 시그널////////////////// if sTime >= 진입시작시간 and sTime <= 매매종료시간 and XP == -1 Then { if XP != XP[1] Then ScntP60 = 0; if SP60 == 2 and SP60 != SP60[1] Then { ScntP60 = ScntP60+1; if ScntP60 <= 1 Then Sell("SP60"); } } if MarketPosition == 1 Then { if X5 == 1 and CountIf(X5 == -1,BarsSinceEntry) == 0 and X == -1 and X != X[1] and CountIf(X == -1 and X != X[1],BarsSinceEntry) >= 2 then ExitLong("콜청1",AtMarket); } if X5 == -1 and X == -1 and X != X[1] Then ExitLong("콜정2",AtMarket); if MarketPosition == -1 Then { if X5 == -1 and CountIf(X5 == 1,BarsSinceEntry) == 0 and X == 1 and X != X[1] and CountIf(X == 1 and X != X[1],BarsSinceEntry) >= 2 Then ExitShort("풋청1",AtMarket); } if X5 == 1 and X == 1 and X != X[1] Then ExitShort("풋정2",AtMarket);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-05-04 16:45:23

안녕하세요 예스스탁입니다. var : Period1(3),Period2(10),Period3(30),Period4(120),X5(0),X20(0),X60(0),XP(0),X(0),Y(0),Z(0),Q(0),Mav1(0), Mav2(0),Mav3(0),Mav4(0); Input : Left(3),right(3); var : B5(0),BP60(0),B20(0),B60(0),S5(0),S20(0),S60(0),SP60(0),Bcnt5(0),Bcnt20(0),Bcnt60(0),BcntP60(0), Scnt5(0), Scnt20(0), Scnt60(0),ScntP60(0),H1(0),H2(0),L1(0),L2(0); InPUT : 진입시작시간(090000), 매매종료시간(153000); if Bdate != Bdate[1] Then { Condition1 = False; Condition2 = False; } Var26 = ema(Ema(Ema(c,period1),period1),period1); //ma(c,period1); //5선 Var27 = ema(Ema(Ema(c,period2),period2),period2); //20선 Var28 = ema(Ema(Ema(c,period3),period3),period3); //60선 Var29 = ema(Ema(Ema(c,period4),period4),period4); //240선 if CrossUp(Var26,Var27) Then X5 = 1; //5-20 cross if CrossDown(Var26,Var27) Then X5 = -1; if CrossUp(Var27,Var28) Then X20 = 1; //20-60 cross if CrossDown(Var27,Var28) Then X20 = -1; if CrossUp(Var28,Var29) Then X60 = 1; //60-240 cross if CrossDown(Var28,Var29) Then X60 = -1; if CrossUp(Var26,Var28) Then XP = 1; //5-60 cross if CrossDown(Var26,Var28) Then XP = -1; if Var26 > var26[1] Then X = 1; if Var26 < var26[1] Then X = -1; if Var27 > var27[1] Then // X5 : 5-20 Cross X : 5선 Y = 1; // X20 : 20-60 Cross Y : 20선 if Var27 < var27[1] Then // X60 : 60-240 cross Z : 60선 Y = -1; // XP : 5-60 cross if Var28 > var28[1] Then Z = 1; if Var28 < var28[1] Then Z = -1; if X == 1 and X != X[1] and Bdate == Bdate[1] Then Condition1 = true; if X == -1 and X != X[1] and Bdate == Bdate[1] Then Condition2 = true; //////////////////////상방기준////////////////// if XP == 1 and X == 1 and Condition1 == true Then //5-60 정배열 & 5상승 { if X != X[1] Then //5선이 상승변곡 이면 B = 1 { BP60 = 1; } //5선이 상승변곡 & 20선 상승 & 5선 20선위 & 몸통이 5 BC 면 B =2 if BP60 == 1 and Y == 1 and Var26 > Var27 and C > O and (C+O)/2 >= var26 Then { BP60 = 2; } } else BP60 = 0; if sDate == 20210429 and sTime < 92000 Then MessageLog("%.2f",BP60); //////////////////////하방기준////////////////// if XP == -1 and X == -1 and Condition2 == true Then { if X!= X[1] Then { SP60 = 1; } if SP60 == 1 and Y == -1 and Var26 < Var27 and C < O and (C+O)/2 < var26 Then { SP60 = 2; } } else SP60 = 0; //////////////////////////상방시그널///////////////// if sTime >= 진입시작시간 and sTime <= 매매종료시간 and XP == 1 Then { if XP != XP[1] Then BcntP60 = 0; if BP60 == 2 and BP60 != BP60[1] Then { BcntP60 = BcntP60+1; if BcntP60 <= 1 Then Buy("BP60"); } } ////////////////////////하방 시그널////////////////// if sTime >= 진입시작시간 and sTime <= 매매종료시간 and XP == -1 Then { if XP != XP[1] Then ScntP60 = 0; if SP60 == 2 and SP60 != SP60[1] Then { ScntP60 = ScntP60+1; if ScntP60 <= 1 Then Sell("SP60"); } } if MarketPosition == 1 Then { if X5 == 1 and CountIf(X5 == -1,BarsSinceEntry) == 0 and X == -1 and CountIf(X == -1 and X != X[1],BarsSinceEntry) >= 2 and (C+O)/2 <= Var27 then ExitLong("콜청1",AtMarket); if X5 == -1 and X == -1 and CountIf(X == -1 and X != X[1],BarsSinceEntry) >= 1 and (C+O)/2 <= Var27 Then ExitLong("콜정2",AtMarket); } if MarketPosition == -1 Then { if X5 == -1 and CountIf(X5 == 1,BarsSinceEntry) == 0 and X == 1 and CountIf(X == 1 and X != X[1],BarsSinceEntry) >= 2 and (C+O)/2 >= Var27 Then ExitShort("풋청1",AtMarket); if X5 == 1 and X == 1 and CountIf(X == 1 and X != X[1],BarsSinceEntry) >= 1 and (C+O)/2 >= Var27 Then ExitShort("풋정2",AtMarket); } 즐거운 하루되세요 > 중추신경 님이 쓴 글입니다. > 제목 : 수정부탁바랍니다 > 1. 장시작시 60선위에서 5선이 상승 변곡이 나오고, 캔들 몸통의 절반이 5선이 위에 있을때 매수인데..바로 매수가 들어가네요.... --> 장 시작하고 5선이 꺽였다가 다시 상승할때 몸통이 5선 위에 있을때 매수하고 싶습니다 2. 청산위치가 현재 5선이 20선 위에서 5파동에서 꺽이면 음봉이 나오면 청산인데.. -> 5선이 20선 위에서 5파동 이상인걸 만족하고, 캔들의 몸통의 절반이 20선 아래로 내려올때 청산하고 싶습니다.(모든조건을 동시에 만족이 아니라, 5파동 이상먼저나고, 5선이 꺽여있는 상황에서, 이후에 몸통이 20선 아래로 내려왔을때 청산입니다. 3. 청산 두번째 조건에서, 5선과 20선이 데드크로스가 나고, 5선이 변곡이 나올때 청산인데. --> 5선과 20선이 데드가 나는 조건에서, 20선 아래서 5선이 상승했다가 다시 꺽일때 그리고 캔들 몸통의 절반이 5선 아래 있을때 청산하고 싶습니다 , 마찬가지로 동시에 만족이 아니라 데드가 나고 나서, 5선이 변곡이 나오고 나서 몸통이 내려왔을때 청산입니다 var : Period1(3),Period2(10),Period3(30),Period4(120),X5(0),X20(0),X60(0),XP(0),X(0),Y(0),Z(0),Q(0),Mav1(0), Mav2(0),Mav3(0),Mav4(0); Input : Left(3),right(3); var : B5(0),BP60(0),B20(0),B60(0),S5(0),S20(0),S60(0),SP60(0),Bcnt5(0),Bcnt20(0),Bcnt60(0),BcntP60(0), Scnt5(0), Scnt20(0), Scnt60(0),ScntP60(0),H1(0),H2(0),L1(0),L2(0); InPUT : 진입시작시간(090000), 매매종료시간(153000); Var26 = ema(Ema(Ema(c,period1),period1),period1); //ma(c,period1); //5선 Var27 = ema(Ema(Ema(c,period2),period2),period2); //20선 Var28 = ema(Ema(Ema(c,period3),period3),period3); //60선 Var29 = ema(Ema(Ema(c,period4),period4),period4); //240선 if CrossUp(Var26,Var27) Then X5 = 1; //5-20 cross if CrossDown(Var26,Var27) Then X5 = -1; if CrossUp(Var27,Var28) Then X20 = 1; //20-60 cross if CrossDown(Var27,Var28) Then X20 = -1; if CrossUp(Var28,Var29) Then X60 = 1; //60-240 cross if CrossDown(Var28,Var29) Then X60 = -1; if CrossUp(Var26,Var28) Then XP = 1; //5-60 cross if CrossDown(Var26,Var28) Then XP = -1; if Var26 > var26[1] Then X = 1; if Var26 < var26[1] Then X = -1; if Var27 > var27[1] Then // X5 : 5-20 Cross X : 5선 Y = 1; // X20 : 20-60 Cross Y : 20선 if Var27 < var27[1] Then // X60 : 60-240 cross Z : 60선 Y = -1; // XP : 5-60 cross if Var28 > var28[1] Then Z = 1; if Var28 < var28[1] Then Z = -1; //////////////////////상방기준////////////////// if XP == 1 and X == 1 Then //5-60 정배열 & 5상승 { if X != X[1] Then //5선이 상승변곡 이면 B = 1 { BP60 = 1; } //5선이 상승변곡 & 20선 상승 & 5선 20선위 & 몸통이 5 BC 면 B =2 if BP60 == 1 and Y == 1 and Var26 > Var27 and C > O and (C+O)/2 >= var26 Then { BP60 = 2; } } else BP60 = 0; //////////////////////하방기준////////////////// if XP == -1 and X == -1 Then { if X!= X[1] Then { SP60 = 1; } if SP60 == 1 and Y == -1 and Var26 < Var27 and C < O and (C+O)/2 < var26 Then { SP60 = 2; } } else SP60 = 0; //////////////////////////상방시그널///////////////// if sTime >= 진입시작시간 and sTime <= 매매종료시간 and XP == 1 Then { if XP != XP[1] Then BcntP60 = 0; if BP60 == 2 and BP60 != BP60[1] Then { BcntP60 = BcntP60+1; if BcntP60 <= 1 Then Buy("BP60"); } } ////////////////////////하방 시그널////////////////// if sTime >= 진입시작시간 and sTime <= 매매종료시간 and XP == -1 Then { if XP != XP[1] Then ScntP60 = 0; if SP60 == 2 and SP60 != SP60[1] Then { ScntP60 = ScntP60+1; if ScntP60 <= 1 Then Sell("SP60"); } } if MarketPosition == 1 Then { if X5 == 1 and CountIf(X5 == -1,BarsSinceEntry) == 0 and X == -1 and X != X[1] and CountIf(X == -1 and X != X[1],BarsSinceEntry) >= 2 then ExitLong("콜청1",AtMarket); } if X5 == -1 and X == -1 and X != X[1] Then ExitLong("콜정2",AtMarket); if MarketPosition == -1 Then { if X5 == -1 and CountIf(X5 == 1,BarsSinceEntry) == 0 and X == 1 and X != X[1] and CountIf(X == 1 and X != X[1],BarsSinceEntry) >= 2 Then ExitShort("풋청1",AtMarket); } if X5 == 1 and X == 1 and X != X[1] Then ExitShort("풋정2",AtMarket);