예스스탁
예스스탁 답변
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);