[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 183

 

Hallo.

Seit einiger Zeit erscheint bei der Anzeige von Indikatoren vom Typ TRIX MTF im MT4-Arbeitsfenster eine zusätzliche Balkenzeile. Wie ich in einem der ausländischen Foren herausgefunden habe, geschieht dies in den neuesten Versionen von MT4.

Kann ich selbständig Maßnahmen ergreifen (mit Ihrer Anweisung), um dieses Problem zu beheben, oder wird dieser Effekt von Ihnen in den weiteren Versionen von MT4 korrigiert werden.

Mit freundlichen Grüßen, Evgeniy. 412500@gmail. com; 4125er@gmail.com

 
Craft:

Guten Tag.

Können Sie mir sagen, wie ich den höchsten Abschluss in einem Array finden kann?

double hc = iClose(NULL, 0, iHighest(Symbol(), 0, MODE_HIGH, PERIOD_M1, kk));

Wird das so gemacht oder irre ich mich?

Bei der Suche nach "highest close" konnte ich keine Antwort finden.

Vielleicht ist es so:

string sym;int PER=1;//таймфрейм
//+------------------------------------------------------------------+
//| script program                                                   |
//+------------------------------------------------------------------+
int init(){sym=Symbol();return(0);}
int start(){int bar=iHighest(sym,PER,MODE_CLOSE,iBars(sym,PER)-1,0);
  double hc=iClose(NULL,PER,bar);Print(sym," PERIOD_M",PER,"  max_close =",hc,"  Time =",
  TimeToStr(iTime(NULL,PER,bar),TIME_DATE|TIME_MINUTES));return(0);}
//+------------------------------------------------------------------+
 
MikeM:
Time[i] - Zeit, die dem i-ten Balken im Diagramm entspricht.
Ich verstehe die "morgigen" Daten im Diagramm nicht. Wo wird es gezeigt? Ich will oooh-ooh-ooh!!!

Dies ist eine sehr alte Version meines Indikators...
Ich zählte gerade die Balken bis zum richtigen Zeitpunkt, um den Pfeil dort zu platzieren - aber das ist nicht die richtige Version, denn in einigen Fällen sind es Feiertage, und nur die Zeit der Handelssitzung und das Instrument (in diesem Fall ist es sberbank)

Ich habe den Code jetzt komplett neu geschrieben und möchte, dass er in Ordnung ist...

Ich möchte =) Zeitwerte in der X-Achse unter dem letzten blauen Pfeil erhalten, um den Standort zu überprüfen.

In der Tat, die neue Version des Indikators hat in seinen Arrays die Informationen über die Position des nächsten Pfeils entlang der X-Achse (Zeit) und Preis, alles, was übrig ist, ist es, um es auf die Chart ..... im Allgemeinen zu übertragen, helfen Sie mir, sagen Sie mir, wie es schön zu tun

Screenshot von einer alten Version...

с

 
jemand hier überhaupt Fragen beantwortet)
 

Guten Tag. Können Sie mir bitte mitteilen, dass unter diesen Bedingungen die Aufträge nicht durch die Ebene geöffnet werden. Was ist hier falsch?

double Mash_Price_1=iCustom(NULL,0,"mashka",0,0);
double Mash_Price_2=iCustom(NULL,0,"mashka",0,1);
double Mash_Price_3=iCustom(NULL,0,"mashka",0,2);

double Max_1,Max_2; //уровень цены 

if(Mash_Price_1>Max_1 && Mash_Price_2==Max_1 && Mash_Price_3<Max_1 || 

Mash_Price_1>Max_1 && Mash_Price_2 < Max_1 && Mash_Price_3<Max_1 ||

Mash_Price_1>Max_1 && Mash_Price_2==Max_1 && Mash_Price_3==Max_1)
{
Opn_B=true;
Opn_S=false;
}
if(Mash_Price_1<Min_1 && Mash_Price_2==Min_1 && Mash_Price_3>Min_1 ||
Mash_Price_1<Min_1 && Mash_Price_2 > Min_1 && Mash_Price_3>Min_1 ||
Mash_Price_1<Min_1 && Mash_Price_2==Min_1 && Mash_Price_3==Min_1)
{
Opn_B=false;
Opn_S=true;
}
}



while(true)
{
if(Total==0 && Opn_B==true)
{
RefreshRates();
SL=Bid-New_Stop(StopLoss)*Point;
TP=Bid+New_Stop(TakeProfit)*Point;
Print("Попытка открыть Buy. Ожидаем ответа...");
Ticket=OrderSend(Symb,OP_BUY,Lts,Ask,2,SL,TP);
if(Ticket>0)
{
Print("Открыт ордер Buy ",Ticket);
return;
}
if(Fun_Error(GetLastError())==1)
continue;
return; 
}

if(Total==0 && Opn_S==true)
{
RefreshRates();
SL=Ask+New_Stop(StopLoss)*Point;
TP=Ask-New_Stop(TakeProfit)*Point;
Print("Попытка открыть Sell. Ждем ответа...");
Ticket=OrderSend(Symb,OP_SELL,Lts,Bid,2,SL,TP);
if(Ticket>0)
{
Print("Открыт ордер Sell ",Ticket);
return;
}
if(Fun_Error(GetLastError())==1)
continue;
return;
}
 
deyron:

Guten Tag. Können Sie mir bitte mitteilen, dass unter diesen Bedingungen die Aufträge nicht durch die Ebene geöffnet werden. Was ist hier falsch?


Es gibt eine Schaltfläche SRC zum Einfügen von Code

Was haben Sie, dass diese Variablen gleich sind?

double Max_1,Max_2; //уровень цены 
 
int Bar_Beg = iBarShift(Symbol(),0,Cur_Beg,false);//начальный бар
int Bar_End = iBarShift(Symbol(),0,Cur_End,false);//конечный бар
int Dif_Bar = Bar_Beg - Bar_End;//Разница баров для расчетов Мах и Мин

int High_1 = iHighest(Symbol(),0,MODE_HIGH,Dif_Bar,Bar_End); //Максимальное значение бара
int Low_1 = iLowest (Symbol(),0,MODE_HIGH,Dif_Bar,Bar_End); //Минимальное значение бара

Max_1=High[High_1];
Min_1=Low[Low_1];

Und Mashka=(High[i]+Low[i])/2;

 
deyron:

Hier ist Mashka mit Level Min_1.

Hier ist eine Möglichkeit, wenn:


Grüner Max_1,

aus der Geschichte

Max_1 = 1,5485 Min_1 = 1,5461 Maische_Preis_1 = 1,5496 Maische_Preis_2 = 1,5495 Maische_Preis_3 = 1,549

In welcher Richtung suchen Sie das Problem?

Haben Sie die Fehlerbehandlung ausprobiert?
 
Wenn versucht wurde, einen Auftrag zu öffnen, wird dies in den Nachrichten angezeigt. Und wenn kein Versuch unternommen wird, einen Auftrag zu öffnen, warum sollte dann ein Fehler auftreten? Die Frage ist, ob die Bedingungen, unter denen Macha die Ebenen durchläuft, richtig festgelegt sind. Warum werden die Aufträge viel später als erwartet geöffnet, wenn die Parameter fest kodiert sind?
 

Frage.

Warum der Zustand nicht verschwindet

if(Close_1>Open_1 && ( Close_1-Open_1)>=30*Point) buffer[i]=High_1;

Bedingtes Beispiel. \

Sucht nach allem...aber nicht nach der Größe in Punkten... Überprüft über Comment(waste,5);

Ie... if(Close_1>Open_1) Bedingung sieht gut aus, aber die Bedingung ( Close_1>Open_1 && Close_1-Open_1)>=30*Point) warum NICHT...!!!

Was mache ich falsch?

Vielen Dank im Voraus!!!)):