커뮤니티

수정부탁드립니다

프로필 이미지
빙글이
2017-06-29 11:17:50
96
글번호 110810
답변완료
Params: Period(20), Period1(5), Period2(10), Period3(34), Period4(50); Params: Exit_L(15), Exit_PT(35); Params: Contracts_N(3); Vars : SP(0), TickSize(0), lastEntry(0); SP = SignalPosition; TickSize = OneTick * PriceScale; v1 = Average(C,Period1); v2 = Average(C,Period2); v3 = Average(C,Period3); v4 = Average(C,Period4); v99 = Average(C,Period); v88 = v2 - (3 * TickSize); // 매수진입조건 Cond1 = (CrossUp(v1,v3) Or v3 < C) And 3500 < V; Cond11 = ((CrossUp(v1,v2) Or (v88 < H And H < v88) ) And 1000 < V); If Cond1 Then lastEntry = 1 Else If Cond11 Then lastEntry = 11; Cond2 = CrossDown(v1,v2) Or C < v2; // 매도진입조건 Cond3 = ((CrossDown(v1,v3) Or C < v3) And 3500 < V); Cond33 = ((CrossDown(v1,v2) Or (v88 < L And L < v88)) And 1000 < V); If Cond3 Then lastEntry = 3 Else If Cond33 Then lastEntry = 33; Cond4 = CrossUp(v1,v2) Or v2 < C; Cond5 = 12000 < AccumN(V,3); If Cond1 Or Cond11 Then Buy("매수진입",def,def,Contracts_N); If Cond3 Or Cond33 Then Sell("매도진입",def,def,Contracts_N); If Cond5 Then SetStopProfittarget(Exit_PT * TickSize * CurrentContracts, PointStop); If lastEntry = 11 Or lastEntry = 33 Then Begin SetProfitTarget(15 * TickSize, PointStop); If SP = 1 Then ExitLong("R매수청산", Atlimit, v2 - 5 * TickSize,def,Contracts_N); If SP = -1 Then ExitShort("R매도청산", Atlimit, v2 + 5 * TickSize,def,Contracts_N); End Else Begin If Cond2 Then ExitLong("매수청산",def,def,def,Contracts_N); If Cond4 Then ExitShort("매도청산",def,def,def,Contracts_N); End; SetStopLoss(Exit_L * TickSize * currentContracts, PointStop); 위 수식을 예스랭귀지에 맞게 수정부탁드립니다 시그널메이커에서 작성된수식입니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-06-29 13:13:00

안녕하세요 예스스탁입니다. input: Period(20), Period1(5), Period2(10), Period3(34), Period4(50); input: Exit_L(15), Exit_PT(35); input: Contracts_N(3); Vars : lastEntry(0); Var : SP(0), v1(0),v2(0),v3(0),v4(0),v99(0),v88(0); var : cond1(false),cond2(false),cond3(false),cond4(false),cond5(false),cond88(false),cond98(false),cond99(false); var : cond11(false),cond33(false); SP = MarketPosition; v1 = ma(C,Period1); v2 = ma(C,Period2); v3 = ma(C,Period3); v4 = ma(C,Period4); v99 = ma(C,Period); v88 = v2 - (3 * PriceScale); // 매수진입조건 Cond1 = (CrossUp(v1,v3) Or v3 < C) And 3500 < V; Cond11 = ((CrossUp(v1,v2) Or (v88 < H And H < v88) ) And 1000 < V); If Cond1 Then lastEntry = 1; Else If Cond11 Then lastEntry = 11; Cond2 = CrossDown(v1,v2) Or C < v2; // 매도진입조건 Cond3 = ((CrossDown(v1,v3) Or C < v3) And 3500 < V); Cond33 = ((CrossDown(v1,v2) Or (v88 < L And L < v88)) And 1000 < V); If Cond3 Then lastEntry = 3; Else If Cond33 Then lastEntry = 33; Cond4 = CrossUp(v1,v2) Or v2 < C; Cond5 = 12000 < AccumN(V,3); If Cond1 Or Cond11 Then Buy("매수진입",def,def,Contracts_N); If Cond3 Or Cond33 Then Sell("매도진입",def,def,Contracts_N); If MarketPosition == 1 and Cond5 Then exitlong("bp1",atlimit,entryprice+Exit_PT * PriceScale); If MarketPosition == -1 and Cond5 Then ExitShort("sp1",atlimit,entryprice-Exit_PT * PriceScale); If lastEntry == 11 Or lastEntry == 33 Then Begin If SP == 1 Then{ ExitLong("R매수청산", Atlimit, v2 - 5 * PriceScale); ExitLong("bp",atlimit,EntryPrice+PriceScale*15); } If SP == -1 Then{ ExitShort("R매도청산", Atlimit, v2 + 5 * PriceScale); ExitShort("sp",atlimit,EntryPrice-PriceScale*15); } End Else Begin If Cond2 Then ExitLong("매수청산"); If Cond4 Then ExitShort("매도청산"); End; SetStopLoss(Exit_L * PriceScale, PointStop); 즐거운 하루되세요 > 빙글이 님이 쓴 글입니다. > 제목 : 수정부탁드립니다 > Params: Period(20), Period1(5), Period2(10), Period3(34), Period4(50); Params: Exit_L(15), Exit_PT(35); Params: Contracts_N(3); Vars : SP(0), TickSize(0), lastEntry(0); SP = SignalPosition; TickSize = OneTick * PriceScale; v1 = Average(C,Period1); v2 = Average(C,Period2); v3 = Average(C,Period3); v4 = Average(C,Period4); v99 = Average(C,Period); v88 = v2 - (3 * TickSize); // 매수진입조건 Cond1 = (CrossUp(v1,v3) Or v3 < C) And 3500 < V; Cond11 = ((CrossUp(v1,v2) Or (v88 < H And H < v88) ) And 1000 < V); If Cond1 Then lastEntry = 1 Else If Cond11 Then lastEntry = 11; Cond2 = CrossDown(v1,v2) Or C < v2; // 매도진입조건 Cond3 = ((CrossDown(v1,v3) Or C < v3) And 3500 < V); Cond33 = ((CrossDown(v1,v2) Or (v88 < L And L < v88)) And 1000 < V); If Cond3 Then lastEntry = 3 Else If Cond33 Then lastEntry = 33; Cond4 = CrossUp(v1,v2) Or v2 < C; Cond5 = 12000 < AccumN(V,3); If Cond1 Or Cond11 Then Buy("매수진입",def,def,Contracts_N); If Cond3 Or Cond33 Then Sell("매도진입",def,def,Contracts_N); If Cond5 Then SetStopProfittarget(Exit_PT * TickSize * CurrentContracts, PointStop); If lastEntry = 11 Or lastEntry = 33 Then Begin SetProfitTarget(15 * TickSize, PointStop); If SP = 1 Then ExitLong("R매수청산", Atlimit, v2 - 5 * TickSize,def,Contracts_N); If SP = -1 Then ExitShort("R매도청산", Atlimit, v2 + 5 * TickSize,def,Contracts_N); End Else Begin If Cond2 Then ExitLong("매수청산",def,def,def,Contracts_N); If Cond4 Then ExitShort("매도청산",def,def,def,Contracts_N); End; SetStopLoss(Exit_L * TickSize * currentContracts, PointStop); 위 수식을 예스랭귀지에 맞게 수정부탁드립니다 시그널메이커에서 작성된수식입니다