커뮤니티

문의드립니다.

프로필 이미지
라떼처럼
2018-05-17 09:46:47
144
글번호 118968
답변완료
아래식에서 *** 부분을 추가하고 싶습니다. 부탁드립니다. 일부 작성을 해 보았습니다. ***에 맞게 수식 수정하시어 아래식에 추가 부탁 드립니다. 감사합니다. *** 수식추가 요청사항 crossup(mav2,mav3) 매수되면 crossdown(mav2,mav3) 전에 아래 1,2번을 한번만 실행하고 싶습니다. 1번) 기준(10틱) 이상 이익이면, 하락(50틱)만큼 하락하면 매수 포지션 청산 2번) 청산 후 다시 mav2(10일선)이 상승하면 매수 재 진입 만약, 1번)에 의한 청산후 crossdown(mav2,mav3) 되면 2번) 실행 없이 매도 진입 하여 1번),2번)을 한번만 실행 매도, 반대 ***작성해본 수식 # 1. 기준(10틱) 이상 수익이면 하락(50틱)하면 매수 청산 (10틱수익/-40틱청산, 70틱수익/20틱청산) if MarketPosition == 1 Then{ BH = highest(H,BarsSinceEntry); if BH >= EntryPrice+PriceScale*기준 Then{ ExitLong("B익절1",AtStop,BH-PriceScale*하락); } # 2. 다시 10일선이 상승하면 재 진입 if mav2 > mav2[1] Then buy("Buy2"); # 1. 기준(10틱) 이상 수익이면 하락(50틱)하면 매수 청산 (10틱수익/-40틱청산, 70틱수익/20틱청산) if MarketPosition == -1 Then{ SL = Lowest(L,BarsSinceEntry); if SL <= EntryPrice-PriceScale*기준 Then{ ExitShort("S익절1",AtStop,SL+PriceScale*하락); } # 2. 다시 10일선이 하락하면 재 진입 if mav2 < mav2[1] Then sell("Sell2"); 아래식 -------------------------------------------------------------- input : P1(3),P2(10),P3(280),기준(10), 하락(50), 손절(150); var : mav2(0),mav3(0); var : BH(0),SL(0); mav2 = ma(c,P2); mav3 = ma(c,P3); #ATR Input : ATR추적(20), ATR손절(20); #ATR 청산 Var : PosHigh(0), PosLow(0); #ATR 청산 //진입 if crossup(mav2,mav3) Then buy("Buy"); if CrossDown(mav2,mav3) Then sell("Sell"); # ATR 추적 청산 PosHigh = Highest(H, BarsSinceEntry+1); PosLow = Lowest(L,BarsSinceEntry+1); If MarketPosition <> 0 Then { ExitLong("EL_추적ATR", AtStop,PosHigh-ATR(20)*ATR추적); Exitshort("ES_추적ATR", AtStop,PosLow+ATR(20)*ATR추적); } # ATR 손절 청산 If MarketPosition <> 0 Then { ExitLong("EL_손절ATR", AtStop,EntryPrice-ATR(20)*ATR손절); Exitshort("ES_손절ATR", AtStop,EntryPrice+ATR(20)*ATR손절); } # 최대손절 청산 if MarketPosition == 1 Then{ BH = highest(H,BarsSinceEntry); ExitLong("B손절",AtStop,EntryPrice-PriceScale*손절); } if MarketPosition == -1 Then{ SL = Lowest(L,BarsSinceEntry); ExitShort("S손절",AtStop,EntryPrice+PriceScale*손절); }
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2018-05-17 15:00:33

안녕하세요 예스스탁입니다. input : P1(3),P2(10),P3(280),기준(10), 하락(50), 손절(150); var : mav2(0),mav3(0); var : BH(0),SL(0); #ATR Input : ATR추적(20), ATR손절(20); #ATR 청산 Var : PosHigh(0), PosLow(0); #ATR 청산 mav2 = ma(c,P2); mav3 = ma(c,P3); //진입 if crossup(mav2,mav3) Then buy("Buy"); if CrossDown(mav2,mav3) Then sell("Sell"); if MarketPosition == 0 and MarketPosition(1) == 1 and IsEntryName("Buy",1) == true and mav2 > mav3 and mav2 > mav2[1] Then buy("reBuy"); if MarketPosition == 0 and MarketPosition(1) == -1 and IsEntryName("sell",1) == true and mav2 < mav3 and mav2 < mav2[1] Then sell("reSell"); # ATR 추적 청산 PosHigh = Highest(H, BarsSinceEntry+1); PosLow = Lowest(L,BarsSinceEntry+1); If MarketPosition <> 0 Then { ExitLong("EL_추적ATR", AtStop,PosHigh-ATR(20)*ATR추적); Exitshort("ES_추적ATR", AtStop,PosLow+ATR(20)*ATR추적); } # ATR 손절 청산 If MarketPosition <> 0 Then { ExitLong("EL_손절ATR", AtStop,EntryPrice-ATR(20)*ATR손절); Exitshort("ES_손절ATR", AtStop,EntryPrice+ATR(20)*ATR손절); } # 최대손절 청산 if MarketPosition == 1 Then { BH = highest(H,BarsSinceEntry); ExitLong("B손절",AtStop,EntryPrice-PriceScale*손절); if BH >= EntryPrice+PriceScale*기준 Then { ExitLong("B익절1",AtStop,BH-PriceScale*하락); } } if MarketPosition == -1 Then { SL = Lowest(L,BarsSinceEntry); ExitShort("S손절",AtStop,EntryPrice+PriceScale*손절); if SL <= EntryPrice-PriceScale*기준 Then { ExitShort("S익절1",AtStop,SL+PriceScale*하락); } } 즐거운 하루되세요 > 라떼처럼 님이 쓴 글입니다. > 제목 : 문의드립니다. > 아래식에서 *** 부분을 추가하고 싶습니다. 부탁드립니다. 일부 작성을 해 보았습니다. ***에 맞게 수식 수정하시어 아래식에 추가 부탁 드립니다. 감사합니다. *** 수식추가 요청사항 crossup(mav2,mav3) 매수되면 crossdown(mav2,mav3) 전에 아래 1,2번을 한번만 실행하고 싶습니다. 1번) 기준(10틱) 이상 이익이면, 하락(50틱)만큼 하락하면 매수 포지션 청산 2번) 청산 후 다시 mav2(10일선)이 상승하면 매수 재 진입 만약, 1번)에 의한 청산후 crossdown(mav2,mav3) 되면 2번) 실행 없이 매도 진입 하여 1번),2번)을 한번만 실행 매도, 반대 ***작성해본 수식 # 1. 기준(10틱) 이상 수익이면 하락(50틱)하면 매수 청산 (10틱수익/-40틱청산, 70틱수익/20틱청산) if MarketPosition == 1 Then{ BH = highest(H,BarsSinceEntry); if BH >= EntryPrice+PriceScale*기준 Then{ ExitLong("B익절1",AtStop,BH-PriceScale*하락); } # 2. 다시 10일선이 상승하면 재 진입 if mav2 > mav2[1] Then buy("Buy2"); # 1. 기준(10틱) 이상 수익이면 하락(50틱)하면 매수 청산 (10틱수익/-40틱청산, 70틱수익/20틱청산) if MarketPosition == -1 Then{ SL = Lowest(L,BarsSinceEntry); if SL <= EntryPrice-PriceScale*기준 Then{ ExitShort("S익절1",AtStop,SL+PriceScale*하락); } # 2. 다시 10일선이 하락하면 재 진입 if mav2 < mav2[1] Then sell("Sell2"); 아래식 -------------------------------------------------------------- input : P1(3),P2(10),P3(280),기준(10), 하락(50), 손절(150); var : mav2(0),mav3(0); var : BH(0),SL(0); mav2 = ma(c,P2); mav3 = ma(c,P3); #ATR Input : ATR추적(20), ATR손절(20); #ATR 청산 Var : PosHigh(0), PosLow(0); #ATR 청산 //진입 if crossup(mav2,mav3) Then buy("Buy"); if CrossDown(mav2,mav3) Then sell("Sell"); # ATR 추적 청산 PosHigh = Highest(H, BarsSinceEntry+1); PosLow = Lowest(L,BarsSinceEntry+1); If MarketPosition <> 0 Then { ExitLong("EL_추적ATR", AtStop,PosHigh-ATR(20)*ATR추적); Exitshort("ES_추적ATR", AtStop,PosLow+ATR(20)*ATR추적); } # ATR 손절 청산 If MarketPosition <> 0 Then { ExitLong("EL_손절ATR", AtStop,EntryPrice-ATR(20)*ATR손절); Exitshort("ES_손절ATR", AtStop,EntryPrice+ATR(20)*ATR손절); } # 최대손절 청산 if MarketPosition == 1 Then{ BH = highest(H,BarsSinceEntry); ExitLong("B손절",AtStop,EntryPrice-PriceScale*손절); } if MarketPosition == -1 Then{ SL = Lowest(L,BarsSinceEntry); ExitShort("S손절",AtStop,EntryPrice+PriceScale*손절); }
프로필 이미지

