Original (English)

call (int Mode, void* Function, int P1, var P2)

Put a function on a scheduler in order to be executed at a certain event. Two parameters, int and var, can optionally be passed to the function.

Parameters:

Mode Run the function: 1 when the system is idle, 2 at the next incoming tick, 4 after closing a trade, +16 for repeating.
Function Pointer to a script-defined function.
P1 int variable to be passed to the function as first parameter, or 0 when the function has no parameters.
P2 var variable to be passed to the function as second parameter, or 0 when the function has no second parameter.
 

Remarks:

  • Function can be a function either with no parameters f(), with one f(int), or with two parameters f(int,var). Automatic int/var conversion will not take place here, so make sure that the first parameter (if any) of the function is really an int or global pointer, and the second parameter (if any) is really a var
  • call(1, ...) can be used to prevent that the called function interrupts other functions or I/O operations. This is useful for changing the asset, entering a trade, or writing to a file in a click or callback function.
  • After being run, Function normally removes itself from the scheduler. If 16 was added to Mode, the function stays on the scheduler and keeps being called at the given event.
  • Up to 16 functions can be placed on the scheduler at the same time. They are then run in the order of their placement.

Example:

void calltest(int a,var b)
{
  printf("\nCalled with (%i,%.2f) at bar %i",a,b,Bar);
}

void run()
{
  ...
  call(1,calltest,2,3.45);
  ...
}

See also:

 run, lock, quit, version, wait, click

► latest version online

Übersetzung (Deutsch)

call (int Mode, void* Function, int P1, var P2)

Platziere eine Funktion auf einem Scheduler, um sie bei einem bestimmten Ereignis auszuführen. Zwei Parameter, int und var, können optional an die Funktion übergeben werden.

Parameter:

Mode Führe die Funktion aus: 1 wenn das System idle ist, 2 beim nächsten eingehenden Tick, 4 nach dem Schließen eines Trades, +16 für Wiederholung.
Function Zeiger auf eine vom Skript definierte Funktion.
P1 int-Variable, die als erstes Parameter an die Funktion übergeben wird, oder 0, wenn die Funktion keine Parameter hat.
P2 var-Variable, die als zweites Parameter an die Funktion übergeben wird, oder 0, wenn die Funktion keinen zweiten Parameter hat.
 

Bemerkungen:

  • Function kann eine Funktion sein, die keine Parameter hat f(), eine mit einem f(int), oder eine mit zwei Parametern f(int,var). Automatische int/var Konvertierungen finden hier nicht statt, daher stelle sicher, dass der erste Parameter (falls vorhanden) der Funktion wirklich ein int oder ein globaler Zeiger ist, und der zweite Parameter (falls vorhanden) wirklich ein var ist. 
  • call(1, ...) kann verwendet werden, um zu verhindern, dass die aufgerufene Funktion andere Funktionen oder I/O-Operationen unterbricht. Dies ist nützlich für das Ändern des Assets, das Eintragen eines Trades oder das Schreiben in eine Datei in einer Click- oder Callback-Funktion.
  • Nach dem Ausführen entfernt Function sich normalerweise selbst vom Scheduler. Wenn 16 zu Mode hinzugefügt wurde, bleibt die Funktion im Scheduler und wird weiterhin bei dem angegebenen Ereignis aufgerufen.
  • Bis zu 16 Funktionen können gleichzeitig auf dem Scheduler platziert werden. Sie werden dann in der Reihenfolge ihrer Platzierung ausgeführt.

Beispiel:

void calltest(int a,var b)
{
  printf("\nCalled with (%i,%.2f) at bar %i",a,b,Bar);
}

void run()
{
  ...
  call(1,calltest,2,3.45);
  ...
}

Siehe auch:

 run, lock, quit, version, wait, click

► latest version online