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

 
Hedin :

친애하는 프로그래머,
조건이 true일 때 연산자가 실행되지 않는 이유, 더 정확하게는 연산자가 실행되지만 무질서한 모드(예: 격회)에 있는 이유를 알려주세요. 로그에 오류가 없습니다.


코드 수정:

 if ( MathAbs ( ord_sl - (ord_open+First_sell_limit_SL* Point ) ) < Point / 2.0 && ...

그리고 평등을 위해 이중 변수를 비교하지 마십시오.

 
PapaYozh :


코드 수정:

그리고 평등을 위해 이중 변수를 비교하지 마십시오.


이중 변수가 같음을 비교할 수 없는 이유는 무엇입니까?
 
Hedin :

이중 변수가 같음을 비교할 수 없는 이유는 무엇입니까?
검색이 더 이상 작동하지 않습니까?
 
Hedin :

이중 변수가 같음을 비교할 수 없는 이유는 무엇입니까?
여기 봐 .
 
Necron :
deinit에서 전역 변수에 쓰고 init에서 이 변수의 값을 읽습니다. 문제가 무엇입니까?

제가 알기로는 전역 변수는 모든 함수 외부에 선언된 변수입니다. 전역 변수의 초기화는 특수 기능의 실행 시작 전에 한 번 수행됩니다.

즉, 프로그램 시작 시, 시작 함수 이전에 다음 시작 시 프로그램에 전달하고자 하는 변수를 포함하여 전역 변수를 선언합니다. 그런 다음 귀하의 제안에 따라 deinit에서 이 변수의 값을 수정합니다. 하지만! 내가 알기로는 프로그램이 시작되면 init 함수가 실행되기 전에도 내가 관심 있는 것을 포함하여 프로그램 시작 시 설명한 모든 전역 변수가 다시 초기화됩니다. 그리고 init 함수에 대한 차례가 되면 이전에 저장한 내 변수가 손실됩니다! 아니면 내가 틀렸습니까?

 
아니요, 그는 GlobalVariable을 의미했습니다. , 파일에 저장됩니다.
 
ikatsko :

제가 알기로는 전역 변수는 모든 함수 외부에 선언된 변수입니다. 전역 변수의 초기화는 특수 기능의 실행 시작 전에 한 번 수행됩니다.

즉, 프로그램 시작 시, 시작 함수 이전에 다음 시작 시 프로그램에 전달하고자 하는 변수를 포함하여 전역 변수를 선언합니다. 그런 다음 귀하의 제안에 따라 deinit에서 이 변수의 값을 수정합니다. 하지만! 내가 알기로는 프로그램이 시작되면 init 함수가 실행되기 전에도 내가 관심 있는 것을 포함하여 프로그램 시작 시 설명한 모든 전역 변수가 다시 초기화됩니다. 그리고 init 함수에 대한 차례가 되면 이전에 저장한 내 변수가 손실됩니다! 아니면 내가 틀렸습니까?

전역 변수 에는 두 가지 종류가 있습니다. 사용자가 작성하는 프로그램의 전역 변수와 터미널의 전역 변수,
액세스하지 않으면 2주 동안 프로그램과 별도로 저장되고 메모리가 제대로 작동하면 ...
예를 들어 동일한 터미널에서 동시에 작업하는 서로 다른 전문가 간에 데이터를 전송하는 등의 역할을 합니다.
필요한 것은 터미널 전역 변수입니다.
 
Roger :
아니요, 그는 GlobalVariable을 의미했습니다. , 파일에 저장됩니다.
예, 터미널 전역 변수를 의미했습니다. 개인에서 이미이 질문에 대답했습니다.
 
Necron :
예, 터미널 전역 변수를 의미했습니다. 개인에서 이미 이 질문에 답변했습니다.
나는 이미 모든 것을 이해했습니다. 그것은 발생합니다 ... 글쎄, 나는 그것을 읽지 않았습니다 ... 죄송합니다 :)
 
вот, собственно код моментума стандартного из МТ4 - ии??? я не вижу тут 
double iMA ( string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift)
 //+------------------------------------------------------------------+
//|                                                     Momentum.mq4 |
//|                      Copyright © 2004, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net/"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
//---- input parameters
extern int MomPeriod= 14 ;
 
//---- buffers
double MomBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   SetIndexStyle( 0 , DRAW_LINE );
   SetIndexBuffer ( 0 ,MomBuffer);
//---- name for DataWindow and indicator subwindow label
   short_name= "Mom(" +MomPeriod+ ")" ;
   IndicatorShortName(short_name);
   SetIndexLabel( 0 ,short_name);
//----
   SetIndexDrawBegin( 0 ,MomPeriod);
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Momentum                                                         |
//+------------------------------------------------------------------+
int start()
  {
   int i,counted_bars=IndicatorCounted();
   
//----
   if ( Bars <=MomPeriod) return ( 0 );
//---- initial zero
   if (counted_bars< 1 )
       for (i= 1 ;i<=MomPeriod;i++) MomBuffer[ Bars -i]= 0.0 ;
      
//----
   
   i= Bars -MomPeriod- 1 ;
   if (counted_bars>=MomPeriod) i= Bars -counted_bars- 1 ;
   while (i>= 0 )
     {
      MomBuffer[i]=Close[i]* 100 /Close[i+MomPeriod];
      i--;
     }
   return ( 0 );
  }
//+------------------------------------------------------------------+
Roger :

당신이 뭔가를 찾고 있었다 이상하다

이중 iMA (

string symbol, int timeframe, int period, int ma_shift, int ma_method, int apply_price, int shift)

첫 번째 요소입니다.