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

 

drknn, ist dies eine Begrenzung der Anzahl der Aufträge?

int SchBuy(int MAGIC){
  string SMB=Symbol();
  int SchBuy=0;
  int i;
  for ( i=OrdersTotal()-1; i>=0; i--) {
    if (!OrderSelect( i, SELECT_BY_POS, MODE_TRADES)) { WriteError( i);}
    else {
      if(OrderSymbol()!= SMB || OrderMagicNumber()!= MAGIC){ continue;}
      if(OrderType()==OP_BUY){ 
        SchBuy++;
      }  
    }
  }
  return( SchBuy);
}                  
//==================================================================================================


//=========== SchSell()  ===============================
//  Функция возвращает количество Sell-ордеров
//  SchSell  - счётчик Sell ордеров
//-----------------------------------------------------------
int SchSell(int MAGIC){
  string SMB=Symbol();
  int SchSell=0;
  int i;
  for ( i=OrdersTotal()-1; i>=0; i--){
    if (!OrderSelect( i, SELECT_BY_POS, MODE_TRADES)) { WriteError( i);}
    else {
      if(OrderSymbol()!= SMB || OrderMagicNumber()!= MAGIC){ continue;} 
      if(OrderType()==OP_SELL){
        SchSell++;
      }
    }
  }
 return( SchSell);     
}                  
 
IlyaA >> :


Hey Mann kannst du so oder so sprechen :) >> Ich breche mir die Augen. :)

:-)) Ja, ich kann Sie mögen, aber ich glaube nicht, dass jeder uns mögen kann, als ...... ya dolgen pusat na translute, tak na rabote gde rabotayu vse klavu s Uspanskoj raskladkoj. Uzvunyajte.

 
Ibiss >> :

drknn, ist dies eine Begrenzung der Anzahl der Aufträge?



Nun, ein Handelssignal kommt herein. Angenommen, es kommt ein Signal zur Eröffnung eines Kaufauftrags. Bevor wir ihn öffnen, berechnen wir die Kaufaufträge für unser Paar neu. Wenn es keine gibt, eröffnen wir einen Auftrag. Wenn es mindestens einen Auftrag gibt, wird der zweite Kaufauftrag nicht auf das gleiche Signal hin eröffnet.

Diese beiden Unterprogramme sind lediglich Auftragszähler.

Übrigens ist die Begrenzung von Aufträgen auf eine einzelne Kerze mit Hilfe von Zählern nicht die einzige Möglichkeit, um eine Häufung von Aufträgen auf eine einzelne Kerze zu vermeiden.

 

Bei der Kompilierung tritt ein Fehler auf:

WriteError" - Funktion ist nicht definiert

vielleicht sollte "WriteError" in globalen Variablen deklariert werden? ich verstehe es noch nicht)

danke)


 
Gestern las ich "Gap 1_500 or how to dump a DC" und ein ähnlicher Gedanke kam mir in den Sinn. Kurz gefasst. Wie wäre es, wenn wir Positionen auf gut korrelierte Instrumente (Koeffizient => -1 und 1) in beiden Richtungen eröffnen. Der Verlust aus dem ersten Instrument wird durch den Gewinn aus dem zweiten Instrument ausgeglichen, und es kann noch etwas Geld übrig bleiben. Aber etwas sagt mir, dass die Idee nicht neu ist. Bitte kommentieren Sie dies.
 

Ich schrieb einen Indikator, es zeigt die High-Low-Wert als ein Histogramm B, wenn der Wert höher ist als die vorherige - grün, unten - rot. aber der Indikator ist nicht in der thermischen angezeigt, was ist der Fehler?

Der Code des Indikators:

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red

int BarsCount = 10000;

//---- buffers
double buf_1[], buf_2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
    SetIndexStyle(0,DRAW_HISTOGRAM);
    SetIndexBuffer(0, buf_1);
    SetIndexStyle(1,DRAW_HISTOGRAM);
    SetIndexBuffer(1, buf_2);
    //----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
int i, HL_0, HL_1;
//----
   int limit = BarsCount;
    if ( limit > Bars)
        limit = Bars;
        
   for ( i = limit; 0 <= i; i--) {

        HL_0 = High[ i]-Low[ i];
        HL_1 = High[ i-1]-Low[ i-1];
        
        if( HL_0> HL_1) buf_1[ i] = HL_0;
        if( HL_0< HL_1) buf_2[ i] = HL_0;
        }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
Ibiss >> :

Bei der Kompilierung tritt ein Fehler auf:

WriteError" - Funktion ist nicht definiert

vielleicht sollte "WriteError" in globalen Variablen definiert werden? ich verstehe es noch nicht)

danke)



Das ist richtig, Sie haben die Funktion WriteError(i) nicht. Dies ist meine persönliche benutzerdefinierte Funktion zur Fehlerbehandlung
 
Und warum? Die Funktion Sleep() funktioniert in der Testversion nicht.
 
AndBar писал(а) >>

:-)) Ja, ich kann Sie mögen, aber ich glaube nicht, dass jeder uns mögen kann, als ...... ya dolgen pusat na translute, tak na rabote gde rabotayu vse klavu s Uspanskoj raskladkoj. Uzvunyajte.

kogda je budet MQL5?

>> dieser Thread wird Ihnen helfen. ALLE Varianten sind hier verfügbar.

 
RomanS >> :
Und warum? Die Funktion Sleep() funktioniert in der Testversion nicht.

Wenn ich mich nicht irre, habe ich irgendwo gelesen, dass das nicht funktioniert.

Grund der Beschwerde: