커뮤니티

함수 변환요청합니다

프로필 이미지
st002340
2020-01-22 09:02:27
256
글번호 135343
답변완료
시그널메이커 수식인데 예스랭귀지로 변환하고자 합니다. 부탁드립니다. 감사합니다. Params : vProfit(226); Params : vLoss(47); Vars : SP(0), TickSize(0); SP = SignalPosition; TickSize = OneTick * PriceScale; Params : vShortP(7), vLongP(8), vSigP(8); Vars : vMACD(0), vSignal(0); vMACD = MACD(C, vShortP, vLongP); vSignal = XAverage(vMACD, vSigP); Params : vShortP1(8), vLongP1(9), vSigP1(11), period_vhh(92), period_vll(4), period_vhhsig(84), period_vLLsig(3),vHHsig_percent(0.7),vLLsig_percent(0.6); Vars : vMACD1(0), vSignal1(0), vHH(0), vLL(0),vHHsig(0),vLLsig(0); vMACD1 = MACD(C, vShortP1, vLongP1); vSignal1 = XAverage(vMACD1, vSigP1); vHH = Highest(C, period_vhh); vLL = Lowest(C, period_vLL); vHHsig = Highest(vSignal,period_vhhsig); vLLsig = Lowest(vSignal, period_vLLsig); Params : vEMA_P1(2), vEMA_P2(13); Vars : vEma1(0), vEma2(0); vEma1 = XAverage(C, vEMA_P1); vEma2 = XAverage(C, vEMA_P2); Params : vEMA1_P1(21), vEMA1_P2(46); Vars : vEma11(0), vEma12(0); vEma11 = XAverage(C, vEMA1_P1); vEma12 = XAverage(C, vEMA1_P2); Params : vEMA2_P1(20), vEMA2_P2(48); Vars : vEma21(0), vEma22(0); vEma21 = XAverage(C, vEMA2_P1); vEma22 = XAverage(C, vEMA2_P2); Params : FastKPeriod( 45 ), SlowKPeriod( 5 ), SlowDPeriod( 1 ), DnLine( 23 ), // 하한선 UpLine( 87 ); // 상한선 Var : oFastK( 0 ), oFastD( 0 ), oSlowK( 0 ), oSlowD( 0 ); V0 = Stochastic(H, L, C, FastKPeriod, SlowKPeriod, SlowDPeriod, 1, oFastK, oFastD, oSlowK, oSlowD); Params : vWP1(20); Vars : vWma1(0); v1 = (H + L) / 2; vWma1 = WAverage(v1, vWP1); If SP = 0 Then Begin if vsignal[3]<vsignal[2] And vsignal[2]<vsignal[1] And vsignal[1]<vsignal Then IF vsignal1[3]<vsignal1[2] And vsignal1[2]<vsignal1[1] And vsignal1[1]<vsignal1 Then if vsignal>0 And vsignal1 >0 Then if vWma1[1]<vWma1 Then if vema1[2]<vema1[1] And vema1[1]<vema1 Then if vmacd>vsignal And vEma1>vEma2 And vEma11>vEma12 Then//And vEma21>vEma22 Then IF oSlowK>=0 And oSlowK<UPLINE Then IF vHH[1] < C Then //IF vHHsig[1]*vHHsig_percent < vsignal Then Buy("B1"); if vsignal[3]>vsignal[2] And vsignal[2]>vsignal[1] And vsignal[1]>vsignal Then IF vsignal1[3]>vsignal1[2] And vsignal1[2]>vsignal1[1] And vsignal1[1]>vsignal1 Then if vsignal < 0 And vsignal1 <0 Then //if vWma1[1]>vWma1 Then if vema1[2]>vema1[1] And vema1[1]>vema1 Then if vmacd<vsignal And vEma1<vEma2 And vEma11<vEma12 Then //And vEma21<vEma22 Then IF oSlowK>DNLINE And oSlowK<=100 Then IF vll[1] > C Then //IF vLLsig[1]*vLLsig_percent > vsignal Then Sell("S1"); End; if CrossDown(vEma11, vEma12) Then ExitLong("EB"); if CrossUp(vEma11, vEma12) Then ExitShort("ES"); SetProfitTarget(vProfit * TickSize * CurrContracts); SetStopLoss(vLoss * TickSize * CurrContracts);
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2020-01-22 14:05:35

안녕하세요 예스스탁입니다. input : vProfit(226); input : vLoss(47); Vars : SP(0), TickSize(0); SP = MarketPosition; TickSize = PriceScale; input : vShortP(7), vLongP(8), vSigP(8); Vars : vMACD(0), vSignal(0); vMACD = MACD(vShortP, vLongP); vSignal = ema(vMACD, vSigP); input : vShortP1(8), vLongP1(9), vSigP1(11), period_vhh(92), period_vll(4), period_vhhsig(84), period_vLLsig(3),vHHsig_percent(0.7),vLLsig_percent(0.6); Vars : vMACD1(0), vSignal1(0), vHH(0), vLL(0),vHHsig(0),vLLsig(0); vMACD1 = MACD(vShortP1, vLongP1); vSignal1 = ema(vMACD1, vSigP1); vHH = Highest(C, period_vhh); vLL = Lowest(C, period_vLL); vHHsig = Highest(vSignal,period_vhhsig); vLLsig = Lowest(vSignal, period_vLLsig); input : vEMA_P1(2), vEMA_P2(13); Vars : vEma1(0), vEma2(0); vEma1 = ema(C, vEMA_P1); vEma2 = ema(C, vEMA_P2); input : vEMA1_P1(21), vEMA1_P2(46); Vars : vEma11(0), vEma12(0); vEma11 = ema(C, vEMA1_P1); vEma12 = ema(C, vEMA1_P2); input : vEMA2_P1(20), vEMA2_P2(48); Vars : vEma21(0), vEma22(0); vEma21 = ema(C, vEMA2_P1); vEma22 = ema(C, vEMA2_P2); input : FastKPeriod( 45 ), SlowKPeriod( 5 ), SlowDPeriod( 1 ), DnLine( 23 ), // 하한선 UpLine( 87 ); // 상한선 Var : oFastK( 0 ), oFastD( 0 ), oSlowK( 0 ), oSlowD( 0 ); oFastK = FastK(FastKPeriod); oFastD = FastD(FastKPeriod,SlowKPeriod); oSlowK = StochasticsK(FastKPeriod,SlowKPeriod); oSlowD = StochasticsD(FastKPeriod, SlowKPeriod, SlowDPeriod); input : vWP1(20); Vars : vWma1(0),V1(0); v1 = (H + L) / 2; vWma1 = wma(v1, vWP1); If SP == 0 Then Begin if vsignal[3]<vsignal[2] And vsignal[2]<vsignal[1] And vsignal[1]<vsignal Then IF vsignal1[3]<vsignal1[2] And vsignal1[2]<vsignal1[1] And vsignal1[1]<vsignal1 Then if vsignal>0 And vsignal1 >0 Then if vWma1[1]<vWma1 Then if vema1[2]<vema1[1] And vema1[1]<vema1 Then if vmacd>vsignal And vEma1>vEma2 And vEma11>vEma12 Then//And vEma21>vEma22 Then IF oSlowK>=0 And oSlowK<UPLINE Then IF vHH[1] < C Then //IF vHHsig[1]*vHHsig_percent < vsignal Then Buy("B1"); if vsignal[3]>vsignal[2] And vsignal[2]>vsignal[1] And vsignal[1]>vsignal Then IF vsignal1[3]>vsignal1[2] And vsignal1[2]>vsignal1[1] And vsignal1[1]>vsignal1 Then if vsignal < 0 And vsignal1 <0 Then //if vWma1[1]>vWma1 Then if vema1[2]>vema1[1] And vema1[1]>vema1 Then if vmacd<vsignal And vEma1<vEma2 And vEma11<vEma12 Then //And vEma21<vEma22 Then IF oSlowK>DNLINE And oSlowK<=100 Then IF vll[1] > C Then //IF vLLsig[1]*vLLsig_percent > vsignal Then Sell("S1"); End; if CrossDown(vEma11, vEma12) Then ExitLong("EB"); if CrossUp(vEma11, vEma12) Then ExitShort("ES"); SetStopProfittarget(vProfit * TickSize,PointStop); SetStopLoss(vLoss * TickSize,PointStop); 즐거운 명절 되시기 바랍니다. > st002340 님이 쓴 글입니다. > 제목 : 함수 변환요청합니다 > 시그널메이커 수식인데 예스랭귀지로 변환하고자 합니다. 부탁드립니다. 감사합니다. Params : vProfit(226); Params : vLoss(47); Vars : SP(0), TickSize(0); SP = SignalPosition; TickSize = OneTick * PriceScale; Params : vShortP(7), vLongP(8), vSigP(8); Vars : vMACD(0), vSignal(0); vMACD = MACD(C, vShortP, vLongP); vSignal = XAverage(vMACD, vSigP); Params : vShortP1(8), vLongP1(9), vSigP1(11), period_vhh(92), period_vll(4), period_vhhsig(84), period_vLLsig(3),vHHsig_percent(0.7),vLLsig_percent(0.6); Vars : vMACD1(0), vSignal1(0), vHH(0), vLL(0),vHHsig(0),vLLsig(0); vMACD1 = MACD(C, vShortP1, vLongP1); vSignal1 = XAverage(vMACD1, vSigP1); vHH = Highest(C, period_vhh); vLL = Lowest(C, period_vLL); vHHsig = Highest(vSignal,period_vhhsig); vLLsig = Lowest(vSignal, period_vLLsig); Params : vEMA_P1(2), vEMA_P2(13); Vars : vEma1(0), vEma2(0); vEma1 = XAverage(C, vEMA_P1); vEma2 = XAverage(C, vEMA_P2); Params : vEMA1_P1(21), vEMA1_P2(46); Vars : vEma11(0), vEma12(0); vEma11 = XAverage(C, vEMA1_P1); vEma12 = XAverage(C, vEMA1_P2); Params : vEMA2_P1(20), vEMA2_P2(48); Vars : vEma21(0), vEma22(0); vEma21 = XAverage(C, vEMA2_P1); vEma22 = XAverage(C, vEMA2_P2); Params : FastKPeriod( 45 ), SlowKPeriod( 5 ), SlowDPeriod( 1 ), DnLine( 23 ), // 하한선 UpLine( 87 ); // 상한선 Var : oFastK( 0 ), oFastD( 0 ), oSlowK( 0 ), oSlowD( 0 ); V0 = Stochastic(H, L, C, FastKPeriod, SlowKPeriod, SlowDPeriod, 1, oFastK, oFastD, oSlowK, oSlowD); Params : vWP1(20); Vars : vWma1(0); v1 = (H + L) / 2; vWma1 = WAverage(v1, vWP1); If SP = 0 Then Begin if vsignal[3]<vsignal[2] And vsignal[2]<vsignal[1] And vsignal[1]<vsignal Then IF vsignal1[3]<vsignal1[2] And vsignal1[2]<vsignal1[1] And vsignal1[1]<vsignal1 Then if vsignal>0 And vsignal1 >0 Then if vWma1[1]<vWma1 Then if vema1[2]<vema1[1] And vema1[1]<vema1 Then if vmacd>vsignal And vEma1>vEma2 And vEma11>vEma12 Then//And vEma21>vEma22 Then IF oSlowK>=0 And oSlowK<UPLINE Then IF vHH[1] < C Then //IF vHHsig[1]*vHHsig_percent < vsignal Then Buy("B1"); if vsignal[3]>vsignal[2] And vsignal[2]>vsignal[1] And vsignal[1]>vsignal Then IF vsignal1[3]>vsignal1[2] And vsignal1[2]>vsignal1[1] And vsignal1[1]>vsignal1 Then if vsignal < 0 And vsignal1 <0 Then //if vWma1[1]>vWma1 Then if vema1[2]>vema1[1] And vema1[1]>vema1 Then if vmacd<vsignal And vEma1<vEma2 And vEma11<vEma12 Then //And vEma21<vEma22 Then IF oSlowK>DNLINE And oSlowK<=100 Then IF vll[1] > C Then //IF vLLsig[1]*vLLsig_percent > vsignal Then Sell("S1"); End; if CrossDown(vEma11, vEma12) Then ExitLong("EB"); if CrossUp(vEma11, vEma12) Then ExitShort("ES"); SetProfitTarget(vProfit * TickSize * CurrContracts); SetStopLoss(vLoss * TickSize * CurrContracts);
프로필 이미지

st002340

2020-01-22 14:33:57

답변 감사드립니다. 65번째 줄에 syntaxerror라고 뜹니다ㅠ > st002340 님이 쓴 글입니다. > 제목 : 함수 변환요청합니다 > 시그널메이커 수식인데 예스랭귀지로 변환하고자 합니다. 부탁드립니다. 감사합니다. Params : vProfit(226); Params : vLoss(47); Vars : SP(0), TickSize(0); SP = SignalPosition; TickSize = OneTick * PriceScale; Params : vShortP(7), vLongP(8), vSigP(8); Vars : vMACD(0), vSignal(0); vMACD = MACD(C, vShortP, vLongP); vSignal = XAverage(vMACD, vSigP); Params : vShortP1(8), vLongP1(9), vSigP1(11), period_vhh(92), period_vll(4), period_vhhsig(84), period_vLLsig(3),vHHsig_percent(0.7),vLLsig_percent(0.6); Vars : vMACD1(0), vSignal1(0), vHH(0), vLL(0),vHHsig(0),vLLsig(0); vMACD1 = MACD(C, vShortP1, vLongP1); vSignal1 = XAverage(vMACD1, vSigP1); vHH = Highest(C, period_vhh); vLL = Lowest(C, period_vLL); vHHsig = Highest(vSignal,period_vhhsig); vLLsig = Lowest(vSignal, period_vLLsig); Params : vEMA_P1(2), vEMA_P2(13); Vars : vEma1(0), vEma2(0); vEma1 = XAverage(C, vEMA_P1); vEma2 = XAverage(C, vEMA_P2); Params : vEMA1_P1(21), vEMA1_P2(46); Vars : vEma11(0), vEma12(0); vEma11 = XAverage(C, vEMA1_P1); vEma12 = XAverage(C, vEMA1_P2); Params : vEMA2_P1(20), vEMA2_P2(48); Vars : vEma21(0), vEma22(0); vEma21 = XAverage(C, vEMA2_P1); vEma22 = XAverage(C, vEMA2_P2); Params : FastKPeriod( 45 ), SlowKPeriod( 5 ), SlowDPeriod( 1 ), DnLine( 23 ), // 하한선 UpLine( 87 ); // 상한선 Var : oFastK( 0 ), oFastD( 0 ), oSlowK( 0 ), oSlowD( 0 ); V0 = Stochastic(H, L, C, FastKPeriod, SlowKPeriod, SlowDPeriod, 1, oFastK, oFastD, oSlowK, oSlowD); Params : vWP1(20); Vars : vWma1(0); v1 = (H + L) / 2; vWma1 = WAverage(v1, vWP1); If SP = 0 Then Begin if vsignal[3]<vsignal[2] And vsignal[2]<vsignal[1] And vsignal[1]<vsignal Then IF vsignal1[3]<vsignal1[2] And vsignal1[2]<vsignal1[1] And vsignal1[1]<vsignal1 Then if vsignal>0 And vsignal1 >0 Then if vWma1[1]<vWma1 Then if vema1[2]<vema1[1] And vema1[1]<vema1 Then if vmacd>vsignal And vEma1>vEma2 And vEma11>vEma12 Then//And vEma21>vEma22 Then IF oSlowK>=0 And oSlowK<UPLINE Then IF vHH[1] < C Then //IF vHHsig[1]*vHHsig_percent < vsignal Then Buy("B1"); if vsignal[3]>vsignal[2] And vsignal[2]>vsignal[1] And vsignal[1]>vsignal Then IF vsignal1[3]>vsignal1[2] And vsignal1[2]>vsignal1[1] And vsignal1[1]>vsignal1 Then if vsignal < 0 And vsignal1 <0 Then //if vWma1[1]>vWma1 Then if vema1[2]>vema1[1] And vema1[1]>vema1 Then if vmacd<vsignal And vEma1<vEma2 And vEma11<vEma12 Then //And vEma21<vEma22 Then IF oSlowK>DNLINE And oSlowK<=100 Then IF vll[1] > C Then //IF vLLsig[1]*vLLsig_percent > vsignal Then Sell("S1"); End; if CrossDown(vEma11, vEma12) Then ExitLong("EB"); if CrossUp(vEma11, vEma12) Then ExitShort("ES"); SetProfitTarget(vProfit * TickSize * CurrContracts); SetStopLoss(vLoss * TickSize * CurrContracts);
프로필 이미지

