Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 799

 
Artyom Trishkin:
Der Müll befindet sich in den Puffern. Zuerst müssen Sie einen leeren Wert in alle zu zeichnenden Puffer eingeben (wenn es sich um Pfeilpuffer handelt), und erst dann den Indikator berechnen. Ich kann den Code von meinem Handy aus nicht sehen, ich kann es nicht genau sagen.

Sie meinen, tun ArrayInitialize zuerst?

 
Roman Sharanov:

Sie meinen, tun ArrayInitialize zuerst?

Dies ist bereits der Fall.
In der Indikatorschleife müssen Sie den Puffer einem "leeren Wert" in der Pufferzelle mit dem Schleifenindex zuordnen.
 
Artyom Trishkin:
Dies ist bereits der Fall.
In der Indikatorschleife müssen Sie der Pufferzelle mit dem Schleifenindex einen "leeren Wert" zuweisen.

OK, vielen Dank.

 
Artyom Trishkin:

Ja. Studieren Sie das Beispiel:

Danke, ich werde die Quelle des Wissens aufsuchen :-)


Muss jedes Array explizit mit einem Nullwert versehen werden?

Dieser Unfug lässt sich mit PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0) ?

 
psyman:

Danke, ich werde die Wissensquelle aufsuchen :-)



Ist es notwendig, jedes Array explizit auf einen Nullwert zu setzen?

Kann dieser Unsinn mit PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0) behoben werden?

Setzen Sie den Cursor auf den Funktionsnamen im Editor und drücken Sie F1, um ein Wunder zu sehen.
 
Ich habe den Bot heruntergeladen, worauf kann dieser Fehler zurückzuführen sein?
Alle, die den Bot installiert haben, funktionieren, nur ich habe das Problem. Ich habe das Terminal neu installiert und als Administrator geöffnet, nichts hilft.

 
Keine Fehler oder Warnungen während der Kompilierung. Aber die Positionen öffnen sich nicht (ich habe nur 1 Position zum Kauf eröffnet und sie an der Take Line geschlossen).

Ich weiß noch nicht, was das Problem ist.

//+------------------------------------------------------------------+
//|                                    Test advisor on iDeMarker.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                         https:/goga342@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//------------------параметры советника -------------------------------
extern double lots=0.01; //
extern int Magic=1111678111;
extern int Slippage=1;
//double sell_level=0.7;
//double buy_level=0.3;

extern double StopLoss=50;
extern double TakeProfit=50;
extern double TrailingStop=30;
double SL,TP;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   if(Digits==3 || Digits==5)
     {
      TakeProfit *=10;
      StopLoss   *=10;
      Slippage   *=10;
     }
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int start()
  {
   int ticket;
// int cnt,total;

// открытие продаж

   if(CountSell()==0 && iCustom(NULL,0,"ZigZag_Rosh",12,5,3,1,0)==Low[0] && iCustom(NULL,0,"ZigZag_Rosh",48,20,12,1,0)==Low[0])
     {
      SL = NormalizeDouble(Bid+StopLoss*Point, Digits);
      TP = NormalizeDouble(Bid-TakeProfit*Point, Digits);
        {

         ticket=OrderSend(Symbol(),OP_SELL,lots,Bid,3,0,Bid-TakeProfit*Point,"macd sample",16384,0,Red);
         if(ticket>0)
           {
            // закрытие продаж
            if(CountSell()>0 && iCustom(NULL,0,"ZigZag_Rosh",12,5,3,0,1)==High[0] && iCustom(NULL,0,"ZigZag_Rosh",48,20,12,0,1)==High[0])
              {
               for(int i=OrdersTotal()-1; i>=0; i--)
                 {
                  if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
                    {
                     if(OrderMagicNumber()==Magic && OrderType()==OP_SELL)
                        if(OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,clrNONE))
                           Print("Ошибка открытия ордера на покупку !");
                    }
                 }
              }
           }
        }
     }
// открытие покупок

   if(CountBuy()==0 && iCustom(NULL,0,"ZigZag_Rosh",12,5,3,0,1)==High[0] && iCustom(NULL,0,"ZigZag_Rosh",48,20,12,0,1)==High[0])
     {
      TP = NormalizeDouble(Ask+TakeProfit*Point, Digits);
      SL = NormalizeDouble(Ask-StopLoss*Point, Digits);
        {
         ticket=OrderSend(Symbol(),OP_BUY,lots,Ask,3,0,Ask+TakeProfit*Point,"macd sample",16384,0,Green);
         if(ticket>0)
           {
            // закрытие покупок    
            if(CountBuy()>0 && iCustom(NULL,0,"ZigZag_Rosh",12,5,3,1,0)==Low[0] && iCustom(NULL,0,"ZigZag_Rosh",48,20,12,1,0)==Low[0])
              {
               for(int i=OrdersTotal()-1; i>=0; i--)
                 {
                  if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
                    {
                     if(OrderMagicNumber()==Magic && OrderType()==OP_BUY)
                        if(!OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,clrNONE))
                           Print("Ошибка открытия ордера на продажу!");
                    }
                 }
              }
           }
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
int CountSell()//проверкна открытие ордеров на продажу
  {
   int count=0;

   for(int trade=OrdersTotal()-1; trade>=0; trade--)
     {
      if(OrderSelect(trade,SELECT_BY_POS,MODE_TRADES)==true)
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType()==OP_SELL)
           {
            if(OrderType()==OP_SELL)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
int CountBuy()// проверкна открытие ордеров на покупку
  {
   int count=0;
   for(int trade=OrdersTotal()-1; trade>=0; trade--)
     {
      if(OrderSelect(trade,SELECT_BY_POS,MODE_TRADES)==true)
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType()==OP_BUY)
           {
            if(OrderType()==OP_BUY)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
 
Roman Sharanov:
Ich habe den Roboter heruntergeladen. Worauf kann dieser Fehler zurückzuführen sein?
Ich weiß nicht, was ich damit anfangen soll. Ich habe das Terminal neu installiert, es als Administrator geöffnet, nichts hilft.

Es bleibt nur noch die Möglichkeit, das Betriebssystem neu zu installieren oder... wissen Sie was.




Sie haben einen falschen Eindruck. Ich meinte den Expert Advisor.

 
Alexey Viktorov:

Es bleibt nur noch die Möglichkeit, das Betriebssystem neu zu installieren oder... wissen Sie was.




Sie haben einen falschen Eindruck. Ich meinte den Berater.

Was ist der Grund dafür?
 
Roman Sharanov:
Was ist der Grund dafür?

In solchen Fällen versuche ich nicht, das Problem zu lösen oder zu beheben. Ich werfe sie immer ohne Bedauern weg und vergesse sie.

Grund der Beschwerde: