[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 164

 
evgenio писал(а) >>

Es funktioniert nicht.

Entschuldigung. Skript-Code. Es klappt. Ich habe es überprüft.

#property show_confirm

int start() {
   Print("Start");
   double as[5];
   for (int i=0; i<5; i++) {
      as[ i]=Low[ i];
      Print( i," ", as[ i]);
   }
   Print("Stop");
   return(0);
}
 

Bitte sagen Sie mir, wie man den Operator schreibt, der in Millisekunden pausiert. Das vergesse ich immer wieder. Ich erinnere mich, dass ich es einmal vergessen habe und dann lange danach gesucht habe. Auch hier weiß ich nicht mehr, wo ich es gesucht habe. Wahrscheinlich werde ich lange danach suchen müssen.

Bitte sagen Sie mir, wie man das schreibt - ich habe es schon wieder vergessen.

 
FOReignEXchange писал(а) >>

Bitte sagen Sie mir, wie man den Operator schreibt, der in Millisekunden pausiert. Das vergesse ich immer wieder. Ich erinnere mich, dass ich es einmal vergessen habe und dann lange danach gesucht habe. Auch hier weiß ich nicht mehr, wo ich es gesucht habe. Wahrscheinlich werde ich lange danach suchen müssen.

Bitte sagen Sie mir, wie man es buchstabiert, ich habe es schon wieder vergessen.

Schlafen()

 
Vinin >> :

Schlafen()

Oh, richtig, vielen Dank.

 
Guten Tag. Könnten Sie mir bitte sagen, wie ich überprüfen kann, ob eine Position auf dem aktuellen Balken geöffnet ist, und wenn ja, wie ich die Eröffnung neuer Positionen verhindern kann. Ab dem nächsten Takt wird die Beschränkung aufgehoben. Sleep() funktioniert nicht.
 
Alex5757000 >> :
Hallo. Können Sie mir bitte sagen, wie ich überprüfen kann, ob eine Position auf dem aktuellen Balken geöffnet ist, und wenn ja, dann das Öffnen neuer Positionen verhindern kann. Ab dem nächsten Takt wird diese Einschränkung aufgehoben. Sleep() funktioniert nicht.

Wenn Sie eine Position eröffnen, denken Sie an die Zeit

t=TimeCurrent()


Und in der Bedingung für die Geschäftseröffnung eine Bedingung einfügen


if (iBarShift(NULL,0, t)>0)

Das sollte funktionieren, wenn ich mich nicht irre.

 
Alex5757000 >> :
Guten Tag. Können Sie mir bitte sagen, wie ich überprüfen kann, ob eine Position auf dem aktuellen Balken geöffnet ist, und wenn ja, dann das Öffnen neuer Positionen verhindern kann. Ab dem nächsten Takt wird die Beschränkung aufgehoben. Sleep() funktioniert nicht.
bool ЗапретитьТорговлю = false;
for(int k = 0; k < OrdersTotal(); k++ )
{
   OrderSelect( k, SELECT_BY_POS, MODE_TRADES); // Проверяем каждый ордер. 
                                             // Если он открыт после времени открытия текущего бара - запрещаем торговлю.
   if(OrderOpenTime()>Time[0])
   {
      ЗапретитьТорговлю = true;
      break;
   }
}
 
FOReignEXchange und mql-experts, vielen Dank!
 

Etwas merkwürdig:(

Der Indikator befindet sich im Prozess der Gewinn- und Verlustberechnung. Ich möchte die Ergebnisse in Kommentaren ausgeben (Ausgabe auf dem Bildschirm):


      int    TotalProfit_pips    = TotalProfit;
      int    TotalProfit_count   = ( Buy_Profits_Count+ Sell_Profits_Count)-( Buy_Losses_Count + Sell_Losses_Count);
      int    TotalTrades_count   = ( Buy_Profits_Count+ Sell_Profits_Count)+( Buy_Losses_Count + Sell_Losses_Count);
      int    Total_Profits_Count = Buy_Profits_Count+ Sell_Profits_Count;
      int    Total_Losses_Count  = Buy_Losses_Count + Sell_Losses_Count;
//      double WinningRatio        = Total_Profits_Count / TotalTrades_count;

Ohne die letzte Zeile (auskommentiert) funktioniert alles wie es soll.

Aber sobald Sie es unkommentiert lassen, sehen Sie nur noch die Kerzenständer und sonst nichts. Der Neustart von MT hat nicht geholfen.

Was kann das sein?

 
chief2000 >> :

Etwas merkwürdig:(

Der Indikator befindet sich im Prozess der Gewinn- und Verlustberechnung. Ich möchte die Ergebnisse in Kommentaren ausgeben (Ausgabe auf dem Bildschirm):


Ohne die letzte Zeile (auskommentiert) funktioniert alles wie es soll.

Aber sobald Sie es unkommentiert lassen, sehen Sie nur noch die Kerzenständer und sonst nichts. Der Neustart von MT hat nicht geholfen.

Was kann das sein?



Alle Variablen vom Typ int sind Ganzzahlen. Wenn eine ganze Zahl durch eine ganze Zahl geteilt wird, ist die Antwort ebenfalls eine ganze Zahl. Und wenn die erste Zahl kleiner als die zweite ist, wird die Antwort immer 0 sein. Das könnte das Problem sein.

Wenn Sie die Möglichkeit haben, ändern Sie alle Typen auf doppelt.

Grund der Beschwerde: