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

 
NTH >> :

Hallo.

Warum wird der Stopp bei Kaufpositionen nicht übertragen? Bei Verkaufspositionen funktioniert alles.

if(AufträgeSumme()>0)
{
if(Gebot==Buy||Bid==Busell)
{
OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES);
OrderModify(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(), 0, Blue);
}
zurück(0);
}

was ist eigentlich if(Bid==buy||Bid==busell),....??????? können Sie sagen.

und wahrscheinlich sollte die folgende Bedingung sein:

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*Anzahl der Punkte,OrderTakeProfit(),0,Blue)

 

if(Gebot==Buy||Bid==Busell)

double bubuy ist ein Niveau, bei dessen Berührung der Stop der Kaufposition auf das Eröffnungsniveau dieser Position verschoben wird.

double busell ist das Niveau für eine Verkaufsposition.

 
NTH >> :

if(Gebot==Buy||Bid==Busell)

double bubuy ist ein Niveau, bei dessen Berührung der Stop der Kaufposition auf das Eröffnungsniveau dieser Position verschoben wird.

double busell ist ein Level für eine Verkaufsposition.

überprüfen Sie trotzdem den Zustand.

 

Ich habe es herausgefunden

if(OrdersTotal()>0)
{
OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES);
if(OrderStopLoss()==OrderOpenPrice()) return(0);
if (OrderType()==OP_BUY) if(Bid>=buy) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(), 0, Blue);
if(OrderType()==OP_SELL) if(Bid<=busell) OrderModify(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(), 0, Red);
return(0);
}

Und eine andere Frage, wenn Daten von mehreren TFs genommen werden, ist es notwendig für den EA, alle diese Charts (in verschiedenen) zu öffnen, wenn es online arbeitet, oder kann ich nur ein Diagramm nehmen und den EA auf es setzen? Angenommen, der EA arbeitet auf EUR/OD nimmt Daten von H1 H4 D1 Frames für die Analyse, und es (der EA) ist an H1, sollte ich in anderen Charts H4 und D1 öffnen?

 
NTH >> :

Ich habe es herausgefunden

if(AufträgeSumme()>0)
{
OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES);
if(OrderStopLoss()==OrderOpenPrice()) return(0);
if(OrderType()==OP_BUY) if(Bid>=buy) OrderModify(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(), 0, Blue);
if (OrderType()==OP_SELL) if(Bid<=busell) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(), 0, Red);
zurück(0);
}

Und eine andere Frage, wenn mein EA Daten von mehreren TFs nimmt, muss ich alle diese TFs geöffnet sein, wenn EA online arbeitet (in verschiedenen Charts) oder kann ich nur ein Diagramm nehmen und EA auf es setzen? Angenommen, die EA arbeitet auf EUR/OD nimmt Daten von H1 H4 D1 Frames für die Analyse, und an H1, muss es in anderen Charts H4 und D1 öffnen?

Sie müssen keine anderen Charts mit Zeitrahmen öffnen... Der EA berechnet alle Daten aus den Zeitfenstern selbst.

 

Hallo, könnten Sie mir bitte sagen, wie ich den Indikator https://www.mql5.com/ru/code/7361 reparieren kann.

Die Sache ist die, dass das Signal auf dem aktuellen Balken erscheint und bei jedem Ticken ein Tonsignal ertönt. Ich möchte, dass nach dem Schließen des Balkens ein Ton ertönt, wenn das Signal nicht aufgehoben wird.

//+------------------------------------------------------------------+
//| SilverTrend_Signal.mq4                                           |
//| Ramdass - Conversion only                                        |
//+------------------------------------------------------------------+
#property copyright "SilverTrend  rewritten by CrazyChart"
#property link      "http://viac.ru/"
//----
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Aqua
#property indicator_color2 Violet
//---- input parameters
extern int RISK=3;
extern int CountBars=350;
extern int NumberofAlerts=2;
int SSP=9;
int counter=0;
//---- buffers
double val1[];
double val2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,233);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,234);
   SetIndexBuffer(0, val1);
   SetIndexBuffer(1, val2);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| SilverTrend_Signal                                               |
//+------------------------------------------------------------------+
int start()
  {
   if ( CountBars>=Bars) CountBars=Bars;
   SetIndexDrawBegin(0,Bars- CountBars+ SSP);
   SetIndexDrawBegin(1,Bars- CountBars+ SSP);
   int i, shift, counted_bars=IndicatorCounted();
   int i1, i2, K;
   double Range, AvgRange, smin, smax, SsMax, SsMin, price;
   bool uptrend, old;
//----
   if(Bars<= SSP+1) return(0);
//---- initial zero
   if( counted_bars< SSP+1)
     {
      for( i=1; i<= SSP; i++) val1[ CountBars- i]=0.0;
      for( i=1; i<= SSP; i++) val2[ CountBars- i]=0.0;
     }
//----
   K=33- RISK;
   for( shift= CountBars- SSP; shift>=0; shift--)
     {
      Range=0;
      AvgRange=0;
      for( i1= shift; i1<= shift+ SSP; i1++)
        { AvgRange= AvgRange+MathAbs(High[ i1]-Low[ i1]);
        }
      Range= AvgRange/( SSP+1);
//----
      SsMax=High[ shift]; SsMin=Low[ shift];
      for( i2= shift; i2<= shift+ SSP-1; i2++)
        {
         price=High[ i2];
         if( SsMax< price) SsMax= price;
         price=Low[ i2];
         if( SsMin>= price)  SsMin= price;
        }
      smin= SsMin+( SsMax- SsMin)* K/100;
      smax= SsMax-( SsMax- SsMin)* K/100;
      val1[ shift]=0;
      val2[ shift]=0;
      if (Close[ shift]< smin)
        {
         uptrend=false;
        }
      if (Close[ shift]> smax)
        {
         uptrend=true;
        }
      if ( uptrend!= old && uptrend==true)
        {
         val1[ shift]=Low[ shift]- Range*0.5;
         counter=0;
         if ( shift==0 && counter<= NumberofAlerts)
           {
            Alert("Silver Trend ",Period()," ",Symbol()," BUY");
            counter= counter+1;
           }
        }
      if ( uptrend!= old && uptrend==false)
        {
         counter=0;
         val2[ shift]=High[ shift]+ Range*0.5;
         if ( shift==0 && counter<= NumberofAlerts)
           {
            Alert("Silver Trend ",Period()," ",Symbol()," SELL");
            counter= counter+1;
           }
        }
      Comment( shift);
      old= uptrend;
     }
   return(0);
  }
//+------------------------------------------------------------------+
 
Menschen trafen, die ein Experte Martingail Zwei Hände 2.07 genau 2.07 oder einfach nur 2.7 kann nicht ganz zu Recht schrieb den Namen, wie es von einer Website zusammen mit einem Bündel von anderen getestet 2 Woche heruntergeladen und er tat mehr als 100% zwei Wochen konestno wenig, aber ich hatte keine Zeit, um es weiter zu testen, weil ich das Laufwerk zu bewirtschaften hatte. Darf man sich treffen?
 
Ich habe auch eine Bitte, in diesem Tipp Gewinn zu setzen, ich verstehe es nicht, bitte.
Dateien:
 

Grüße an alle!


Helfen Sie mir, das folgende Problem zu lösen.

Es gibt einen benutzerdefinierten Indikator, der Signale auf dem Diagramm zeichnet.

Die Signale werden mit einer Verzögerung angegeben, die ich versuche, für jedes Signal zu bestimmen und daneben auf das Diagramm zu schreiben.

Ich beschloss, zu versuchen, den Zeitpunkt des Auftretens des Signals auszugeben:

ObjectCreate(StringConcatenate("Text_",IndicatorNumber,"_",i), OBJ_TEXT, 0, "cur_time",short[i] + 0.0020);
ObjectSetText(StringConcatenate("Text_",IndicatorNumber,"_",i), TimeToStr(CurTime(),TIME_SECONDS), 10, "Arial", Lime);

Aber der Code funktioniert nicht, ich kann die Zeit nicht sehen.

Was mache ich falsch?

 

Hallo.

Ich habe mit "Quote Archive" die Pfund/Dollar-Kurse (M1) von 1999 im DAT-Format heruntergeladen. Wie kann ich diese Daten für Tests konvertieren?

Grund der Beschwerde: