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

 
FAQ:

Hier ist das Problem... Indikatorpuffer funktionieren nur in Indikatoren. Sie erhalten nichts, indem Sie den Code einfach verschieben, verwenden Sie Standard- und benutzerdefinierte Indikatoraufrufe in Ihrem Skriptcode. Technische Indikatoren werden Ihnen helfen

Ahhhh!!! danke!!!

Frage: Wie kann man den Zeitpunkt berechnen, an dem sich die beiden zum letzten Mal gekreuzt haben?
 
GarKain:
Ahhh!!! Vielen Dank!!!

Frage: Wann haben sich die Wege der beiden das letzte Mal gekreuzt?

Das war's.

//+------------------------------------------------------------------+
//|                                                        e_RVI.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

extern int ExtRVIPeriod=10;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
 double RVI_1 = iCustom( NULL,0,"Relativ Vigor Index",ExtRVIPeriod,0,1);
 double RVI_2 = iCustom( NULL,0,"Relativ Vigor Index",ExtRVIPeriod,0,2);
 double RVIS_1= iCustom( NULL,0,"Relativ Vigor Index",ExtRVIPeriod,1,1);
 double RVIS_2= iCustom( NULL,0,"Relativ Vigor Index",ExtRVIPeriod,1,2);
 
 Comment("\n","\n"," RVI:  1 Бар = ",RVI_1,
              "\n"," RVI:  2 Бар = ",RVI_2,
              "\n"," RVIS: 1 Бар = ",RVIS_1,
              "\n"," RVIS: 2 Бар = ",RVIS_2); 
              
   if(RVI_2<RVIS_2&&RVI_1>RVIS_1)    //Biu 
       SetArrow(241,Blue,"Biu"+Time[0],Time[0],Low[0],0);
       
   if(RVI_2>RVIS_2&&RVI_1<RVIS_1)    //Sell
       SetArrow(242,Red,"Sell"+Time[0],Time[0],High[0],0);       
//----
   return(0);
  }
//+------------------------------------------------------------------+
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 12.10.2007                                                     |
//|  Описание : Установка значка на графике, объект OBJ_ARROW.                 |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    cd - код значка                                                         |
//|    cl - цвет значка                                                        |
//|    nm - наименование               ("" - время открытия текущего бара)     |
//|    t1 - время открытия бара        (0  - текущий бар)                      |
//|    p1 - ценовой уровень            (0  - Bid)                              |
//|    sz - размер значка              (0  - по умолчанию)                     |
//+----------------------------------------------------------------------------+
void SetArrow(int cd, color cl,
              string nm="", datetime t1=0, double p1=0, int sz=0) {
  if (nm=="") nm=DoubleToStr(Time[0], 0);
  if (t1<=0) t1=Time[0];
  if (p1<=0) p1=Bid;
  if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_ARROW, 0, 0,0);
  ObjectSet(nm, OBJPROP_TIME1    , t1);
  ObjectSet(nm, OBJPROP_PRICE1   , p1);
  ObjectSet(nm, OBJPROP_ARROWCODE, cd);
  ObjectSet(nm, OBJPROP_COLOR    , cl);
  ObjectSet(nm, OBJPROP_WIDTH    , sz);
}
 

Guten Tag!

Liebe Trader, in einem der Forenbeiträge habe ich einen interessanten "Indikator" gesehen.

Wenn ich mich nicht irre, zeigt der Hintergrund des 5. Charts Silhouetten von Stundenkerzenständern . Das heißt, es war deutlich sichtbar, wie sich der Preis im Laufe einer Stunde veränderte.

Bitte senden Sie mir, wenn Sie können(igrok081@mail.ru) oder sagen Sie mir, wo ich es herunterladen kann, oder zumindest zumindest den Namen.

Vielen Dank im Voraus .

Alexander.

 
r772ra:

Das war's.

*schäm* Ich habe nichts von dem Code verstanden. Aber, entschuldigen Sie meine Anspruchshaltung, ich wollte wissen, wie man den Moment berechnet, in dem sich die beiden zum letzten Mal gekreuzt haben? Vielleicht ist der Code korrekt und die Zählung beginnt erst, nachdem das Skript ausgeführt wurde. Wenn ja, wie können wir es dazu bringen, zu prüfen, wann es vor der Ausführung des Skripts war?


Wie kann ich es selbst tun?



Ich verstehe ein wenig, möchte aber immer noch wissen, wie ich es überprüfen lassen kann, ob es vor dem Start des Skripts war und wie hoch der Preis zu diesem Zeitpunkt war.

 
GarKain:


einem Dummkopf erklären, wo das Gebräu ist. Wie mache ich das selbst?


Lesen Sie hier:

https://book.mql4.com/ru/samples/indicators

Und hier:

https://book.mql4.com/ru/samples/shared

 
Vielen Dank für die Informationen.

die Frage bleibt. wie können wir es zu überprüfen, wenn diese Linien wurden vor kurzem überschritten? und was war der Preis in diesem Moment.


Grundsätzlich, was ich erreichen möchte:

Ich brauche das Skript, um die letzte Kreuzung auf dem Chart zu finden und den Preis zum Zeitpunkt der Kreuzung vom aktuellen Preis zu subtrahieren.

mir sagen, wie es umgesetzt werden kann.
 
Wenn ich wüsste, wonach ich suchen muss, hätte ich es schon längst gefunden.
 

herausfinden, welcher Balken überquert wurde, und dann den Zeitpunkt des Balkens ermitteln = Überquerungszeitpunkt

Sie können den genauen Preis der Kreuzung berechnen, aber Sie können nicht herausfinden, was der Preis des Instruments war, das Beste, was Sie tun können, ist zu wissen, die Bar-Nummer, und daher seine Höhe niedrig offen schließen

 
FAQ:

herausfinden, welcher Balken überquert wurde, und dann den Zeitpunkt des Balkens ermitteln = Überquerungszeitpunkt

Sie können den genauen Preis der Kreuzung berechnen, aber Sie können nicht herausfinden, was der Preis des Instruments war, das Beste, was Sie tun können, ist zu wissen, die Bar-Nummer, und daher seine Höhe niedrig offen schließen

Ich brauche die Nummer des Balkens, der zuletzt überquert wurde.
 
Zyklus vom aktuellen Takt bis tief in die Historie, Überprüfung auf Überschneidungen, Beenden beim ersten Ereignis und Speichern der Taktnummer