라떼처럼

2018-05-17 15:24:37

수식이 요청한 내용과 달라 다시 설명 드립니다. 부탁드립니다. 감사합니다. crossup(mav2,mav3) 매수되고 crossup(mav2,mav3)되기 전까지 10틱 이상으로 상승되면, 50틱 하락하면 매수 포지션 청산 포지션 청산 후 mav2(10일선)이 상승하면 재 매수 만약 50틱 하락에 의한 청산후 바로 crossdown(mav2,mav3) 되면 mav2(10일선) 상승에 의한 재매수 없이 매도 진입 매도, 반대 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의드립니다. > 안녕하세요 예스스탁입니다. input : P1(3),P2(10),P3(280),기준(10), 하락(50), 손절(150); var : mav2(0),mav3(0); var : BH(0),SL(0); #ATR Input : ATR추적(20), ATR손절(20); #ATR 청산 Var : PosHigh(0), PosLow(0); #ATR 청산 mav2 = ma(c,P2); mav3 = ma(c,P3); //진입 if crossup(mav2,mav3) Then buy("Buy"); if CrossDown(mav2,mav3) Then sell("Sell"); if MarketPosition == 0 and MarketPosition(1) == 1 and IsEntryName("Buy",1) == true and mav2 > mav3 and mav2 > mav2[1] Then buy("reBuy"); if MarketPosition == 0 and MarketPosition(1) == -1 and IsEntryName("sell",1) == true and mav2 < mav3 and mav2 < mav2[1] Then sell("reSell"); # ATR 추적 청산 PosHigh = Highest(H, BarsSinceEntry+1); PosLow = Lowest(L,BarsSinceEntry+1); If MarketPosition <> 0 Then { ExitLong("EL_추적ATR", AtStop,PosHigh-ATR(20)*ATR추적); Exitshort("ES_추적ATR", AtStop,PosLow+ATR(20)*ATR추적); } # ATR 손절 청산 If MarketPosition <> 0 Then { ExitLong("EL_손절ATR", AtStop,EntryPrice-ATR(20)*ATR손절); Exitshort("ES_손절ATR", AtStop,EntryPrice+ATR(20)*ATR손절); } # 최대손절 청산 if MarketPosition == 1 Then { BH = highest(H,BarsSinceEntry); ExitLong("B손절",AtStop,EntryPrice-PriceScale*손절); if BH >= EntryPrice+PriceScale*기준 Then { ExitLong("B익절1",AtStop,BH-PriceScale*하락); } } if MarketPosition == -1 Then { SL = Lowest(L,BarsSinceEntry); ExitShort("S손절",AtStop,EntryPrice+PriceScale*손절); if SL <= EntryPrice-PriceScale*기준 Then { ExitShort("S익절1",AtStop,SL+PriceScale*하락); } } 즐거운 하루되세요 > 라떼처럼 님이 쓴 글입니다. > 제목 : 문의드립니다. > 아래식에서 *** 부분을 추가하고 싶습니다. 부탁드립니다. 일부 작성을 해 보았습니다. ***에 맞게 수식 수정하시어 아래식에 추가 부탁 드립니다. 감사합니다. *** 수식추가 요청사항 crossup(mav2,mav3) 매수되면 crossdown(mav2,mav3) 전에 아래 1,2번을 한번만 실행하고 싶습니다. 1번) 기준(10틱) 이상 이익이면, 하락(50틱)만큼 하락하면 매수 포지션 청산 2번) 청산 후 다시 mav2(10일선)이 상승하면 매수 재 진입 만약, 1번)에 의한 청산후 crossdown(mav2,mav3) 되면 2번) 실행 없이 매도 진입 하여 1번),2번)을 한번만 실행 매도, 반대 ***작성해본 수식 # 1. 기준(10틱) 이상 수익이면 하락(50틱)하면 매수 청산 (10틱수익/-40틱청산, 70틱수익/20틱청산) if MarketPosition == 1 Then{ BH = highest(H,BarsSinceEntry); if BH >= EntryPrice+PriceScale*기준 Then{ ExitLong("B익절1",AtStop,BH-PriceScale*하락); } # 2. 다시 10일선이 상승하면 재 진입 if mav2 > mav2[1] Then buy("Buy2"); # 1. 기준(10틱) 이상 수익이면 하락(50틱)하면 매수 청산 (10틱수익/-40틱청산, 70틱수익/20틱청산) if MarketPosition == -1 Then{ SL = Lowest(L,BarsSinceEntry); if SL <= EntryPrice-PriceScale*기준 Then{ ExitShort("S익절1",AtStop,SL+PriceScale*하락); } # 2. 다시 10일선이 하락하면 재 진입 if mav2 < mav2[1] Then sell("Sell2"); 아래식 -------------------------------------------------------------- input : P1(3),P2(10),P3(280),기준(10), 하락(50), 손절(150); var : mav2(0),mav3(0); var : BH(0),SL(0); mav2 = ma(c,P2); mav3 = ma(c,P3); #ATR Input : ATR추적(20), ATR손절(20); #ATR 청산 Var : PosHigh(0), PosLow(0); #ATR 청산 //진입 if crossup(mav2,mav3) Then buy("Buy"); if CrossDown(mav2,mav3) Then sell("Sell"); # ATR 추적 청산 PosHigh = Highest(H, BarsSinceEntry+1); PosLow = Lowest(L,BarsSinceEntry+1); If MarketPosition <> 0 Then { ExitLong("EL_추적ATR", AtStop,PosHigh-ATR(20)*ATR추적); Exitshort("ES_추적ATR", AtStop,PosLow+ATR(20)*ATR추적); } # ATR 손절 청산 If MarketPosition <> 0 Then { ExitLong("EL_손절ATR", AtStop,EntryPrice-ATR(20)*ATR손절); Exitshort("ES_손절ATR", AtStop,EntryPrice+ATR(20)*ATR손절); } # 최대손절 청산 if MarketPosition == 1 Then{ BH = highest(H,BarsSinceEntry); ExitLong("B손절",AtStop,EntryPrice-PriceScale*손절); } if MarketPosition == -1 Then{ SL = Lowest(L,BarsSinceEntry); ExitShort("S손절",AtStop,EntryPrice+PriceScale*손절); }
프로필 이미지

예스스탁 예스스탁 답변

2018-05-17 16:01:37

안녕하세요 예스스탁입니다. 청산명이 지정이 안되있어 추가했습니다. B익절1,S익절1로 청산되에만 지정조건으로 재진입합니다. input : P1(3),P2(10),P3(280),기준(10), 하락(50), 손절(150); var : mav2(0),mav3(0); var : BH(0),SL(0); #ATR Input : ATR추적(20), ATR손절(20); #ATR 청산 Var : PosHigh(0), PosLow(0); #ATR 청산 mav2 = ma(c,P2); mav3 = ma(c,P3); //진입 if crossup(mav2,mav3) Then buy("Buy"); if CrossDown(mav2,mav3) Then sell("Sell"); if MarketPosition == 0 and MarketPosition(1) == 1 and IsEntryName("Buy",1) == true and IsExitName("B익절1",1) == true and mav2 > mav3 and mav2 > mav2[1] Then buy("reBuy"); if MarketPosition == 0 and MarketPosition(1) == -1 and IsEntryName("Sell",1) == true and IsExitName("S익절1",1) == true and mav2 < mav3 and mav2 < mav2[1] Then sell("reSell"); # ATR 추적 청산 PosHigh = Highest(H, BarsSinceEntry+1); PosLow = Lowest(L,BarsSinceEntry+1); If MarketPosition <> 0 Then { ExitLong("EL_추적ATR", AtStop,PosHigh-ATR(20)*ATR추적); Exitshort("ES_추적ATR", AtStop,PosLow+ATR(20)*ATR추적); } # ATR 손절 청산 If MarketPosition <> 0 Then { ExitLong("EL_손절ATR", AtStop,EntryPrice-ATR(20)*ATR손절); Exitshort("ES_손절ATR", AtStop,EntryPrice+ATR(20)*ATR손절); } # 최대손절 청산 if MarketPosition == 1 Then { BH = highest(H,BarsSinceEntry); ExitLong("B손절",AtStop,EntryPrice-PriceScale*손절); if BH >= EntryPrice+PriceScale*기준 Then { ExitLong("B익절1",AtStop,BH-PriceScale*하락); } } if MarketPosition == -1 Then { SL = Lowest(L,BarsSinceEntry); ExitShort("S손절",AtStop,EntryPrice+PriceScale*손절); if SL <= EntryPrice-PriceScale*기준 Then { ExitShort("S익절1",AtStop,SL+PriceScale*하락); } } 즐거운 하루되세요 > 라떼처럼 님이 쓴 글입니다. > 제목 : Re : Re : 문의드립니다. > 수식이 요청한 내용과 달라 다시 설명 드립니다. 부탁드립니다. 감사합니다. crossup(mav2,mav3) 매수되고 crossup(mav2,mav3)되기 전까지 10틱 이상으로 상승되면, 50틱 하락하면 매수 포지션 청산 포지션 청산 후 mav2(10일선)이 상승하면 재 매수 만약 50틱 하락에 의한 청산후 바로 crossdown(mav2,mav3) 되면 mav2(10일선) 상승에 의한 재매수 없이 매도 진입 매도, 반대 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의드립니다. > 안녕하세요 예스스탁입니다. input : P1(3),P2(10),P3(280),기준(10), 하락(50), 손절(150); var : mav2(0),mav3(0); var : BH(0),SL(0); #ATR Input : ATR추적(20), ATR손절(20); #ATR 청산 Var : PosHigh(0), PosLow(0); #ATR 청산 mav2 = ma(c,P2); mav3 = ma(c,P3); //진입 if crossup(mav2,mav3) Then buy("Buy"); if CrossDown(mav2,mav3) Then sell("Sell"); if MarketPosition == 0 and MarketPosition(1) == 1 and IsEntryName("Buy",1) == true and mav2 > mav3 and mav2 > mav2[1] Then buy("reBuy"); if MarketPosition == 0 and MarketPosition(1) == -1 and IsEntryName("sell",1) == true and mav2 < mav3 and mav2 < mav2[1] Then sell("reSell"); # ATR 추적 청산 PosHigh = Highest(H, BarsSinceEntry+1); PosLow = Lowest(L,BarsSinceEntry+1); If MarketPosition <> 0 Then { ExitLong("EL_추적ATR", AtStop,PosHigh-ATR(20)*ATR추적); Exitshort("ES_추적ATR", AtStop,PosLow+ATR(20)*ATR추적); } # ATR 손절 청산 If MarketPosition <> 0 Then { ExitLong("EL_손절ATR", AtStop,EntryPrice-ATR(20)*ATR손절); Exitshort("ES_손절ATR", AtStop,EntryPrice+ATR(20)*ATR손절); } # 최대손절 청산 if MarketPosition == 1 Then { BH = highest(H,BarsSinceEntry); ExitLong("B손절",AtStop,EntryPrice-PriceScale*손절); if BH >= EntryPrice+PriceScale*기준 Then { ExitLong("B익절1",AtStop,BH-PriceScale*하락); } } if MarketPosition == -1 Then { SL = Lowest(L,BarsSinceEntry); ExitShort("S손절",AtStop,EntryPrice+PriceScale*손절); if SL <= EntryPrice-PriceScale*기준 Then { ExitShort("S익절1",AtStop,SL+PriceScale*하락); } } 즐거운 하루되세요 > 라떼처럼 님이 쓴 글입니다. > 제목 : 문의드립니다. > 아래식에서 *** 부분을 추가하고 싶습니다. 부탁드립니다. 일부 작성을 해 보았습니다. ***에 맞게 수식 수정하시어 아래식에 추가 부탁 드립니다. 감사합니다. *** 수식추가 요청사항 crossup(mav2,mav3) 매수되면 crossdown(mav2,mav3) 전에 아래 1,2번을 한번만 실행하고 싶습니다. 1번) 기준(10틱) 이상 이익이면, 하락(50틱)만큼 하락하면 매수 포지션 청산 2번) 청산 후 다시 mav2(10일선)이 상승하면 매수 재 진입 만약, 1번)에 의한 청산후 crossdown(mav2,mav3) 되면 2번) 실행 없이 매도 진입 하여 1번),2번)을 한번만 실행 매도, 반대 ***작성해본 수식 # 1. 기준(10틱) 이상 수익이면 하락(50틱)하면 매수 청산 (10틱수익/-40틱청산, 70틱수익/20틱청산) if MarketPosition == 1 Then{ BH = highest(H,BarsSinceEntry); if BH >= EntryPrice+PriceScale*기준 Then{ ExitLong("B익절1",AtStop,BH-PriceScale*하락); } # 2. 다시 10일선이 상승하면 재 진입 if mav2 > mav2[1] Then buy("Buy2"); # 1. 기준(10틱) 이상 수익이면 하락(50틱)하면 매수 청산 (10틱수익/-40틱청산, 70틱수익/20틱청산) if MarketPosition == -1 Then{ SL = Lowest(L,BarsSinceEntry); if SL <= EntryPrice-PriceScale*기준 Then{ ExitShort("S익절1",AtStop,SL+PriceScale*하락); } # 2. 다시 10일선이 하락하면 재 진입 if mav2 < mav2[1] Then sell("Sell2"); 아래식 -------------------------------------------------------------- input : P1(3),P2(10),P3(280),기준(10), 하락(50), 손절(150); var : mav2(0),mav3(0); var : BH(0),SL(0); mav2 = ma(c,P2); mav3 = ma(c,P3); #ATR Input : ATR추적(20), ATR손절(20); #ATR 청산 Var : PosHigh(0), PosLow(0); #ATR 청산 //진입 if crossup(mav2,mav3) Then buy("Buy"); if CrossDown(mav2,mav3) Then sell("Sell"); # ATR 추적 청산 PosHigh = Highest(H, BarsSinceEntry+1); PosLow = Lowest(L,BarsSinceEntry+1); If MarketPosition <> 0 Then { ExitLong("EL_추적ATR", AtStop,PosHigh-ATR(20)*ATR추적); Exitshort("ES_추적ATR", AtStop,PosLow+ATR(20)*ATR추적); } # ATR 손절 청산 If MarketPosition <> 0 Then { ExitLong("EL_손절ATR", AtStop,EntryPrice-ATR(20)*ATR손절); Exitshort("ES_손절ATR", AtStop,EntryPrice+ATR(20)*ATR손절); } # 최대손절 청산 if MarketPosition == 1 Then{ BH = highest(H,BarsSinceEntry); ExitLong("B손절",AtStop,EntryPrice-PriceScale*손절); } if MarketPosition == -1 Then{ SL = Lowest(L,BarsSinceEntry); ExitShort("S손절",AtStop,EntryPrice+PriceScale*손절); }