커뮤니티
청산 수식 수정 부탁 드립니다.
2016-08-08 23:06:31
124
글번호 100843
부탁 드립니다.
진입시 이전 5봉중 최저가를 손절가격으로 잡는 수식입니다.
if 조건식 Then
{ buy("buy1");
cut = lowest(L,5); }
if isentryname ("buy1")==true Then
{
if c < cut Then
exitlong("buy1손절");
}
그림에서와 같이 진입시 5개봉 중 저가가 아니고 현재봉 기준으로 손절이 잡힙니다.
현재 식이 어디가 잘못되었는지 부탁드리며 수정 부탁 드립니다.
- 1. fx_3분_(2)_85_(1).png (0.02 MB)
답변 1
예스스탁 예스스탁 답변
2016-08-09 09:34:35
안녕하세요
예스스탁입니다.
cut에 lowest(L,5);가 저장되는 시점은
if조건이 만족했을때입니다.
매수후에 조건이 만족하면 계속 갱신됩니다.
아래와 같이 처리하셔야 합니다.
특정변수, 데이터나 함수뒤에 [BarsSinceEntry]를 붙이면
진입신호봉 기준의 값을 가져올수 있습니다.
var : cut(0);
cut= Lowest(L,5);
if 조건식 Then
{
buy("buy1");
}
if MarketPosition == 1 and isentryname ("buy1")==true and C < cut[BarsSinceEntry] Then
{
exitlong("buy1손절");
}
위식은 봉완성시 종가기준이고
진입봉기준 5개봉 최저가 이하의 시세가 발생하면
즉시 신호를 발생하고자 하시면 아래와 같이 작성하시면 됩니다.
var : LL(0);
LL = Lowest(L,5);
if 조건식 Then
{
buy("buy1");
}
if MarketPosition == 1 and isentryname ("buy1")==true Then
{
exitlong("buy1손절",AtStop, LL[BarsSinceEntry]);
}
즐거운 하루되세요
> 다올 님이 쓴 글입니다.
> 제목 : 청산 수식 수정 부탁 드립니다.
> 부탁 드립니다.
진입시 이전 5봉중 최저가를 손절가격으로 잡는 수식입니다.
if 조건식 Then
{ buy("buy1");
cut = lowest(L,5); }
if isentryname ("buy1")==true Then
{
if c < cut Then
exitlong("buy1손절");
}
그림에서와 같이 진입시 5개봉 중 저가가 아니고 현재봉 기준으로 손절이 잡힙니다.
현재 식이 어디가 잘못되었는지 부탁드리며 수정 부탁 드립니다.