커뮤니티
수식문의드립니다.
2016-09-22 13:52:05
127
글번호 102115
안녕하세요. 신호에 진입청산가를 표시하고 싶은데요.
전에 주셨던 답변은 아래와 같습니다.
------------------------------------------------------
var : tx1(0), tx2(0), tx3(0), tx4(0);
if CrossUp(C, ma(C,20)) Then
buy();
if BarsSinceEntry == 1 and MarketPosition == 1 Then{
tx1=Text_New(EntryDate,EntryTime, L-PriceScale*5,"매수:"+NumToStr(EntryPrice,2));
tx2=Text_setstyle(tx1, 2, 2);
}
if CrossDown(C, ma(C,20)) Then
exitlong();
if MarketPosition[1] == 1 and MarketPosition[0] != MarketPosition[1] Then {
tx3=Text_New(exitDate(1),exitTime(1), H+PriceScale*5,"청산:"+NumToStr(ExitPrice(1),2));
tx4=Text_setstyle(tx3, 2, 2);
}
------------------------------------------------------
적용을 해보니 청산신호의 경우 바로 표시가 안되는것 같습니다. 수식확인좀 부탁드립니다.
그리고 text의 위치가 불명확해서.. 신호표시에 자꾸 걸리게 되는데 개선부탁드립니다.
고가와 저가에 따라 텍스트의 상하 높이가 달라지는데..
신호 해당봉의 고가와 저가가 아니라서 뒤죽박죽이네요..
답변 3
예스스탁 예스스탁 답변
2016-09-22 16:02:04
안녕하세요
예스스탁입니다.
1
text함수는 완성봉시에서만 출력됩니다.
또한 포지션등 함수는 신호발생후 봉이 완성이 되어야 알수 있습니다.
작성하신 식은 onclose타입으로 봉완성시 종가기준 수식입니다.
봉완성이 다음봉 시가수신될대이므로
신호가 표시된봉 다음봉이 완성될때 포지션이 안식되고 텍스트가 출력됩니다.
즉 신호발생 다음봉완성시 출력입니다.
진입과 청산을 모두 작성하신것과 같이 ocnlose타입이시면
아래와 같이 작성하셔야 됩니다.
진입청산에 atstop이나 atlimit타입의 신호가
있다면 기존사용하시는 수식으로만 표시가 됩니다.
텍스트의 출력위치의 Y축 가격은 사용자분이 보기 편하시게 지정해야 합니다.
Text_new의 3번째 매개변수가 Y축 위치입니다.
아래식에서는 매수는 신호봉의 저가-3틱, 매도는 신호봉의 고가+3틱으로 지정되어 있습니다.
2
var : tx1(0), tx2(0), tx3(0), tx4(0);
if MarketPosition == 0 and CrossUp(C, ma(C,20)) Then{
buy("s");
tx1=Text_New(sdate,stime, L-PriceScale*3,"매수:"+NumToStr(c,2));
Text_setstyle(tx1, 2, 2);
}
if MarketPosition == 1 and CrossDown(C, ma(C,20)) Then{
exitlong("bx");
tx3=Text_New(sdate,stime, H+PriceScale*3,"청산:"+NumToStr(c,2));
Text_setstyle(tx3, 2, 2);
}
즐거운 하루되세요
> 율담 님이 쓴 글입니다.
> 제목 : 수식문의드립니다.
> 안녕하세요. 신호에 진입청산가를 표시하고 싶은데요.
전에 주셨던 답변은 아래와 같습니다.
------------------------------------------------------
var : tx1(0), tx2(0), tx3(0), tx4(0);
if CrossUp(C, ma(C,20)) Then
buy();
if BarsSinceEntry == 1 and MarketPosition == 1 Then{
tx1=Text_New(EntryDate,EntryTime, L-PriceScale*5,"매수:"+NumToStr(EntryPrice,2));
tx2=Text_setstyle(tx1, 2, 2);
}
if CrossDown(C, ma(C,20)) Then
exitlong();
if MarketPosition[1] == 1 and MarketPosition[0] != MarketPosition[1] Then {
tx3=Text_New(exitDate(1),exitTime(1), H+PriceScale*5,"청산:"+NumToStr(ExitPrice(1),2));
tx4=Text_setstyle(tx3, 2, 2);
}
------------------------------------------------------
적용을 해보니 청산신호의 경우 바로 표시가 안되는것 같습니다. 수식확인좀 부탁드립니다.
그리고 text의 위치가 불명확해서.. 신호표시에 자꾸 걸리게 되는데 개선부탁드립니다.
고가와 저가에 따라 텍스트의 상하 높이가 달라지는데..
신호 해당봉의 고가와 저가가 아니라서 뒤죽박죽이네요..
율담
2016-09-23 01:36:18
답변 감사드립니다.
몇가지 궁금한게 있어서 문의드립니다.
만약 CrossDown(C, ma(C,20)) 이 조건을 만족시 매도진입을 하고
CrossUp(C, ma(C,20)) 시에 매도청산을 추가하고 싶습니다. 매수진입은 종전과 같구요.
-20틱 손절도 추가해서요. 이경우 진입청산 text 하는 방법이 궁금합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식문의드립니다.
> 안녕하세요
예스스탁입니다.
1
text함수는 완성봉시에서만 출력됩니다.
또한 포지션등 함수는 신호발생후 봉이 완성이 되어야 알수 있습니다.
작성하신 식은 onclose타입으로 봉완성시 종가기준 수식입니다.
봉완성이 다음봉 시가수신될대이므로
신호가 표시된봉 다음봉이 완성될때 포지션이 안식되고 텍스트가 출력됩니다.
즉 신호발생 다음봉완성시 출력입니다.
진입과 청산을 모두 작성하신것과 같이 ocnlose타입이시면
아래와 같이 작성하셔야 됩니다.
진입청산에 atstop이나 atlimit타입의 신호가
있다면 기존사용하시는 수식으로만 표시가 됩니다.
텍스트의 출력위치의 Y축 가격은 사용자분이 보기 편하시게 지정해야 합니다.
Text_new의 3번째 매개변수가 Y축 위치입니다.
아래식에서는 매수는 신호봉의 저가-3틱, 매도는 신호봉의 고가+3틱으로 지정되어 있습니다.
2
var : tx1(0), tx2(0), tx3(0), tx4(0);
if MarketPosition == 0 and CrossUp(C, ma(C,20)) Then{
buy("s");
tx1=Text_New(sdate,stime, L-PriceScale*3,"매수:"+NumToStr(c,2));
Text_setstyle(tx1, 2, 2);
}
if MarketPosition == 1 and CrossDown(C, ma(C,20)) Then{
exitlong("bx");
tx3=Text_New(sdate,stime, H+PriceScale*3,"청산:"+NumToStr(c,2));
Text_setstyle(tx3, 2, 2);
}
즐거운 하루되세요
> 율담 님이 쓴 글입니다.
> 제목 : 수식문의드립니다.
> 안녕하세요. 신호에 진입청산가를 표시하고 싶은데요.
전에 주셨던 답변은 아래와 같습니다.
------------------------------------------------------
var : tx1(0), tx2(0), tx3(0), tx4(0);
if CrossUp(C, ma(C,20)) Then
buy();
if BarsSinceEntry == 1 and MarketPosition == 1 Then{
tx1=Text_New(EntryDate,EntryTime, L-PriceScale*5,"매수:"+NumToStr(EntryPrice,2));
tx2=Text_setstyle(tx1, 2, 2);
}
if CrossDown(C, ma(C,20)) Then
exitlong();
if MarketPosition[1] == 1 and MarketPosition[0] != MarketPosition[1] Then {
tx3=Text_New(exitDate(1),exitTime(1), H+PriceScale*5,"청산:"+NumToStr(ExitPrice(1),2));
tx4=Text_setstyle(tx3, 2, 2);
}
------------------------------------------------------
적용을 해보니 청산신호의 경우 바로 표시가 안되는것 같습니다. 수식확인좀 부탁드립니다.
그리고 text의 위치가 불명확해서.. 신호표시에 자꾸 걸리게 되는데 개선부탁드립니다.
고가와 저가에 따라 텍스트의 상하 높이가 달라지는데..
신호 해당봉의 고가와 저가가 아니라서 뒤죽박죽이네요..
예스스탁 예스스탁 답변
2016-09-23 08:56:53
안녕하세요
예스스탁입니다.
var : tx1(0), tx2(0), tx3(0), tx4(0);
if CrossUp(C, ma(C,20)) Then{
buy("b");
if MarketPosition == 0 then
tx1=Text_New(sdate,stime, L-PriceScale*3,NewLine+"매수진입:"+NumToStr(c,2));
if MarketPosition == -1 then
tx1=Text_New(sdate,stime, L-PriceScale*3,"매도청산:"+NumToStr(c,2)+NewLine+"매수진입:"+NumToStr(c,2));
Text_setstyle(tx1, 2, 2);
}
if CrossDown(C, ma(C,20)) Then{
sell("s");
if MarketPosition == 0 Then
tx2=Text_New(sdate,stime, H+PriceScale*3,NewLine+"매도진입:"+NumToStr(c,2));
if MarketPosition == 1 Then
tx2=Text_New(sdate,stime, H+PriceScale*3,"매수청산:"+NumToStr(c,2)+NewLine+"매도진입:"+NumToStr(c,2));
Text_setstyle(tx2, 2, 2);
}
if TotalTrades > TotalTrades[1] and IsExitName("StopLoss",1) == true Then{
if MarketPosition(1) == 1 then
tx3=Text_New(ExitDate(1),ExitTime(1), L[BarsSinceExit(1)]-PriceScale*3,"StopLoss:"+NumToStr(ExitPrice(1),2));
if MarketPosition(1) == -1 then
tx3=Text_New(ExitDate(1),ExitTime(1), H[BarsSinceExit(1)]+PriceScale*3,"StopLoss:"+NumToStr(ExitPrice(1),2));
Text_setstyle(tx3, 2, 2);
}
SetStopLoss(PriceScale*20,PointStop);
즐거운 하루되세요
> 율담 님이 쓴 글입니다.
> 제목 : Re : Re : 수식문의드립니다.
>
답변 감사드립니다.
몇가지 궁금한게 있어서 문의드립니다.
만약 CrossDown(C, ma(C,20)) 이 조건을 만족시 매도진입을 하고
CrossUp(C, ma(C,20)) 시에 매도청산을 추가하고 싶습니다. 매수진입은 종전과 같구요.
-20틱 손절도 추가해서요. 이경우 진입청산 text 하는 방법이 궁금합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식문의드립니다.
> 안녕하세요
예스스탁입니다.
1
text함수는 완성봉시에서만 출력됩니다.
또한 포지션등 함수는 신호발생후 봉이 완성이 되어야 알수 있습니다.
작성하신 식은 onclose타입으로 봉완성시 종가기준 수식입니다.
봉완성이 다음봉 시가수신될대이므로
신호가 표시된봉 다음봉이 완성될때 포지션이 안식되고 텍스트가 출력됩니다.
즉 신호발생 다음봉완성시 출력입니다.
진입과 청산을 모두 작성하신것과 같이 ocnlose타입이시면
아래와 같이 작성하셔야 됩니다.
진입청산에 atstop이나 atlimit타입의 신호가
있다면 기존사용하시는 수식으로만 표시가 됩니다.
텍스트의 출력위치의 Y축 가격은 사용자분이 보기 편하시게 지정해야 합니다.
Text_new의 3번째 매개변수가 Y축 위치입니다.
아래식에서는 매수는 신호봉의 저가-3틱, 매도는 신호봉의 고가+3틱으로 지정되어 있습니다.
2
var : tx1(0), tx2(0), tx3(0), tx4(0);
if MarketPosition == 0 and CrossUp(C, ma(C,20)) Then{
buy("s");
tx1=Text_New(sdate,stime, L-PriceScale*3,"매수:"+NumToStr(c,2));
Text_setstyle(tx1, 2, 2);
}
if MarketPosition == 1 and CrossDown(C, ma(C,20)) Then{
exitlong("bx");
tx3=Text_New(sdate,stime, H+PriceScale*3,"청산:"+NumToStr(c,2));
Text_setstyle(tx3, 2, 2);
}
즐거운 하루되세요
> 율담 님이 쓴 글입니다.
> 제목 : 수식문의드립니다.
> 안녕하세요. 신호에 진입청산가를 표시하고 싶은데요.
전에 주셨던 답변은 아래와 같습니다.
------------------------------------------------------
var : tx1(0), tx2(0), tx3(0), tx4(0);
if CrossUp(C, ma(C,20)) Then
buy();
if BarsSinceEntry == 1 and MarketPosition == 1 Then{
tx1=Text_New(EntryDate,EntryTime, L-PriceScale*5,"매수:"+NumToStr(EntryPrice,2));
tx2=Text_setstyle(tx1, 2, 2);
}
if CrossDown(C, ma(C,20)) Then
exitlong();
if MarketPosition[1] == 1 and MarketPosition[0] != MarketPosition[1] Then {
tx3=Text_New(exitDate(1),exitTime(1), H+PriceScale*5,"청산:"+NumToStr(ExitPrice(1),2));
tx4=Text_setstyle(tx3, 2, 2);
}
------------------------------------------------------
적용을 해보니 청산신호의 경우 바로 표시가 안되는것 같습니다. 수식확인좀 부탁드립니다.
그리고 text의 위치가 불명확해서.. 신호표시에 자꾸 걸리게 되는데 개선부탁드립니다.
고가와 저가에 따라 텍스트의 상하 높이가 달라지는데..
신호 해당봉의 고가와 저가가 아니라서 뒤죽박죽이네요..