MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 356

 
Nauris Zukas :

감사합니다. 하지만 데이터도 확장해야 합니다(내가 올바르게 이해했다면). 데이터를 확장하는 것이 유일한 해결책인 것 같습니다.

왜 스케일링을 합니까? 양수 값에 대해 하나와 음수 값에 대해 하나의 버퍼 2개만 사용하십시오. 계산 중에 양수 만 얻은 경우 -1을 곱할 수 있습니다. 그러나 계산 중에 양수 값과 음수 값을 모두 얻으면 내 제안이 적합하지 않습니다.

그런 다음 다양한 너비의 히스토그램을 만들 수 있습니다. 먼저 넓은 히스토그램으로 표시되는 버퍼에 값을 채우고 얇은 히스토그램으로 표시하는 버퍼를 채웁니다.

그러면 다음 히스토그램이 얻어진다. 4개의 버퍼가 여기에 사용됩니다.


 
Alexey Viktorov :

왜 스케일링을 합니까? 양수 값에 대해 하나와 음수 값에 대해 하나의 버퍼 2개만 사용하십시오. 계산 중에 양수 만 얻은 경우 -1을 곱할 수 있습니다. 그러나 계산 중에 양수 값과 음수 값을 모두 얻으면 내 제안이 적합하지 않습니다.

그런 다음 다양한 너비의 히스토그램을 만들 수 있습니다. 먼저 넓은 히스토그램으로 표시되는 버퍼에 값을 채우고 얇은 히스토그램으로 표시하는 버퍼를 채웁니다.

그러면 다음 히스토그램이 얻어진다. 4개의 버퍼가 여기에 사용됩니다.


감사합니다. 하지만 이 옵션은 선이 있는 버퍼가 예를 들어 1.19653에서 1.19674이고 히스토그램이 0에서 250이기 때문에 작동하지 않습니다. 한 창에서 눈금과 퍼짐, 그래서 두 번째 Y를 만들고 싶었습니다. 중심선.

 
Nauris Zukas :

감사합니다. 하지만 이 옵션은 선이 있는 버퍼가 예를 들어 1.19653에서 1.19674이고 히스토그램이 0에서 250이기 때문에 작동하지 않습니다. 한 창에서 눈금과 퍼짐, 그래서 두 번째 Y를 만들고 싶었습니다. 중심선.

어울리지 않는다는 데 동의합니다. 하지만!!! 스케일링은 무엇을 줄까요? 히스토그램 값을 100으로 나눌 수 있습니까? 0.01을 곱하거나...

 
Alexey Viktorov :

어울리지 않는다는 데 동의합니다. 하지만!!! 스케일링은 무엇을 줄까요? 히스토그램 값을 100으로 나눌 수 있습니까? 0.01을 곱하거나...

지금은 이것이 개념입니다: 우리는 최대/최소를 취합니다. 선형 버퍼의 값과 최대 스프레드는 이러한 값에 따라 이루어지며 나머지 스프레드는 최대로 조정됩니다.

 
Artyom Trishkin :

글쎄, 그것은 브로커가 귀하의 계정에 대한 자동 거래를 허용하지 않는다는 것을 의미합니다. 모든 것이 켜져 있고 고문은 포지션을 열지 않고 주문하지 않기 때문입니다.

EA가 서버 에 거래 요청을 보내 려고 할 때 로그에 표시되는 내용은 무엇입니까?

주문이 이루어지지만 IsTradeAllowed()는 0입니다. 어떻게 합니까?

 
Andrei :

자동 거래 허용을 의미합니까? 이것도 포함...

지원을 위해 브로커에게 전화하는 것이 합리적입니다.

 
Andrei :

주문이 이루어지지만 IsTradeAllowed()는 0입니다. 어떻게 합니까?


경쟁 계정?

최소한 4개의 매개변수를 확인해야 합니다.

 ACCOUNT_TRADE_EXPERT
ACCOUNT_TRADE_ALLOWED
TERMINAL_TRADE_ALLOWED
IsTradeAllowed ( _Symbol , TimeCurrent ())
 

선택한 거래 상품에 대한 현재 및 이전 틱을 비교하는 코드를 작성하는 방법을 알려주십시오.

비교해야 합니다. Tick(현재) > Tick(이전), 그런 다음 이러한 틱 계산으로 이동하고 그 반대의 경우 Tick(현재) < Tick(이전)이면 Ticks2 계산으로 이동합니다.

따라서 선택한 차트와 시간대에서 각 막대의 틱 수를 계산하고 가격을 인상하고 얼마나 많이 내렸는지 계산하고 싶습니다.

말해 주세요! 나는 내 인생의 첫 번째 프로그램뿐만 아니라 첫 번째 훈련 지표를 작성하고 있습니다 :(

내가 맞췄어?

정수 틱;

정수 Tick2;

정수 시작()

if((입찰가 - 입찰가[1]) > 0)

{

틱++;

반품;

}

또 다른

{

틱2++;

반품;

}

 
YarTrade :

선택한 거래 상품에 대한 현재 및 이전 틱을 비교하는 코드를 작성하는 방법을 알려주십시오.

비교해야 합니다. Tick(현재) > Tick(이전), 그런 다음 이러한 틱 계산으로 이동하고 그 반대의 경우 Tick(현재) < Tick(이전)이면 Ticks2 계산으로 이동합니다.

따라서 선택한 차트와 시간대에서 각 막대의 틱 수를 계산하고 가격을 인상하고 얼마나 많이 내렸는지 계산하고 싶습니다.

말해 주세요! 나는 내 인생의 첫 번째 프로그램뿐만 아니라 첫 번째 훈련 지표를 작성하고 있습니다 :(

내가 맞췄어?

날짜, 시간, 입찰가 및 계산 결과각 틱 에 대한 파일에 쓰십시오. 그런 다음 Excel에 업로드하고 확인합니다. 프로그램의 10줄마다 조정하는 것은 거의 의미가 없습니다!

하지만 보세요, 조건 연산자의 각 분기에 반환값이 있습니다. 항상 실행됩니다. 그런 다음 조건 연산자 외부에서 가져옵니다. 우리는 다음을 얻습니다:

 int Tick=0, Tick2=0;       // Для вставки программы используйте кнопку SRC
double Bid1;

void OnInit()
{
  Bid1=Bid;
}

void start()   // Вместо start более модно писать OnTick
{
     if ( Bid > Bid 1 ) Tick++;                             
     else           Tick2++;
    Bid1=Bid;                          
}

입찰[1] - 발생합니까?

 
STARIJ :
// Вместо start более модно писать OnTick

:)