예스스탁 예스스탁 답변

2020-01-22 14:51:19

수식에 에러가 없습니다. 첨부된 그림과 같이 정상적으로 검증되는 식입니다. > st002340 님이 쓴 글입니다. > 제목 : Re : 함수 변환요청합니다 > 답변 감사드립니다. 65번째 줄에 syntaxerror라고 뜹니다ㅠ > st002340 님이 쓴 글입니다. > 제목 : 함수 변환요청합니다 > 시그널메이커 수식인데 예스랭귀지로 변환하고자 합니다. 부탁드립니다. 감사합니다. Params : vProfit(226); Params : vLoss(47); Vars : SP(0), TickSize(0); SP = SignalPosition; TickSize = OneTick * PriceScale; Params : vShortP(7), vLongP(8), vSigP(8); Vars : vMACD(0), vSignal(0); vMACD = MACD(C, vShortP, vLongP); vSignal = XAverage(vMACD, vSigP); Params : vShortP1(8), vLongP1(9), vSigP1(11), period_vhh(92), period_vll(4), period_vhhsig(84), period_vLLsig(3),vHHsig_percent(0.7),vLLsig_percent(0.6); Vars : vMACD1(0), vSignal1(0), vHH(0), vLL(0),vHHsig(0),vLLsig(0); vMACD1 = MACD(C, vShortP1, vLongP1); vSignal1 = XAverage(vMACD1, vSigP1); vHH = Highest(C, period_vhh); vLL = Lowest(C, period_vLL); vHHsig = Highest(vSignal,period_vhhsig); vLLsig = Lowest(vSignal, period_vLLsig); Params : vEMA_P1(2), vEMA_P2(13); Vars : vEma1(0), vEma2(0); vEma1 = XAverage(C, vEMA_P1); vEma2 = XAverage(C, vEMA_P2); Params : vEMA1_P1(21), vEMA1_P2(46); Vars : vEma11(0), vEma12(0); vEma11 = XAverage(C, vEMA1_P1); vEma12 = XAverage(C, vEMA1_P2); Params : vEMA2_P1(20), vEMA2_P2(48); Vars : vEma21(0), vEma22(0); vEma21 = XAverage(C, vEMA2_P1); vEma22 = XAverage(C, vEMA2_P2); Params : FastKPeriod( 45 ), SlowKPeriod( 5 ), SlowDPeriod( 1 ), DnLine( 23 ), // 하한선 UpLine( 87 ); // 상한선 Var : oFastK( 0 ), oFastD( 0 ), oSlowK( 0 ), oSlowD( 0 ); V0 = Stochastic(H, L, C, FastKPeriod, SlowKPeriod, SlowDPeriod, 1, oFastK, oFastD, oSlowK, oSlowD); Params : vWP1(20); Vars : vWma1(0); v1 = (H + L) / 2; vWma1 = WAverage(v1, vWP1); If SP = 0 Then Begin if vsignal[3]<vsignal[2] And vsignal[2]<vsignal[1] And vsignal[1]<vsignal Then IF vsignal1[3]<vsignal1[2] And vsignal1[2]<vsignal1[1] And vsignal1[1]<vsignal1 Then if vsignal>0 And vsignal1 >0 Then if vWma1[1]<vWma1 Then if vema1[2]<vema1[1] And vema1[1]<vema1 Then if vmacd>vsignal And vEma1>vEma2 And vEma11>vEma12 Then//And vEma21>vEma22 Then IF oSlowK>=0 And oSlowK<UPLINE Then IF vHH[1] < C Then //IF vHHsig[1]*vHHsig_percent < vsignal Then Buy("B1"); if vsignal[3]>vsignal[2] And vsignal[2]>vsignal[1] And vsignal[1]>vsignal Then IF vsignal1[3]>vsignal1[2] And vsignal1[2]>vsignal1[1] And vsignal1[1]>vsignal1 Then if vsignal < 0 And vsignal1 <0 Then //if vWma1[1]>vWma1 Then if vema1[2]>vema1[1] And vema1[1]>vema1 Then if vmacd<vsignal And vEma1<vEma2 And vEma11<vEma12 Then //And vEma21<vEma22 Then IF oSlowK>DNLINE And oSlowK<=100 Then IF vll[1] > C Then //IF vLLsig[1]*vLLsig_percent > vsignal Then Sell("S1"); End; if CrossDown(vEma11, vEma12) Then ExitLong("EB"); if CrossUp(vEma11, vEma12) Then ExitShort("ES"); SetProfitTarget(vProfit * TickSize * CurrContracts); SetStopLoss(vLoss * TickSize * CurrContracts);