내 학습 프로젝트 중 하나는 Strateg Tester 의 차트 표시 옵션을 제어하는 tester.tpl을 사용자 정의하는 것입니다. 기본 차트 스타일은 시각화하기가 매우 어렵습니다. 그래서 새 템플릿을 만든 다음 모든 화살표를 더 매력적인 화살표로 바꾸는 스크립트를 만들었습니다.
그러나 화살표 이름에서 정보를 가져와 차트에 텍스트로 표시하고 싶습니다. 화살표 이름에는 "#62 Buy" 또는 "73 Sell Close"와 같은 항목이 포함됩니다. 그렇게 하면 차트를 보고 특정 거래 번호가 입력/종료된 시점을 정확히 볼 수 있습니다. 다른 플랫폼(예: TradeStation)과 마찬가지로 이것이 기본적으로 Strategy Tester에 포함되지 않는 이유를 모르겠습니다.
어쨌든 문제의 텍스트를 잡고 차트의 기존 화살표 바로 아래에 새 텍스트 개체를 삽입하고 싶습니다. 그러나 이것을 수행하는 방법을 알지 못합니다.
lsma 코드
문서,
다음은 lsma의 소스 코드입니다. 입력해 주셔서 감사합니다!
//---- 표시기 설정
#속성 표시기_차트_창
#속성 표시기_버퍼 3
#property indicator_color1 노란색
#property indicator_color2 샤르트뢰즈
#property indicator_color3 빨간색
//---- 버퍼
이중 ExtMapBuffer1[];
이중 ExtMapBuffer2[];
이중 ExtMapBuffer3[];
정수 너비;
extern int Rperiod = 34;
외부 int Draw4HowLongg = 300; // 500 // 1000
int Draw4HowLong;
정수 시프트;
정수 나;
정수 루프 시작;
이중 합계[];
정수 길이;
이중 길이바;
이중 tmp ;
이중 중량[];
정수 c;
//+----------------------------------------------- -------------------+
//| 커스텀 인디케이터 초기화 기능 |
//+----------------------------------------------- -------------------+
정수 초기화()
{
//---- 2개의 추가 버퍼가 계산에 사용됩니다.
표시 버퍼(5);
//---- 그리기 설정
SetIndexBuffer(2,ExtMapBuffer1);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexBuffer(0,ExtMapBuffer3);
SetIndexBuffer(3, 합계);
SetIndexBuffer(4,wt);
SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,3);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,3);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,3);
//---- 초기화 완료
리턴(0);
}
정수 시작()
{ Draw4HowLong = 막대-R주기 - 5;
길이 = R주기;
loopbegin = Draw4HowLong - 길이 - 1;
for(shift = 루프 시작, shift >= 0, shift--)
{
합계[1] = 0;
for(i = 길이; i >= 1 ; i--)
{
lengthvar = 길이 + 1;
길이변수 /= 3;
시간 = 0;
tmp = ( i - lengthvar)*Close[length-i+shift];
합계[1]+=tmp;
}
wt[shift] = 합[1]*6/(길이*(길이+1));
//========== 컬러 코딩 ==================================== =======
ExtMapBuffer3[시프트] = 중량[시프트]; //빨간색
ExtMapBuffer2[시프트] = 중량[시프트]; //초록
ExtMapBuffer1[시프트] = 중량[시프트]; //노란색
// for(c=loopbegin;c==shift;c++)
// {
if (wt[shift+1] > wt[shift])
{
ExtMapBuffer2[shift+1] = EMPTY_VALUE;
// ObjectCreate("smiley_face", OBJ_ARROW, 0, Time[shift], Low[shift]-Point*20);
// Print("시간= ",시간[시프트]);
// ObjectSet("스마일리 얼굴", OBJPROP_ARROWCODE, 242);
// ObjectSet("smiley_face", OBJPROP_COLOR, 빨강);
// ObjectSet("스마일리 얼굴", OBJPROP_WIDTH , 1);
// ObjectsRedraw();
//ExtMapBuffer3[shift+1] = EMPTY_VALUE;
//ExtMapBuffer3[shift+1] = EMPTY_VALUE;
}
else if (wt[shift+1] < wt[shift])
{
ExtMapBuffer1[shift+1] = EMPTY_VALUE; //-1 레드/그린 타이트
//ExtMapBuffer3[shift+1] = EMPTY_VALUE;
}
또 다른
{
ExtMapBuffer1[shift+1]=CLR_NONE;//EMPTY_VALUE;
ExtMapBuffer2[shift+1]=CLR_NONE;//EMPTY_VALUE;
}
}
반환(0);
}
//+----------------------------------------------- -------------------+
안녕 얘들아
이 코드를 ea에 작성하는 방법을 알고 싶습니다.
RSI 14
매개변수 설정 30 및 70
구입
-rsi 아래에서 라인 30 위로 교차(먼저 rsi는 위에서부터 라인 30 아래로 교차해야 하고 신호가 유효한 라인에서만 다시 교차해야 함)
팔다
-rsi 위에서 라인 70 아래 교차
미리 감사합니다
EA에 거래 시간을 추가하는 방법??
예: EA는 14~20시간 동안 거래되지 않고 다른 시간에는 정상 거래됩니다!
모든 수익성 있는 거래를 닫고 14시간 전에 거래를 잃습니다???
감사해요
(내 하찮은 영어 실력에 죄송하다는 말씀을 드리고 싶습니다)
EA에 거래 시간을 추가하는 방법??
예: EA는 14~20시간 동안 거래되지 않고 다른 시간에는 정상 거래됩니다!
모든 수익성 있는 거래를 닫고 14시간 전에 거래를 잃습니다???
감사해요
(내 하찮은 영어 실력에 죄송하다는 말씀을 드리고 싶습니다)확실하지 않지만 timefilter와 반대일 수 있습니다. 예를 들어 시작 후 다음과 같이 추가합니다.
if ((Hour()>=FromHourTrade && Hour()<=ToHourTrade)) {
Comment("Time for trade has not come else!");
return(0);
}
}[/CODE]
And in the settings of EA add the following:
[CODE]extern bool UseHourTrade = True;
extern int FromHourTrade = 14;
extern int ToHourTrade = 20;그러나 시간(14 및 20)은 Metatrader 시간(브로커에 따라 다름)입니다. 게다가 EA를 사용하는 기간에 따라 다릅니다. 예를 들어 닫기 막대가 15에 있으면 14 - 20에 관계없이 15에서 20까지입니다. 닫기 막대에 따라 다릅니다.
확실하지 않지만 timefilter와 반대일 수 있습니다. 예를 들어 시작 후 다음과 같이 추가합니다.
if ((Hour()>=FromHourTrade && Hour()<=ToHourTrade)) {
Comment("Time for trade has not come else!");
return(0);
}
}[/CODE]
And in the settings of EA add the following:
[CODE]extern bool UseHourTrade = True;
extern int FromHourTrade = 14;
extern int ToHourTrade = 20;와우, 정말 감사합니다
그리고 어때요
가능한가요??
댓글 색상
안녕 --
별도의 창에 표시되는 표시기 주석의 색상을 변경할 수 있는 방법이 있습니까?
그렇다면 -- 어떻게 ?
감사해요
안녕 --
별도의 창에 표시되는 표시기 주석의 색상을 변경할 수 있는 방법이 있습니까?
그렇다면 -- 어떻게 ?
감사해요레이블을 사용하여 만들 수 있습니다. 레이블은 선택한 창의 어느 위치에나 배치할 수 있으며 원하는 글꼴과 색상/크기 등을 가질 수 있습니다. 따라서 U는 레이블을 x=20 및 y=20으로 지정하고 글꼴 색상을 다음과 같이 설정할 수 있습니다. 당신은 원합니다.
막대를 과거에서 현재까지 세기
막대 계산은 MQL에서 항상 오른쪽에서 왼쪽으로(현재에서 과거로) 발생합니까?
과거에서 현재까지의 막대 계산은 어떻게 합니까?
간단한 예를 들어, 해당 월의 첫 번째 막대를 나타내는 1과 증가하는 후속 막대를 사용하여 주어진 월의 각 막대에 번호를 매기는 방법은 무엇입니까?
도움을 주셔서 감사합니다.
Bill(아직도 루프에 갇힌 상태)
기존 개체의 이름과 위치를 사용하여 새 개체 만들기
내 학습 프로젝트 중 하나는 Strateg Tester 의 차트 표시 옵션을 제어하는 tester.tpl을 사용자 정의하는 것입니다. 기본 차트 스타일은 시각화하기가 매우 어렵습니다. 그래서 새 템플릿을 만든 다음 모든 화살표를 더 매력적인 화살표로 바꾸는 스크립트를 만들었습니다.
그러나 화살표 이름에서 정보를 가져와 차트에 텍스트로 표시하고 싶습니다. 화살표 이름에는 "#62 Buy" 또는 "73 Sell Close"와 같은 항목이 포함됩니다. 그렇게 하면 차트를 보고 특정 거래 번호가 입력/종료된 시점을 정확히 볼 수 있습니다. 다른 플랫폼(예: TradeStation)과 마찬가지로 이것이 기본적으로 Strategy Tester에 포함되지 않는 이유를 모르겠습니다.
어쨌든 문제의 텍스트를 잡고 차트의 기존 화살표 바로 아래에 새 텍스트 개체를 삽입하고 싶습니다. 그러나 이것을 수행하는 방법을 알지 못합니다.
이 작업을 수행하려면 어떻게 해야 합니까?
감사해요
청구서
막대 계산은 MQL에서 항상 오른쪽에서 왼쪽으로(현재에서 과거로) 발생합니까?
과거에서 현재까지의 막대 계산은 어떻게 합니까?
간단한 예를 들어, 해당 월의 첫 번째 막대를 나타내는 1과 증가하는 후속 막대를 사용하여 주어진 월의 각 막대에 번호를 매기는 방법은 무엇입니까?
도움을 주셔서 감사합니다.
Bill(아직도 루프에 갇힌 상태)날짜 및 시간 함수 에 대해 읽고 iBarShift 함수를 사용하여 지정된 시간 프레임에서 지정된 월의 첫 번째 막대의 이동을 가져와야 합니다.