초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 663

 
new-rena :

답변에 5달러?

)

대기 중...

글쎄, 질문에 개별 작업이 필요하고 결과가 기성품 코드라면 모든 것이 ...
 

안녕하세요. 표시기에서 다른 표시기에서 데이터를 가져와야 합니다. 표시기가 로드되면 기록이 표시되고 새 값이 업데이트되지 않습니다. 루프 또는 다른 위치의 오류가 무엇인지 알려주십시오.

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,   // Количество просчитанных баров
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
   int limit;
   int counted_bars = IndicatorCounted ();
   if (counted_bars< 0 ) return (- 1 );
   if (counted_bars> 0 ) counted_bars--;
   limit = Bars - counted_bars - 500 ;
   for ( int i=limit; i>= 0 ; i--)
   {
     Buf_1[i]= iCustom ( Symbol (), 0 , "ATR" , 0 , i); //При подстановке любого индикатора нет обновления!!!
   }
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
 

이러한 상황에서 오류가 발생합니다. 오류가 발생하는 이유를 이해하는 데 도움이 됩니다. MQL5에서는 사용자가 입력한 변수 값을 변경할 수 없습니까?

'Slippage' - 상수를 수정할 수 없음 Kamikadze_MA-may.mq5 67 7

extern int Slippage    = 10;                       // Проскальзывание

int init()
  {
//3,5 знаков
   if(MarketInfo(Symbol(),MODE_DIGITS)==3 || MarketInfo(Symbol(),MODE_DIGITS)==5)
     {
      Slippage*=10;
     }
   return(INIT_SUCCEEDED);
  }

  }

 
-Aleks- :

이러한 상황에서 오류가 발생합니다. 오류가 발생하는 이유를 이해하는 데 도움이 됩니다. MQL5에서는 사용자가 입력한 변수 값을 변경할 수 없습니까?

'Slippage' - 상수를 수정할 수 없음 Kamikadze_MA-may.mq5 67 7

extern int Slippage    = 10;                       // Проскальзывание

int init()
  {
//3,5 знаков
   if(MarketInfo(Symbol(),MODE_DIGITS)==3 || MarketInfo(Symbol(),MODE_DIGITS)==5)
     {
      Slippage*=10;
     }
   return(INIT_SUCCEEDED);
  }

  }

이것은 5-rke에 없습니다

시장 정보

그러나 나는 Slippage에 대해 모른다)

 
new-rena :

이것은 5-rke에 없습니다

시장 정보

얼마나 감염 - 왜 그는 그를 잘못 두지 않았습니까 ...

어떤 아날로그를 사용해야합니까?

 
-Aleks- :

얼마나 감염 - 왜 그는 그를 잘못 두지 않았습니까 ...

어떤 아날로그를 사용해야합니까?

지난 주말 같은 스레드에서 우리는 5-rku로의 전환에 대해 알아냈습니다.

내 게시물과 뒤에서 우리는 2-3 페이지의 모든 게시물을 읽었습니다.

https://www.mql5.com/ru/forum/6343/page662#comment_2930149

Вопросы от начинающих
Вопросы от начинающих
  • www.mql5.com
Форум трейдеров MQL5.community
 
new-rena :

지난 주말 같은 스레드에서 우리는 5-rku로의 전환에 대해 알아냈습니다.

내 게시물과 뒤에서 우리는 2-3 페이지의 모든 게시물을 읽었습니다.

https://www.mql5.com/ru/forum/6343/page662#comment_2930149

예, 예, 이미 이 기사를 열었습니다. 감사합니다. MarketInfoMQL4 함수를 삽입했는데 결과가 음수입니다.... 잘못된 위치에 삽입한 것일 수 있습니다.

 
-Aleks- :

예, 예, 이미 이 기사를 열었습니다. 감사합니다. MarketInfoMQL4 함수를 삽입했는데 결과가 음수입니다.... 잘못된 위치에 삽입한 것일 수 있습니다.

MarketInfo(Symbol(),MODE_DIGITS)는 (int) SymbolInfoInteger (Symbol(), SYMBOL_DIGITS )입니다.

기사의 기능에서 교체의 창자를 더 자세히 살펴보십시오.

더 우아하고 MQL5에 더 가깝습니다.

간단히 말해서 시간을 내십시오.

라이브러리나 다른 기능이 필요하지 않습니다. 순수 MQL5로 작성하는 방법을 배워야 합니다.

 
-Aleks- :

이러한 상황에서 오류가 발생합니다. 오류가 발생하는 이유를 이해하는 데 도움이 됩니다. MQL5에서는 사용자가 입력한 변수 값을 변경할 수 없습니까?

'Slippage' - 상수를 수정할 수 없음 Kamikadze_MA-may.mq5 67 7

extern int Slippage    = 10;                       // Проскальзывание

int init()
  {
//3,5 знаков
   if(MarketInfo(Symbol(),MODE_DIGITS)==3 || MarketInfo(Symbol(),MODE_DIGITS)==5)
     {
      Slippage*=10;
     }
   return(INIT_SUCCEEDED);
  }

  }

예, 입력 매개변수를 수정할 수 없습니다. 솔직히 말해서 3/5 자리 따옴표에 따라 이 값을 변경하는 이유를 이해하지 못합니다. 결국 입력 매개변수에서 이 값을 설정합니다. 100(3/5가 숫자인 경우)을 쓰고 고통받지 않을 수 있습니까?
 
new-rena :

MarketInfo(Symbol(),MODE_DIGITS)는 (int)SymbolInfoInteger (Symbol(), SYMBOL_DIGITS )입니다.

기사의 기능에서 교체의 창자를 더 자세히 살펴보십시오.

더 우아하고 MQL5에 더 가깝습니다.

간단히 말해서 시간을 내십시오.

라이브러리나 다른 기능이 필요하지 않습니다. 순수 MQL5로 작성하는 방법을 배워야 합니다.

그건 그렇고, 기사 MarketInfoMQL4()의 함수는 오류를 발생시킵니다. 어떻게 수정합니까? (두 가지 언어를 배우려면 두뇌가 끓을 것입니다-지금은 심층 코딩 없이 주식 시장에서 아이디어의 작업을 테스트할 수 있어야 합니다)

'(' - 이름 예상 Kamikadze_MA-may.mq5 332 17
'::' - 예상되는 이름 Kamikadze_MA-may.mq5 332 17


double MarketInfoMQL4(string symbol,
                      int type)
  {
   switch(type)
     {
      case MODE_LOW:
         return(SymbolInfoDouble(symbol,SYMBOL_LASTLOW));
      case MODE_HIGH:
         return(SymbolInfoDouble(symbol,SYMBOL_LASTHIGH));
      case MODE_TIME:
         return(SymbolInfoInteger(symbol,SYMBOL_TIME));
      case MODE_BID:
        {
         MqlTick last_tick;
         SymbolInfoTick(symbol,last_tick);
         double Bid=last_tick.bid;
         return(Bid);
        }
      case MODE_ASK:
        {
         MqlTick last_tick;
         SymbolInfoTick(symbol,last_tick);
         double Ask=last_tick.ask;
         return(Ask);
        }
      case MODE_POINT:
         return(SymbolInfoDouble(symbol,SYMBOL_POINT));
      case MODE_DIGITS:
         return(SymbolInfoInteger(symbol,SYMBOL_DIGITS));
      case MODE_SPREAD:
         return(SymbolInfoInteger(symbol,SYMBOL_SPREAD));
      case MODE_STOPLEVEL:
         return(SymbolInfoInteger(symbol,SYMBOL_TRADE_STOPS_LEVEL));
      case MODE_LOTSIZE:
         return(SymbolInfoDouble(symbol,SYMBOL_TRADE_CONTRACT_SIZE));
      case MODE_TICKVALUE:
         return(SymbolInfoDouble(symbol,SYMBOL_TRADE_TICK_VALUE));
      case MODE_TICKSIZE:
         return(SymbolInfoDouble(symbol,SYMBOL_TRADE_TICK_SIZE));
      case MODE_SWAPLONG:
         return(SymbolInfoDouble(symbol,SYMBOL_SWAP_LONG));
      case MODE_SWAPSHORT:
         return(SymbolInfoDouble(symbol,SYMBOL_SWAP_SHORT));
      case MODE_STARTING:
         return(0);
      case MODE_EXPIRATION:
         return(0);
      case MODE_TRADEALLOWED:
         return(0);
      case MODE_MINLOT:
         return(SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN));
      case MODE_LOTSTEP:
         return(SymbolInfoDouble(symbol,SYMBOL_VOLUME_STEP));
      case MODE_MAXLOT:
         return(SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX));
      case MODE_SWAPTYPE:
         return(SymbolInfoInteger(symbol,SYMBOL_SWAP_MODE));
      case MODE_PROFITCALCMODE:
         return(SymbolInfoInteger(symbol,SYMBOL_TRADE_CALC_MODE));
      case MODE_MARGINCALCMODE:
         return(0);
      case MODE_MARGININIT:
         return(0);
      case MODE_MARGINMAINTENANCE:
         return(0);
      case MODE_MARGINHEDGED:
         return(0);
      case MODE_MARGINREQUIRED:
         return(0);
      case MODE_FREEZELEVEL:
         return(SymbolInfoInteger(symbol,SYMBOL_TRADE_FREEZE_LEVEL));

      default: return(0);
     }
   return(0);
  }

사유: