[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 345

 

Guten Tag!

Dies ist eine einfache Frage, aber irgendetwas funktioniert nicht, wenn Sie bei der Eröffnung einer Order keinen StopLoss setzen, wie schreiben Sie ihn richtig.

Ich habe versucht, NULL und 0,00000 einzugeben, aber beim Versuch, einen Auftrag zu eröffnen , tritt Fehler 130 auf.

Können Sie mir bitte sagen, wie man das macht?

 
Boneshapper:

Guten Tag!

Dies ist eine einfache Frage, aber irgendetwas funktioniert nicht, wenn Sie bei der Eröffnung einer Order keinen StopLoss setzen, wie schreiben Sie ihn richtig.

Ich habe versucht, NULL und 0,00000 einzugeben, aber beim Versuch, einen Auftrag zu eröffnen, tritt Fehler 130 auf.

Können Sie mir bitte sagen, wie man das macht?

0 sollte funktionieren

Wie lauten die anderen Parameter? und wie viele Stellen sind 4 oder 5?

 
Boneshapper:

Guten Tag!

Dies ist eine einfache Frage, aber etwas funktioniert nicht, wenn Sie nicht StopLoss setzen, wenn eine Bestellung zu öffnen, wie man es richtig zu schreiben.

Ich habe versucht, NULL und 0,00000 einzugeben, aber beim Versuch, einen Auftrag zu eröffnen, tritt Fehler 130 auf.

Können Sie mir bitte sagen, wie man das macht?


Schreiben Sie es so: 0 ist, wo es in der Eröffnung fi gesetzt ist, außerdem in der ME-Editor zu diesem fiu OrderSend () stehen die Cursor, drücken Sie F1 und sorgfältig lesen Sie den Inhalt auf diese Hilfe.

z.B..

OrderSend(Symbol(), OP_SELL, Lots, Bid, 0, 0, "старт", MagicNumber);
 

Ich frage mich, woher die Variable up den Wert left hat!

Bitte sagen Sie mir, ob es einen Fehler im Code gibt oder ob ich etwas nicht verstehe.

int up=0;
int init()
  {
//----
   up=0;
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+


int deinit()
  {
//----
   //Print(up);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   int i;
   int c=0;
   for (i=0;i<=3;i++)
   {
   if (iOpen("EURUSD",PERIOD_M5,i)>iOpen("EURUSD",PERIOD_M5,i+1))
   c++;
   
   }
   if (c==4)
   {
   up=up+1;
   }
   Print("c=",c,"up=",up);
   //----
   return(0);
  }
//+------------------------------------------------------------------+
 
solegs049:

Ich frage mich, woher die Variable up den Wert left hat!

Bitte sagen Sie mir, ob es einen Fehler im Code gibt oder ob ich etwas nicht verstehe.


UP kann bei jedem Tick inkrementieren. Sie sollte in start() initialisiert werden.
 

Ich vergaß zu erwähnen, dass ich an den Barrenöffnungen getestet habe.

der erste Wert ist bereits links und sollte 0 sein

und in start(), wenn ich es initialisieren (up) wird zurückgesetzt werden, aber ich brauche, um zu zählen, wie viele Male gab es (in diesem Code 4) Sequenzen

über einen Zeitraum von mehreren Jahren

 
Helfen Sie mir, diese Frage zu verstehen:

Die Funktion ArrayMinimum(), wenn sie auf Tick-Volumen angewendet wird, definiert einen Balken mit dem minimalen Volumenwert und gibt dessen Index zurück. Das Problem ist folgendes: Ich muss den Index des Balkens ermitteln, der ebenfalls ein minimales Volumen hat, aber höher ist als der von dieser Funktion ermittelte (d. h. das zweite "Minimum"). Wie lässt sich das bewerkstelligen?
 
-xlapex-:
Bitte helfen Sie mir bei dieser Frage:

Die Funktion ArrayMinimum() definiert, wenn sie auf Tick-Volumen angewendet wird, einen Balken mit minimalem Volumenwert und gibt dessen Index zurück. Das Problem ist folgendes: Ich muss den Index des Balkens ermitteln, der ebenfalls ein minimales Volumen hat, aber höher ist als der von dieser Funktion ermittelte (d. h. das zweite "Minimum"). Wie lässt sich das bewerkstelligen?


Indem man die Zellen des Arrays in einer Schleife durchläuft und sie mit dem bereits gefundenen Minimum vergleicht. Das Problem ist, dass es mehr als einen identischen Wert geben kann. Daher ist es besser zu entscheiden, ob der gewünschte Wert näher am Ende oder am Anfang des Arrays liegt, und die Schleife zu unterbrechen, sobald er gefunden wurde.
 
drknn:

Durchlaufen Sie die Zellen des Feldes und vergleichen Sie sie mit dem bereits gefundenen Minimum. Das Problem ist, dass es mehr als einen identischen Wert geben kann. Daher ist es besser, zu entscheiden, ob der benötigte Wert am Ende oder am Anfang des Arrays liegt, und die Schleife zu unterbrechen, sobald er gefunden wurde.

Wir durchlaufen die Volumenwerte und finden das Minimum. Wie findet man den Index dieses Balkens?

Die von mir verwendete Schleife sieht wie folgt aus:

extern int Quant_Bars=5;
//-----------------------
int start()
{
int i;
double Minimum=10000;

for(i=0;i<=Quant_Bars-1;i++)
{
if (Volumen[i]< Minimum)
Minimum=Volumen[i];
}
Alert("Minimum ",Minimum);
return;
}

 

Kann mir jemand sagen, wie man am einfachsten alle (oder nicht alle, aber einige) seiner Beiträge im Forum in einem bestimmten Thema findet?