Errors, bugs, questions - page 2029

 
Money_Man:

question: how to re-run OnCalc or calculate data before starting Oncalc or within it
need the indicator to draw data only after updating history for other characters/periods than the current one.

OnCalculate can be called from a timer.
Transmitted arrays can be empty (if not used) or real copies of OHLC arrays.

 
Andrey Khatimlianskii:

OnCalculate can be called from the timer.
The passed arrays can be either empty (if they're not used) or real copies of OHLC arrays.

What a weird thing may happen if you start the indicator at a custom symbol and copy a new tick to it in OnCalculate... three lines in total.

 
Andrey Khatimlianskii:

OnCalculate can be called from a timer.
The passed arrays can be empty (if not used) or real copies of OHLC arrays.


A big human THANK YOU) Your advice was very helpful)

 

I suggest moving the alerts from the context menu "Trading" tab - The point is that for decision-making they often use charts which are not allowed to trade - for forex - dollar index and oil, and for futures market - charts of the underlying asset, and different indices. I would like to get audio signals from all the charts, if necessary. I think this is demanded by many - so it is not necessary to write about the fact that everything can be programmed and make an indicator/advisor.

 
fxsaber:

What a nasty thing can happen if the indicator runs on a custom symbol and throws a new tick at it in OnCalculate... three lines in total.

In what case may be it necessary to run such a specific indicator on the custom symbol?

And what kind of nastiness?

 
Andrey Khatimlianskii:

When might it be necessary to run such a specific indicator on a castaway symbol?

It's just an opportunity that can be taken advantage of by nasty people.

And what kind of nasty thing?

Haven't tried it myself, but I'm pretty sure the terminal will freeze up.

 
Andrey Khatimlianskii:

OnCalculate can be called from the timer.
The passed arrays can be empty (if not used) or real copies of OHLC arrays.


Please tell me, I don't get it) in standard OnCalc I use built-in arrays for calculations, e.g. time[]
If I use dummy arrays in OnCalc from OnTimer then it will output overrun of array. I can insert my own arrays instead of dummy... but I want to use built in arrays in OnCalc to be sure that the calculations are always the same
do you know how to call it to pull the built in arrays ?

 
Money_Man:

Please tell me, I don't get it)) I use built-in arrays in standard OnCalc for calculations, e.g. time[].
if i call OnCalc from OnTimer it will cause exit outside array. i can insert my own arrays instead of no arrays... but i want to use built in arrays in OnCalc to be sure the calculations are always the same
do you know how to call it to pull the built in arrays ?

I said straight out:"or real copies of OHLC arrays".

Make your own arrays, copy data there, store the number of elements.

"Who said it would be easy?" (с)

 
Andrey Khatimlianskii:

I said straight out:"or real copies of OHLC arrays".

Make your own arrays, copy data there, store the number of elements.

"Who said it would be easy?" (с)


Thank you, I am already doing so.

 

Today I encountered a problem that if the name of the object is in Russian, it is not recognized on terminals of users in South-East Asia

This code is scrapped because it's in Cyrillic.

//+------------------------------------------------------------------+
//| Функция обработки событий                                        |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,         // идентификатор события
                  const long& lparam,   // параметр события типа long
                  const double& dparam, // параметр события типа double
                  const string& sparam) // параметр события типа string
 {
 //--
 if(sparam==prefix+"Скрыт")
  {
   // обработка события
  }


This one works without a problem.

//+------------------------------------------------------------------+
//| Функция обработки событий                                        |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,         // идентификатор события
                  const long& lparam,   // параметр события типа long
                  const double& dparam, // параметр события типа double
                  const string& sparam) // параметр события типа string
 {
 //--
 if(sparam==prefix+"Hide")
  {
   // обработка события
  }


I knew that only idiots use Cyrillic in the program, and that sooner or later it will turn out to be a bummer. There were only 3 objects in Russian, decided to save on a tooltip, and enough to make the program stop working.

Reason: