Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 25

 
Viachaslau Baiko:

possible loss of data due to type conversion 

 

Пробуйте. 

Файлы:
 
Renat Akhtyamov:
строчку из кода покажите, на которую указывает компилятор

Там много таких строк, по этой причине я и просил адаптированный модуль под новые терминалы. Но спасибо за готовность помочь) 

 
Alekseu Fedotov:
Спасибо, буду пробовать!
 
Viachaslau Baiko:

Там много таких строк, по этой причине я и просил адаптированный модуль под новые терминалы. Но спасибо за готовность помочь) 

прямо в этой строчке :

" possible loss of data due to type conversion "

должен быть номер строки и позиция в строке кода с ошибкой.

Вот так легко, можно исправить все ошибки, зная точное местонахождение в коде

 
Renat Akhtyamov:

прямо в этой строчке :

" possible loss of data due to type conversion "

должен быть номер строки и позиция в строке кода с ошибкой.

Вот так легко, можно исправить все ошибки, зная точное местонахождение в коде

Я взял предложенный Alekseu Fedotov советник и попытался его допилить под свои нужды.

А нужды такие: При пересечени машек открываем позицию, при обратном пересечении закрываем. При возможности переводим позицию в безубыток.

Но по итого вообще ничего не открывается. Я себе уже весь мозг сломал. В чем тут может быть проблема?

Файлы:
4Tester.mq4  20 kb
 
Viachaslau Baiko:

Я взял предложенный Alekseu Fedotov советник и попытался его допилить под свои нужды.

А нужды такие: При пересечени машек открываем позицию, при обратном пересечении закрываем. При возможности переводим позицию в безубыток.

Но по итого вообще ничего не открывается. Я себе уже весь мозг сломал. В чем тут может быть проблема?

строчку из кода с ошибкой покажите от КИМа, последний раз предлагаю помощь.
 
Renat Akhtyamov:
строчку из кода с ошибкой покажите от КИМа, последний раз предлагаю помощь.
Там была ошибка с моей стороны. Я неверно составил логику программы. И мне было проще сделать все по-новому. В коде КИМа ошибки нет.
 
подскажите, если с помощью mql4 или mql5 возможно сделать следующее:

после пересечения ценой вертикального уровня, окрасить часть фона в другой цвет, как указано на картинке.

Спасибо.
Файлы:
Immagine1.JPG  100 kb
 
Renat Akhtyamov:
покажите фрагмент кода, как Вы в советнике считываете сигнал с индикатора
extern int     stoploss             = 200,
               takeprofit           = 400,
               slippage             = 10,
               Magic                = 777;          

extern double  Lot                  = 0.5,
               buy_level            = 15;      
            

void OnTick()
{
   for (int i=0; i<OrdersTotal(); i++)                        
   if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
   if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())return;
  
   double STO = iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0);
   double SL=0,TP=0;
  
   if (STO > buy_level)
  
  
   {
      if (takeprofit!=0) TP  = NormalizeDouble(Ask + takeprofit*Point,Digits);
      if (stoploss!=0)   SL  = NormalizeDouble(Ask - stoploss*  Point,Digits);    
      if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,NULL,Magic)==-1) Print(GetLastError());
      PlaySound("timeout.wav");
      Print("Ордер успешно размещен");
}
}
 
TimBerg:
extern int     stoploss             = 200,
               takeprofit           = 400,
               slippage             = 10,
               Magic                = 777;          

extern double  Lot                  = 0.5,
               buy_level            = 15;      
            

void OnTick()
{
   for (int i=0; i<OrdersTotal(); i++)                        
   if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
   if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())return;
  
   double STO = iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0);
   double SL=0,TP=0;
  
   if (STO > buy_level)
  
  
   {
      if (takeprofit!=0) TP  = NormalizeDouble(Ask + takeprofit*Point,Digits);
      if (stoploss!=0)   SL  = NormalizeDouble(Ask - stoploss*  Point,Digits);    
      if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,NULL,Magic)==-1) Print(GetLastError());
      PlaySound("timeout.wav");
      Print("Ордер успешно размещен");
}
}

Вот здесь:

iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0);

меняйте период (таймфрейм) на 1,5,15,30,60,240,1440,10080,43200 //M1.M5.M30 ... и т.д.

или впишите Period() вместо 15, тогда при переключении ТФ вручную, будет автоматически задан текущий

Причина обращения: