커뮤니티
수식 부탁드립니다.
2018-05-04 05:21:28
121
글번호 118691
스위칭시스템인데
본절과 손절이라고 차트에 텍스트로 표시하려합니다.
진입이후에 조건을 만족을 1번 만족했을때만 한번 텍스트를 표시하려하는데
아래처럼 만들었더니 어떤곳은 한번만 나오는데 어떤곳은 지저분하게 여러개가 나옵니다.
뭐가 문제인지 수식 좀 수정부탁드립니다.
if
(t1 == 1 or t1 ==0)
and t3 == 1
Then
Condition1 = True;
If Condition1 == True
Then
{
Buy("TF",AtLimit,dc2);
Condition1 = False;
}
//==========================================================================
if
t1 == -1 and
(t3 == -1 or t3 == 0)
Then
Condition3 = True;
If Condition3 == True
Then
{
Sell("TF!",AtLimit,uc2);
Condition3 = False;
}
// 본절표시-------------------------------------------------------------------------
if MarketPosition == 1
and BarsSinceEntry >= 0
and CountIF(H >= EntryPrice+PriceScale*12,BarsSinceEntry) == 1
Then Condition10 = True;
if MarketPosition == -1
and BarsSinceEntry >= 0
and CountIF(L <= EntryPrice-PriceScale*12,BarsSinceEntry) == 1
Then Condition11 = True;
if MarketPosition == 1
and Condition10 == True
Then
{
본절가1 = Text_New(sDate,sTime,L-PriceScale*20,"본절");
Condition10 = False;
Text_SetStyle(본절가1,2,2); //텍스트 가로세로 정렬
Text_SetColor(본절가1,black); //텍스트 색상지정
}
if MarketPosition == -1
and Condition11 == True
Then
{
본절가2 = Text_New(sDate,sTime,H+PriceScale*20,"본절");
Condition11 = False;
Text_SetStyle(본절가2,2,2); //텍스트 가로세로 정렬
Text_SetColor(본절가2,black); //텍스트 색상지정
}
// 손절표시-------------------------------------------------------------------------
if MarketPosition == 1
and BarsSinceEntry >= 0
and CountIF(L <= EntryPrice-PriceScale*15,BarsSinceEntry) == 1
Then Condition12 = True;
if MarketPosition == -1
and BarsSinceEntry >= 0
and CountIF(H >= EntryPrice+PriceScale*15,BarsSinceEntry) == 1
Then Condition13 = True;
if MarketPosition == 1
and Condition12 == True
Then
{
손절1 = Text_New(sDate,sTime,L-PriceScale*10,"손절");
Condition12 = False;
Text_SetStyle(손절1,2,2); //텍스트 가로세로 정렬
Text_SetColor(손절1,black); //텍스트 색상지정
}
if MarketPosition == -1
and Condition13 == True
Then
{
손절2 = Text_New(sDate,sTime,H+PriceScale*10,"손절");
Condition13 = False;
Text_SetStyle(손절2,2,2); //텍스트 가로세로 정렬
Text_SetColor(손절2,black); //텍스트 색상지정
}
답변 1
예스스탁 예스스탁 답변
2018-05-04 15:24:59
안녕하세요
예스스탁입니다.
올려주신 수식으로 구현하고자 하는 내용이 파악이 어렵습니다.
아래수식 참고하셔서 수정보완하시기 바랍니다.
매수나 매도진입이후에
지정한 익절이나 손절에 도달하면 한번 텍스트를 출력하는 수식입니다.
input : 익절틱수(12),손절틱수(15);
var : tx(0);
if MarketPosition == 1 Then
{
if Condition1 == false and H >= EntryPrice+PriceScale*익절틱수 Then
{
Condition1 = true;
tx = Text_New(sdate,stime,H,"익절");
Text_SetStyle(tx,2,2); //텍스트 가로세로 정렬
Text_SetColor(tx,black); //텍스트 색상지정
}
if Condition2 == false and L <= EntryPrice-PriceScale*손절틱수 Then
{
Condition2 = true;
tx = Text_New(sdate,stime,L,"손절");
Text_SetStyle(tx,2,2); //텍스트 가로세로 정렬
Text_SetColor(tx,black); //텍스트 색상지정
}
}
else
{
Condition1 = false;
Condition2 = false;
}
if MarketPosition == 1 Then
{
if Condition3 == false and L <= EntryPrice-PriceScale*익절틱수 Then
{
Condition3 = true;
tx = Text_New(sdate,stime,L,"익절");
Text_SetStyle(tx,2,2); //텍스트 가로세로 정렬
Text_SetColor(tx,black); //텍스트 색상지정
}
if Condition4 == false and H >= EntryPrice+PriceScale*손절틱수 Then
{
Condition4 = true;
tx = Text_New(sdate,stime,H,"손절");
Text_SetStyle(tx,2,2); //텍스트 가로세로 정렬
Text_SetColor(tx,black); //텍스트 색상지정
}
}
else
{
Condition3 = false;
Condition4 = false;
}
즐거운 하루되세요
> 수다리 님이 쓴 글입니다.
> 제목 : 수식 부탁드립니다.
> 스위칭시스템인데
본절과 손절이라고 차트에 텍스트로 표시하려합니다.
진입이후에 조건을 만족을 1번 만족했을때만 한번 텍스트를 표시하려하는데
아래처럼 만들었더니 어떤곳은 한번만 나오는데 어떤곳은 지저분하게 여러개가 나옵니다.
뭐가 문제인지 수식 좀 수정부탁드립니다.
if
(t1 == 1 or t1 ==0)
and t3 == 1
Then
Condition1 = True;
If Condition1 == True
Then
{
Buy("TF",AtLimit,dc2);
Condition1 = False;
}
//==========================================================================
if
t1 == -1 and
(t3 == -1 or t3 == 0)
Then
Condition3 = True;
If Condition3 == True
Then
{
Sell("TF!",AtLimit,uc2);
Condition3 = False;
}
// 본절표시-------------------------------------------------------------------------
if MarketPosition == 1
and BarsSinceEntry >= 0
and CountIF(H >= EntryPrice+PriceScale*12,BarsSinceEntry) == 1
Then Condition10 = True;
if MarketPosition == -1
and BarsSinceEntry >= 0
and CountIF(L <= EntryPrice-PriceScale*12,BarsSinceEntry) == 1
Then Condition11 = True;
if MarketPosition == 1
and Condition10 == True
Then
{
본절가1 = Text_New(sDate,sTime,L-PriceScale*20,"본절");
Condition10 = False;
Text_SetStyle(본절가1,2,2); //텍스트 가로세로 정렬
Text_SetColor(본절가1,black); //텍스트 색상지정
}
if MarketPosition == -1
and Condition11 == True
Then
{
본절가2 = Text_New(sDate,sTime,H+PriceScale*20,"본절");
Condition11 = False;
Text_SetStyle(본절가2,2,2); //텍스트 가로세로 정렬
Text_SetColor(본절가2,black); //텍스트 색상지정
}
// 손절표시-------------------------------------------------------------------------
if MarketPosition == 1
and BarsSinceEntry >= 0
and CountIF(L <= EntryPrice-PriceScale*15,BarsSinceEntry) == 1
Then Condition12 = True;
if MarketPosition == -1
and BarsSinceEntry >= 0
and CountIF(H >= EntryPrice+PriceScale*15,BarsSinceEntry) == 1
Then Condition13 = True;
if MarketPosition == 1
and Condition12 == True
Then
{
손절1 = Text_New(sDate,sTime,L-PriceScale*10,"손절");
Condition12 = False;
Text_SetStyle(손절1,2,2); //텍스트 가로세로 정렬
Text_SetColor(손절1,black); //텍스트 색상지정
}
if MarketPosition == -1
and Condition13 == True
Then
{
손절2 = Text_New(sDate,sTime,H+PriceScale*10,"손절");
Condition13 = False;
Text_SetStyle(손절2,2,2); //텍스트 가로세로 정렬
Text_SetColor(손절2,black); //텍스트 색상지정
}
이전글