[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 199

 
nlp2311:

Danke für Ihr Verständnis!):

Also... Erstellen Sie zwei Skripte - hängen Sie sie an die Tasten, die Sie benötigen - und fügen Sie in ihnen eine Globale Variable des Terminals hinzu - die Ihr Expert Advisor periodisch lesen wird - und ändern Sie die Barshift... :-)

Wenn Sie können - Sie können das gleiche über grafische Objekte tun ... z.B. während der Initialisierung des EA werden zwei Textmarken angezeigt - und wenn eine von ihnen verloren geht (Sie haben eine von ihnen mit der Maus während der Arbeit des EA ausgewählt - und die Entf-Taste gedrückt) - dann wird der Zähler Ihres Barsheift auf die eine oder andere Weise belastet werden :-) - Wiederherstellung der gelöschten Markierung auf dem Bildschirm....

 
Aleksander:

Also... Erstellen Sie zwei Skripte - hängen Sie sie an die Tasten, die Sie benötigen - und fügen Sie in ihnen eine Globale Variable des Terminals hinzu - die Ihr Expert Advisor periodisch lesen wird - und ändern Sie die Barshift... :-)

Wenn Sie können - Sie können das gleiche über grafische Objekte tun ... z.B. während der Initialisierung des EA werden zwei Textmarken angezeigt - und wenn eine von ihnen verloren geht (eine von ihnen mit der Maus während der Arbeit des EA ausgewählt - die Entf-Taste gedrückt) - dann wird der Zähler Ihres Barsheift auf die eine oder andere Weise belastet werden :-) - Wiederherstellung der gelöschten Markierung auf dem Bildschirm....


Blödsinn, dann jagen Sie schon die Vertikale über das Diagramm, und zwar relativ dazu.
 
alsu:

Warum will MT eigentlich keine Haken haben?

Schutz. Die Unterklassifizierung funktioniert.
 
Zhunko:
Schutz. Die Untergliederung funktioniert.
then Ersatz WindowProc))
 

Hallo zusammen. Bitte helfen Sie mir, einen Fehler im Code zu finden, ich bin erschöpft - ich kann nichts tun.

Höchstwahrscheinlich im letzten Teil.

#define MagicNum  700283
//-----
ObjectSetText
extern double  Percent        = 0.8;
extern double  TakeProfit     = 55;
extern bool    UseMM          = true;
extern int     PercentMM      = 1;
extern double  Lots           = 0.1;
//+------------------------------------------------------------------+
double GetLots()
 { 
   if (UseMM)
    {
      double a;
      a = NormalizeDouble((PercentMM * AccountFreeMargin() / 100000), 2);      
      if(a > 49.99) return(49.99);
      else if(a < 0.01)
       {
         return(0);
       }
      else return(a);
    }    
   else return(Lots);
 }
//+------------------------------------------------------------------+ 
int CalculateCurrentOrders()
 {
   int orderT = OrdersTotal(), buys = 0, sells = 0;
   //----
   for(int i = 0; i < orderT; i++)
    {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) break;
      if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNum)
       {
         if(OrderType() == OP_BUY)  buys++;
         if(OrderType() == OP_SELL) sells++;
       }
    }
   if(buys > 0) return(buys);
   else if(sells > 0) return(-sells);
   else return(0);
 }
//+------------------------------------------------------------------+  
int start()
 {
        //==============
   int  ticket;
   //-----
   if(CalculateCurrentOrders() == 0) 
    {
      if(AccountFreeMargin() < (1000 * GetLots())) 
         {
            return(0);  
         }
      if(High[1]<High[2] && Low[1]>Low[2] && (High[1]-Low[1])/(High[2]-Low[2])<Percent)
       {
         ticket=OrderSend(Symbol(), OP_BUYSTOP, GetLots(), High[1], 3, Low[2], High[1] + TakeProfit * Point, "iB", MagicNum, 0, Green);
         ticket=OrderSend(Symbol(), OP_SELLSTOP, GetLots(), Low[1], 3, High[2], Low[1] - TakeProfit * Point, "iB", MagicNum, 0, Red);
       }
    }
 }
 
SkinnerDE:

Hallo zusammen. Bitte helfen Sie mir, einen Fehler im Code zu finden, ich bin erschöpft - ich kann nichts tun.

Höchstwahrscheinlich im letzten Teil.


Was ist das Problem, lässt es sich nicht kompilieren oder so?
 
Übrigens haben Sie vergessen, die Lose mit der Hebelwirkung zu multiplizieren. Daher wird eine Variable in Ihrer GetLots()-Funktion höchstwahrscheinlich 0 sein (es sei denn, Sie haben eine Million auf Ihrem Konto).
 

{' - linke Klammer erwartet C:\DOCUME~1\9226~1\0016~1\Forex\MACD_N~1.MQ4 (11, 2)

'{' - Semikolon erwartet C:\DOCUME~1\9226~1\0016~1\Forex\MACD_N~1.MQ4 (11, 2)

hier ist

 
//+------------------------------------------------------------------+
double GetLots()
 { 
   if (UseMM) {
      double a;
      a = NormalizeDouble((PercentMM * AccountFreeMargin() / 100000), 2);      
      if(a > 49.99) return(49.99);
      if(a < 0.01)  return(0);
      return(a);
    }    
 return(Lots);
 }
Aus irgendeinem Grund mit Klammern und yelsev vollgestopft :-)
 
Nichts hat sich geändert, dieselben Fehler(((