Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 536

 
nekadabra:
Können Sie mir sagen, ob Win 8 mit MT 4 und MT 5 kompatibel ist? Ich frage, weil ich einen Mac habe und mich frage, mit welchem Betriebssystem ich einen PC kaufen soll. Eine Person hat mir sogar einen Screenshot gezeigt, auf dem MT 4 auf 8 läuft. Aber da einige Kameraden behaupten, es gäbe keine vollständige Kompatibilität, muss ich das klarstellen... Danke.

Win 8 ist mit MT 4 und 5 kompatibel.
 

Guten Tag!

Es gibt ein Problem mit der Software des Indikators. Der Autor behauptet, dass der Indikator funktioniert, aber in Wirklichkeit wird die Grafik nicht angezeigt - wo liegt das Problem?

#property copyright "Copyright © 2006, Profitrader."
#property link      "profitrader@inbox.ru"
//----
#property indicator_separate_window
#property indicator_buffers 1
#property  indicator_color1 Red
//---- input parameters
extern int FastMAPeriod = 3;
extern int SlowMAPeriod = 15;
extern string SecondMarket = "GOLD";
extern bool MarketsDirectCorrelation = true;
//---- buffers
double [];
double Spread[];
double FastEMA[];
double SlowEMA[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string Correlation = "Invert Correlation";
   if(MarketsDirectCorrelation == TRUE) 
       Correlation = "Direct Correlation";
   IndicatorShortName("Will-Spread(" + FastMAPeriod + "," + SlowMAPeriod + 
                      "," + SecondMarket + "," + Correlation + ")");
   IndicatorDigits(Digits + 2);
   IndicatorBuffers(4);
   SetIndexBuffer(0, WillSpread);
   SetIndexBuffer(1, Spread);
   SetIndexBuffer(2, FastEMA);
   SetIndexBuffer(3, SlowEMA);
   SetIndexStyle(0, DRAW_LINE);
   SetIndexLabel(0, "W-S");
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int i, counted_bars = IndicatorCounted();
//---- check for possible errors
   if(counted_bars < 0) 
       return(-1);
//---- last counted bar will be recounted
   if(counted_bars > 0) 
       counted_bars--; 
   int limit = Bars - counted_bars;
   if(MarketsDirectCorrelation == TRUE)
     {
       for(i = 0; i < limit; i++)
           Spread[i] = iClose(SecondMarket, 0, i) / Close[i]*100;
     }
   else
     {
       for(i = 0; i < limit; i++)
           Spread[i] = Close[i] / iClose(SecondMarket, 0, i)*100;
     }
   for(i = limit - 1; i >= 0; i--)
     {
       FastEMA[i] = iMAOnArray(Spread, 0, FastMAPeriod, 0, MODE_EMA, i);
       SlowEMA[i] = iMAOnArray(Spread, 0, SlowMAPeriod, 0, MODE_EMA, i);
       WillSpread[i] = FastEMA[i] - SlowEMA[i];
     }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
AlexMikash:

Guten Tag!

Es gibt ein Problem mit dem Indikatorprogramm. Der Autor behauptet, dass der Indikator funktioniert, aber in Wirklichkeit wird das Diagramm nicht angezeigt - wo liegt das Problem?

Das Problem liegt in diesen Zeilen

   int i, counted_bars = IndicatorCounted();
//---- check for possible errors
   if(counted_bars < 0) 
       return(-1);
//---- last counted bar will be recounted
   if(counted_bars > 0) 
       counted_bars--; 
   int limit = Bars - counted_bars;
Der neue Compiler gibt beim Ausführen einen Fehler, aber beim Kompilieren ist alles in Ordnung. Lassen Sie den Autor das Programm im Debugger laufen und sehen Sie das Problem sofort.
 
AlexeyVik:

Das Problem liegt in diesen Zeilen

Der neue Compiler gibt beim Ausführen einen Fehler aus, aber beim Kompilieren ist alles in Ordnung. Lassen Sie den Autor das Programm im Debugger laufen und sehen Sie das Problem sofort.


Es gibt kein Problem, alles funktioniert. Es reicht aus, die Pufferbeschreibung wiederherzustellen

//---- buffers
double [];
double Spread[];
double FastEMA[];
double SlowEMA[];

Das Problem liegt beim Standardwerkzeug. Wahrscheinlich gibt es kein GOLD-Werkzeug, wenn Sie ein anderes Werkzeug einsetzen, ist es in Ordnung.


 
Was bedeutet das gelbe Signalübermittlungssymbol im Metatrader? Dass das Signal vorübergehend nicht gesendet wird? Und warum sind einige Signale, die ich jetzt im Terminal sehen kann, derzeit nicht auf mql5.com aufgeführt?
 
Vinin:


Kein Problem, alles funktioniert. Es ist ausreichend, die Pufferbeschreibung wiederherzustellen

Das Problem liegt beim Standardwerkzeug. Höchstwahrscheinlich gibt es kein GOLD-Werkzeug, wenn Sie ein anderes Werkzeug einsetzen, ist alles in Ordnung.



Die Sache ist die, dass ich mich wirklich für das GOLD-Tool interessiere, wie kann ich es an das Terminal anschließen?
 
AlexMikash:

Die Sache ist die, dass ich mich wirklich für das GOLD-Tool interessiere, wie kann ich es an das Terminal anschließen?

Entweder ist sie da oder nicht. Das hängt ganz von der Maklerfirma ab. Unabhängig davon, ob sie ein solches Werkzeug bereitstellt oder nicht.
 
Vinin:

Entweder ist sie da oder nicht. Es hängt alles von der DC ab. Unabhängig davon, ob sie ein solches Werkzeug bereitstellt oder nicht.


Danke, das Bild ist klar!

 

Guten Tag. Ich lerne gerade, wie man Indikatoren in einen EA schraubt, aber bis jetzt nicht sehr erfolgreich.

1 - Wenn ich den EA durch einen Tester laufen lasse, erscheinen die Indikatorbeschriftungen erst, wenn ich ihn stoppe.

2 - Ich verstehe auch nicht, was die Bedingungen sein sollten und wie sie geschrieben sind.

Ich möchte meinen EA bitten, auf der Grundlage eines Indikators zu handeln, ich muss nur wissen, wie ich den Indikator an meinen EA anhängen kann.

Basierend auf dem Pfeilindikator, der nach oben oder unten zeigt BS_Living Now ver #1.mq4 https://www.mql5.com/ru/code/11014#50910

#property



 
 indicator_chart_window //#property indicator_buffers 4 //#property indicator_color1 Rot //#property indicator_color2 Gelb //#property indicator_color3 Rot //#property indicator_color4 Gelb ////******************// Indikatorparameter Eingabeextern int BQuant=48; // - Anzahl der gezählten Balken //******************// Indikatorkomponenten
                                        // sonst // { // if(iHigh(NULL,0,t)>=High[iHighest(NULL,0,2,BQuant,t+1)] && // iHigh(NULL,0,t)>iHigh(NULL,0,t-1)) // { // ExtrimHi[t] =iHigh(NULL,0,t); // Break_Detect(t,1);                               //******************// Haltepunkt-Erkennung } // // if(iLow(NULL,0,t)<=Low[iLowest(NULL,0,1,BQuant,t+1)] && // iLow(NULL,0,t)<iLow(NULL,0,t-1)) // { // ExtrimLo[t] =iLow(NULL,0,t);                                         // Break_Detect(t,-1); //******************// Haltepunkt-Erkennung } // } // return(0);                                                                 // } //double Break_Detect(int a,int Signal) //***********************************// Ermittlung der Haltepunkte { // for(int r=1; r<BQuant; r++) // // { // if(Signal==1 && iHigh(NULL,0,a+r)<High[iHighest(NULL,0,2,BQuant,a+r+1)]) // {BreakHi[a] =Low[iLowest(NULL,0,1,r+2,a-1)]; r=BQuant;}               // if(Signal==-1 && iLow(NULL,0,a+r)>Low[iLowest(NULL,0,1,BQuant,a+r+1)]) // {BreakLo[a] =High[iHighest(NULL,0,2,r+2,a-1)]; r=BQuant;}             // } return(0); //  }

Hier ist mein gestarteter Expert Advisor
.

extern double Lot=0.1; extern int Magic=0; extern int Stop=98; extern int Take=70; extern int Slip=10; extern int BQuant=48; // - die Anzahl der berechneten Balken int start()
{
double S1=iCustom(NULL, 0, "BS_Living Now",BQuant,0,0);
OrderSend(Symbol(), OP_SELL,Lot, Bid, Slip,Ask+Stop*Point,Ask-Take*Point, "SELL", Magic, 0,Red ); OrderSend(Symbol(), OP_BUY, Lot, Ask, Slip,Bid-Stop*Point,Bid+Take*Point, " BUY", Magic, 0,Blue);

}
 

Wenn Sie ein einfaches Skript schreiben, das ein Objekt vom Typ OBJ_ARROW_RIGHT_PRICE anlegt und es dann löscht, wird das Objekt nicht gelöscht. Außerdem stellt sich beim Befehl ObjectType plötzlich heraus, dass das erstellte Objekt nicht vom Typ OBJ_ARROW_RIGHT_PRICE (==36) ist, sondern ==22, d.h. ein einfacher "Pfeil nach oben" !!! Bin ich der Einzige, der das hat, oder haben das alle?

Es gab bereits Meinungen von "Experten" zu diesem Thema: wie die Hilfe zu lesen, oder nicht genug Speicher :) .

Speicher ist genug.

Es scheint, dass der Befehl ObjectCreate ein Objekt des Typs OBJ_ARROW_RIGHT_PRICE zeichnet , das nicht mit dem Befehl ObjectsDeleteAll(0,OBJ_ARROW_RIGHT_PRICE) entfernt werden kann, wohl aber mit dem Befehl ObjectsDeleteAll(0,22), als hätten wir nicht das richtige Preisschild, sondern einen "Pfeil nach oben". Wessen Schuld?

#property copyright "Copyright 2014, MetaQuotes Software Corp."

#property link "https://www.mql5.com"

#Eigenschaft Version "1.00"

#Eigenschaft streng

//+------------------------------------------------------------------+

//| Skriptprogramm-Startfunktion |

//+------------------------------------------------------------------+

void OnStart()

{

Alert(") ;

Alert("obj_arrow_right_price=",OBJ_ARROW_RIGHT_PRICE) ; // ==36

ObjectCreate("MyArrow", OBJ_ARROW_RIGHT_PRICE,0,Time[1],Open[1]) ; //

Alert("objectTipe=", ObjectType("MyArrow") ) ; // ==22 !

ResetLastError() ;

Alert("script delete arrow right price=",ObjectsDeleteAll(0,OBJ_ARROW_RIGHT_PRICE)," lastError=",GetLastError() ) ; // Anzahl der gelöschten Objekte ==0, Fehler ==0

}

Um ein Objekt des Typs OBJ_ARROW_RIGHT_PRICE zu löschen, verwenden Sie den Befehl ObjectsDeleteAll(0,OBJ_ARROW), wobei Sie darauf achten müssen, das Unterfenster anzugeben.

p.s. Ein Objekt vom Typ OBJ_ARROW ist ein beliebiger "Pfeil", nicht nur ein "Pfeil nach oben". ObjectCreate(...OBJ_ARROW...) erzeugt sofort einen "Pfeil nach oben". Warum steht das dann nicht in der Hilfe?