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

 
alsu писал(а) >>
 int start ( ) {
   static int nevtime = 0 ;
   if ( nevtime = = Time [ 0 ] ) return ( 0 ) ;
   nevtime = Time [ 0 ] ;

// Ваш код

   return ( 0 ) ;
}
이 예에서 처음 시작할 때 시작은 막대의 시작 부분에서 시작되지 않습니다. 새 막대 형성 초기의 모든 후속 작업에서.
 

자, 여기 다시, 저는 이 코드들 중 하나를 입력하고 이것을 얻습니다:

거래 없음! 그리고 이것은 알고리즘의 경우가 아니며, 어드바이저는 확률적 신호가 낮은 수준 아래로 떨어질 때 매수를 엽니다. 나는 어드바이저를 확률론을 다시 그리는 잘못된 신호로부터 구하고 싶지만 어떻게?

double Ind11=iStochastic(NULL,0,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_MAIN,0);
double Ind12=iStochastic(NULL,0,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_SIGNAL,0);

double Ind13=iStochastic(NULL,0,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_MAIN,1);
double Ind14=iStochastic(NULL,0,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_SIGNAL,1);



 if(Ind11<20 && Ind11>Ind12 && Ind13<Ind14)
  {
   
  OrderSend(Symbol(),OP_BUY,Lots,Ask,1,0,0,"",16384,0,Green);
   
  }

 
Summer >> :

자, 여기 다시, 저는 이 코드들 중 하나를 입력하고 이것을 얻습니다:

거래 없음! 그리고 이것은 알고리즘의 경우가 아니며, 어드바이저는 확률적 신호가 낮은 수준 아래로 떨어질 때 매수를 엽니다. 나는 어드바이저를 확률론을 다시 그리는 잘못된 신호로부터 구하고 싶지만 어떻게?

double Ind11=iStochastic(NULL,0,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_MAIN,0);
double Ind12=iStochastic(NULL,0,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_SIGNAL,0);

double Ind13=iStochastic(NULL,0,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_MAIN,1);
double Ind14=iStochastic(NULL,0,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_SIGNAL,1);



if(Ind11<20 && Ind11>Ind12 && Ind13<Ind14)
{

OrderSend(Symbol(),OP_BUY,Lots,Ask,1,0,0,"",16384,0,Green);

}

스토캐스틱에서는 0 bar를 취하고 위의 코드를 설정하면 막대의 맨 처음에만 프로그램이 실행되며 0 bar 동안 교차가 발생할 수 있습니다.

 

sanyooooook , 음... 그런 결함 없이 다시 그리는 문제를 해결하는 방법이나 모든 것이 작동하도록 거래를 여는 알고리즘을 변경하는 방법은 무엇입니까?

추가됨:

닫힌 막대에서 작동하는 것을 넣으려고했습니다. 나는 0 대신 1을 넣었다 - 나는 1 대신 2를 넣었지만 여전히 모든 신호를 실행하지 않았기 때문에 이 경우에도 실행되지 않는다.


파일:
2.mq4  2 kb
 

하나의 DC가 있는 여러 계정이 있으므로 각 계정에 별도의 터미널을 넣어야 한다고 가정해 보겠습니다.

그러나 입구에 있는 인용문은 모든 사람에게 동일하며, 이는 트래픽을 헛되이 로드할 뿐입니다.

예를 들어 서버에서 입력 트래픽을 받아 터미널에 로컬로 배포하는 일종의 가상 프로그램을 작성하여 입력 트래픽을 절약할 수 있는 프로그램이나 방법이 있습니까? 물론 출력 트래픽을 건드릴 필요는 없습니다. 다를 수 있습니다.

 
double에서 int로 변환하는 방법 두 가지 가격 수준을 계산하여 얻은 숫자 0.0030이 있습니다. 후행에 사용하고 싶지만 10000을 곱하여 0.0030을 정수 30으로 변환하는 방법을 알 수 없습니다. 30이 나오고 여기서 int x = 0.0030*10000으로 변환됩니다. 그러나 트롤은 보이지 않습니다 - x, 아마도 다른 방법이 있습니까?
 

엉뚱한 질문 몇개만...


1) 가격 차트에 일반적으로 표시되는 것은 무엇입니까? 열기 또는 닫기의 값? 아니면 일종의 평균?


2) 교차 조건을 충족시키는 방법은 무엇입니까? 두 값을 비교하는 조건으로 많은 주문이 오픈되긴 하지만, 동시에 오픈 시간을 대략적으로 제한하고 싶지는 않은데...


3) IntToStr IntToReal과 같은 일반적인 유형 변환 함수는 무엇입니까? 예를 들어 Delphi에서와 같이 여기에서 찾지 못했습니다.

 

sanyooooook писал(а) >>

if ( Volume [ 0 ] > 1 ) return ;
добавить код в начало int start()

테스터에서만 완벽하게 작동합니다.

 
alsu >> :

테스터에서만 완벽하게 작동합니다.

왜 테스터에서만? 실제와 데모 모두에서 작동해야 합니다.

 
sanyooooook >> :

왜 테스터에서만? 실제와 데모 모두에서 작동해야 합니다.

빠른 시장의 실생활에서 첫 번째 틱은 반드시 1이 아닙니다.