[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 993

 
Aleksander :

글쎄, 오리, 화면 왼쪽에 표시하십시오. 근본적인 차이점은 무엇입니까? - 라인의 오른쪽에는 가격이 표시됩니다. - 왼쪽에는 메시지 텍스트가 표시됩니다.

또는 빔 - 그러나 왼쪽에 모든 것을 표시합니다 ...


고객님의 요청입니다 :) 왼쪽에는 다른 인디케이터가 겹치지 않도록 사용하였습니다.

오, 문제는 제가 해결하겠습니다. 참여해 주셔서 감사합니다!

 
여보세요. 질문이 있습니다: 동시에 여러 통화 쌍에 대해 MT4에서 EA를 최적화할 수 있습니까? 아니면 이것을 위한 특별한 프로그램이 있습니까? 아니면 적어도 최적화 속도를 높이려면 (전체 CPU 사용량에 대해)? 컴퓨터의 리소스는 여전히 충분하지만 더 이상 사용할 수 없습니다.
 
gawrik :
여보세요. 질문이 있습니다: 동시에 여러 통화 쌍에 대해 MT4에서 EA를 최적화할 수 있습니까?

다른 쌍에 대해 하나의 Expert Advisor를 최적화하여 동시에 여러 MT4를 실행하는 것을 금지하는 사람은 없습니다.

누구든지 금하면 내가 허락했다고 그에게 말하라

 
Aleksander :

델타 할당을 만들기 위해 init에서 시도하십시오.

델타 = 1; if (숫자 = 5) {델타 = 10;}

그리고 텍스트에 추가

if (입찰가 <=낮음&& 매도 < 높음 - 10*포인트*델타)

약간 틀릴 수도 있지만 의미는 분명합니다.

델타 = 포인트; if ( 숫자 = 5) {델타 = 10*포인트;}

if (Bid <=Low&& Ask < High - 10*delta) 차이는 없지만... 나는 어떻게 Jap입니까?

 

동적 스프레드와 관련된 다음 질문은 N 틱에 대한 평균 스프레드를 계산하는 것이 필요했습니다. 여기서는 일반적으로 매복입니다.

나는 다음을 스케치했지만 그것이 올바른지 확실하지 않습니다.

정수 TicSpred=100;

이중 스프레드[10000];

if (Spread[0]==0) {ArrayInitialize(Spread,(Ask-Bid)/delta);}

(int q=TicSpred;q>0;q--){

if (Spread[q]==0) Spread[q]=(Ask-Bid)/delta;}

(q=TicSpred;q>0;q--) {Spread[p]=Spread[p-1];}

스프레드[0]=(매도호가)/델타;

이중 CountedSpred;

(q=0;q<bars;q++){CountedSpred=CountedSpred+Spread[p];}

이중 Аverspread=CountedSpred/TicSpred; 그러나 이것이 완전히 정확한지 확신할 수 없으며 5 자리 의 경우 세는 것이 정확하지 않을 것 같습니다.

 

예 아니요 전혀 사실이 아닙니다

다음 스프레드를 각각 배열에 쓰고 이를 배열의 스프레드 수로 나누어야 하며, 항목 수가 N을 초과하는 즉시 배열의 맨 처음 항목을 삭제해야 합니다.

더 쉽게 할 수 있습니까?

 

여기에 또 다른 오류가 있습니다

if (Bid >=High ) // 베이 닫기

반환(11);

if (Bid <=Low && Ask <High - 1*delta )

반환(21); // 닫기 판매

if (거래 == 1){

if ( Bid <=Low ) // 오픈 베이

인쇄 ("베이=",11);

반환(10);}

if (시간 == 1){

if (Bid<=Low&&Ask<High -1*delta ) // Srll 열기

Print("판매=",21);

반환(20);}

반품; // 시간이 좋지 않으면 아무것도 열지 않고 그냥 종료합니다.

다음 변수 High 및 Low의 데이터는 알려져 있으며(인쇄물을 확인함) 가격 조건이 다음과 같이 표시됩니다.

1. 매수 > 고가인 경우 명령 10을 보냅니다(매수 매수).

2. 만약 buy < Low이고 동시에 물음이 High보다 1포인트 낮으면 return 11 명령으로 마을을 닫습니다.

변수 시간 == 1이면 다음을 수행합니다.

3. Bid가 Low보다 작거나 같으면서 동시에 Ask가 High보다 1포인트 이상 낮으면 Buy를 엽니다.

4. 입찰가가 높음보다 크거나 같으면 매도를 여십시오.

그러나 항상 테스트용으로만 구매가 열립니다. 이 프로그램은 완전히 교과서에서 가져온 것임을 알려드립니다. 각각 거래 기준만 변경하고 명령 10, 20, 만일을 대비하여 모든 표준 기능을 첨부하겠습니다. 불리고 있다

파일:
close_all.mqh  3 kb
open_ord.mqh  3 kb
trade.mqh  3 kb
 

사람들! 안녕하세요! 돕다!

경고 표시기 기능에 시간 간격을 입력해야 합니다. 신호가 나타날 때 창이 팝업되고 이 신호가 어느 차트에서 왔는지 알 수 있습니다. 예를 들어 M15.

나는 사이트를 검색했지만 비슷한 것을 찾을 수 없습니다.

 

사람들! 안녕하세요! 돕다!

경고 표시기 기능에 시간 간격을 입력해야 합니다. 신호가 나타날 때 창이 팝업되고 이 신호가 어느 차트에서 왔는지 알 수 있습니다. 예를 들어 M15.

나는 사이트를 검색했지만 비슷한 것을 찾을 수 없습니다.

 

실제로 이것은 기능입니다

//------------------------------------------------ --------------------

// 기준.mqh

// MQL4 튜토리얼에서 예제로 사용하도록 설계되었습니다.

//------------------------------------------------ --------------- 하나 --

// 거래 기준을 계산하는 함수.

// 반환 값:

// 10 - 오픈 매수

// 20 - 오픈 매도

// 11 - 닫기 매수

// 21 - 닫기 매도

// 0 - 중요한 기준 없음

// -1 - 다른 금융 상품이 사용됨

//------------------------------------------------ --------------- 2 --

// 외부 변수:


//------------------------------------------------ --------------- 삼 --

int Criterion() // 사용자 정의 함수

{

//------------------------------------------------ ----------------4----

문자열 Sym="________";

if (Sym!=Symbol()) // 지느러미가 아닌 경우. 도구

{

알리다(16); // 메시지..

return(-1);} // .. 및 종료

델타=포인트;

if (자리수 == 5 || (자리수 == 3 && StringFind (Symbol(), "JPY", 0) != -1))

델타=포인트 *10;

int Digital=MarketInfo(Symbol(),12);

//------------------------------------------------ --------------- 5 --

// 기술 매개변수 지시자:

불 거래;

if (시작>종료 && (Hour()>Begin-1 || Hour()<End)){trade=1;}

if (Begin<End && (Hour()>Begin-1 && Hour()<End)){trade=1;}

{if (trade==0 && mag!=Mag) return(0);}

// --------------------------평균 스프레드 계산------------- ----

if (!IsTesting() || IsVisualMode() || !IsOptimization())

{

정수 TicSpred=100;

이중 스프레드[10000];

if (Spread[0]==0) {ArrayInitialize(Spread,(Ask-Bid)/delta);}

(int q=TicSpred;q>0;q--){

if (Spread[q]==0) Spread[q]=(Ask-Bid)/delta;}

(q=TicSpred;q>0;q--) {Spread[q]=Spread[q-1];}

스프레드[0]=(매도호가)/델타;

이중 CountedSpred;

(q=0;q<TicSpred;q++){CountedSpred=CountedSpred+Spread[q];}

이중 Аverspread=CountedSpred/TicSpred;

}


//------------------------------------------------ --------------- 5 --

// 거래 기준 계산

if (Bid >=High ) // 베이 닫기

반환(11);

경우(입찰가<=낮음)

반환(21); // 닫기 판매

if (거래 == 1){

if ( Bid <=Low &&Ask<High -0.5*MyPoint) // 오픈 베이

Print("베이=",11);

반환(10);}

if (거래 == 1){

if (Bid>=High ) // Srll 열기

Print("판매=",21);

반환(20);}

반품; // 시간이 좋지 않으면 아무것도 열지 않고 그냥 종료합니다.


//------------------------------------------------ --------------- 6 --

리턴(0); // 사용자를 종료합니다. 기능

}

//------------------------------------------------ --------------- 7 --

Low 및 High 변수가 이미 정의되어 있고 올바른 값은 0이라고 가정합니다.