커뮤니티
문의드립니다.
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*손절);
}
다음글