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

 

Ich hab's. Danke für deine Hilfe.

 
spidey:

Guten Abend, könnten Sie mich bitte beraten, wie ich eine Warnung in den Indikator einfügen kann, ich habe alles versucht, es piepst bei jedem Ticken, oder es piepst überhaupt nicht...


Holen Sie es und unterschreiben Sie es :)

Dateien:
 
Bitte geben Sie an, wie der Schlusskurs des i-ten Balkens (z.B. М15) mit dem Eröffnungskurs des Tages im Indikator verglichen werden kann
 

Hallo.

Können Sie mir sagen oder mich beraten, wo ich die .hst oder was Eliot-Wellen für den visuellen Tester zu generieren, (kann in csv-Datei sein) wie in der Abbildung unten:

 
RomanS:
Bitte sagen Sie mir, wie ich den Schlusskurs des i-bar im Indikator (zum Beispiel М15) mit dem Eröffnungskurs des Tages vergleichen kann


Ich habe es wohl nicht richtig erklärt... zum Beispiel

#property indicator_separate_window
#property  indicator_buffers 4
#property  indicator_color1  Red
#property  indicator_color2  Green
#property  indicator_color3  Blue
#property  indicator_color4  Black

extern int DAY       = 0;
extern int History   = 500;

double GBP[],EUR[],JPY[],USD[]; 

int init()
  {
   SetIndexBuffer(0, GBP);
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
   SetIndexBuffer(1, EUR);    
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);
   SetIndexBuffer(2, JPY);
   SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,2);
   SetIndexBuffer(3, USD);
   SetIndexStyle(3,DRAW_LINE,STYLE_SOLID,2);
   IndicatorShortName("...");
   return;
  }

int start()
  {
  int limit = 0, 
      counted_bars = IndicatorCounted();
      if(counted_bars>0) counted_bars--; 
      limit = Bars - counted_bars;
 
  for(int i=0; i<limit; i++)
    {
     USD[i] = -(iClose("EURUSD",NULL,i)-iOpen("EURUSD",PERIOD_D1,DAY))
              -(iClose("GBPUSD",NULL,i)-iOpen("GBPUSD",PERIOD_D1,DAY))
              +(iClose("USDJPY",NULL,i)-iOpen("USDJPY",PERIOD_D1,DAY))/iClose("USDJPY",NULL,i);
     EUR[i] = +(iClose("EURUSD",NULL,i)-iOpen("EURUSD",PERIOD_D1,DAY))
              +(iClose("EURUSD",NULL,i)*iClose("USDJPY",NULL,i)-iOpen("EURUSD",PERIOD_D1,DAY)*iOpen("USDJPY",PERIOD_D1,DAY))/iClose("USDJPY",NULL,i)
              +(iClose("EURUSD",NULL,i)/iClose("GBPUSD",NULL,i)-iOpen("EURUSD",PERIOD_D1,DAY)/iOpen("GBPUSD",PERIOD_D1,DAY))*iClose("GBPUSD",NULL,i);
     GBP[i] = +(iClose("GBPUSD",NULL,i)-iOpen("GBPUSD",PERIOD_D1,DAY))
              +(iClose("GBPUSD",NULL,i)*iClose("USDJPY",NULL,i)-iOpen("GBPUSD",PERIOD_D1,DAY)*iOpen("USDJPY",PERIOD_D1,DAY))/iClose("USDJPY",NULL,i)
              -(iClose("EURUSD",NULL,i)/iClose("GBPUSD",NULL,i)-iOpen("EURUSD",PERIOD_D1,DAY)/iOpen("GBPUSD",PERIOD_D1,DAY))*iClose("GBPUSD",NULL,i);
     JPY[i] = -(iClose("USDJPY",NULL,i)-iOpen("USDJPY",PERIOD_D1,DAY))/iClose("USDJPY",NULL,i)
              -(iClose("EURUSD",NULL,i)*iClose("USDJPY",NULL,i)-iOpen("EURUSD",PERIOD_D1,DAY)*iOpen("USDJPY",PERIOD_D1,DAY))/iClose("USDJPY",NULL,i)
              -(iClose("GBPUSD",NULL,i)*iClose("USDJPY",NULL,i)-iOpen("GBPUSD",PERIOD_D1,DAY)*iOpen("USDJPY",PERIOD_D1,DAY))/iClose("USDJPY",NULL,i);
    }
   return(0);
  }

Wenn ich DAY = 0 setze, dann wird der Preis des i-ten Balkens, sei es M5, mit dem Eröffnungskurs von heute verglichen, wenn DAY = 1, dann mit dem Eröffnungskurs von gestern, usw.

wie man es dynamisch macht... Wenn ich ihn dynamisch vergleichen wollte, d.h. wenn ich den 1278. Balken nachschaue, würde er mit dem Eröffnungskurs des Tages verglichen werden, wenn ich diesen Balken sehe.

 

Angenommen, dass dies ein Diagramm von einem Indikator MAKD oder STOH alle gleich ist, beraten, wie man den Einstiegspunkt in der EA Xmax*0,25 für den Verkauf und Xmin*0,25 für den Kauf zu beschreiben. Wenn die Periode "n" nicht konstant ist und sich Xmax und Xmin ändern.

Dateien:
ypi.rar  7 kb
 

wie man einen solchen Operator implementiert

while ( Условие если закрылся любой ордер )                  
{   то опредеяем тип закрытого ордера из списка   }  
значение передаем следущему оператору

{  по переданому значению выбераем из списка нужный ордер и открываем его  } 
после того как ордер открыт возращяемся в начало

oder auf welche andere Weise diese Schleife implementiert werden kann

 
RomanS:


Ich muss es falsch erklärt haben... zum Beispiel

Wenn ich DAY = 0 setze, dann wird der Preis des i-ten Balkens, sei es M5, mit dem Eröffnungskurs von heute verglichen, wenn DAY = 1, dann mit dem von gestern, usw.

wie man es dynamisch macht... D.h. wenn z.B. der 1278. Balken mit dem Eröffnungskurs des Tages, an dem dieser Balken geöffnet wurde, verglichen wurde, habe ich mir in den Kopf gesetzt, wie man das macht

Ich habe eine Funktion dafür, die OHLC einer beliebigen älteren Periode zurückgibt :)

//+------------------------------------------------------------------+
//| getOHLC                                                          |
//+------------------------------------------------------------------+
double getOHLC(int OHLC, string symbol, int timeframe, int shift = 0){
   if(timeframe < Period())return(-1);
   switch(OHLC){
      case 0:  return(iOpen(symbol, timeframe, iBarShift(symbol, timeframe, Time[shift])));
      case 1:  return(iLow(symbol, timeframe, iBarShift(symbol, timeframe, Time[shift])));
      case 2:  return(iHigh(symbol, timeframe, iBarShift(symbol, timeframe, Time[shift])));
      case 3:  return(iClose(symbol, timeframe, iBarShift(symbol, timeframe, Time[shift])));
   }
}
//+------------------------------------------------------------------+

Parameter:
int OHLC - welche Daten aus dem hohen Zeitrahmen genommen werden sollen, entsprechen den Standardkonstanten.
string symbol - symbolischer Name des Instruments.
int timeframe - Zeitraum des oberen Zeitrahmens, der den Standardkonstanten entspricht.
int shif t - optionaler Parameter, der die Nummer des aktuellen Balkens des aktuellen Zeitrahmens angibt, um nach Übereinstimmungen in älteren Zeiträumen zu suchen.

Beispiel eines Funktionsaufrufs für Ihren Fall:

for(int i=0; i<limit; i++)
    {
     USD[i] = -(iClose("EURUSD",NULL,i)-getOHLC(0, "EURUSD",PERIOD_D1,i))
              -(iClose("GBPUSD",NULL,i)-getOHLC(0, "GBPUSD",PERIOD_D1,i))
              +(iClose("USDJPY",NULL,i)-getOHLC(0, "USDJPY",PERIOD_D1,i))/iClose("USDJPY",NULL,i);
     EUR[i] = +(iClose("EURUSD",NULL,i)-getOHLC(0, "EURUSD",PERIOD_D1,i))
              +(iClose("EURUSD",NULL,i)*iClose("USDJPY",NULL,i)-getOHLC(0, "EURUSD",PERIOD_D1,i)*getOHLC(0, "USDJPY",PERIOD_D1,i))/iClose("USDJPY",NULL,i)
              +(iClose("EURUSD",NULL,i)/iClose("GBPUSD",NULL,i)-getOHLC(0, "EURUSD",PERIOD_D1,i)/getOHLC(0, "GBPUSD",PERIOD_D1,i))*iClose("GBPUSD",NULL,i);
     GBP[i] = +(iClose("GBPUSD",NULL,i)-getOHLC(0, "GBPUSD",PERIOD_D1,i))
              +(iClose("GBPUSD",NULL,i)*iClose("USDJPY",NULL,i)-getOHLC(0, "GBPUSD",PERIOD_D1,i)*getOHLC(0, "USDJPY",PERIOD_D1,i))/iClose("USDJPY",NULL,i)
              -(iClose("EURUSD",NULL,i)/iClose("GBPUSD",NULL,i)-getOHLC(0, "EURUSD",PERIOD_D1,i)/getOHLC(0, "GBPUSD",PERIOD_D1,i))*iClose("GBPUSD",NULL,i);
     JPY[i] = -(iClose("USDJPY",NULL,i)-getOHLC(0, "USDJPY",PERIOD_D1,i))/iClose("USDJPY",NULL,i)
              -(iClose("EURUSD",NULL,i)*iClose("USDJPY",NULL,i)-getOHLC(0, "EURUSD",PERIOD_D1,i)*getOHLC(0, "USDJPY",PERIOD_D1,i))/iClose("USDJPY",NULL,i)
              -(iClose("GBPUSD",NULL,i)*iClose("USDJPY",NULL,i)-getOHLC(0, "GBPUSD",PERIOD_D1,i)*getOHLC(0, "USDJPY",PERIOD_D1,i))/iClose("USDJPY",NULL,i);
    }

Dementsprechend findet iClose("EURUSD",NULL,i) den Schlusskurs von Balken Nummer i des aktuellen Charts, und getOHLC(0, "EURUSD",PERIOD_D1,i) den Eröffnungskurs des Tages, in dem sich Balken i des aktuellen Charts befindet.

 
RomanS:


Ich muss es falsch erklärt haben... zum Beispiel

Wenn ich DAY = 0 setze, dann wird der Preis des i-ten Balkens, sei es M5, mit dem Eröffnungskurs von heute verglichen, wenn DAY = 1, dann mit dem Eröffnungskurs von gestern, usw.

wie man es dynamisch macht... D.h. bei der Berechnung von z.B. 1278. Balken wurde mit dem Eröffnungskurs des Tages verglichen, an dem dieser Balken eröffnet wurde.

Sie müssen zunächst berechnen, welchem Tag dieser Balken entspricht. Ich bin gerade nicht zu Hause, also werde ich Ihnen die Funktion später geben, wenn ich abends nach Hause komme. In der Zwischenzeit können Sie selbst danach suchen oder herausfinden, wie Sie es umsetzen können.

Hoppla... Bereits eine Variante angeboten....

 
akuma_san1:

Angenommen, dies ist ein Diagramm von einem Indikator MAKD oder STOH alle gleich, beraten, wie man den Einstiegspunkt in der EA Xmax*0,25 für den Verkauf und Xmin*0,25 für den Kauf zu beschreiben. Wenn die Periode "n" nicht konstant ist und sich Xmax und Xmin ändern.

Ihre Zulassungskriterien sind sehr vage definiert. Für mich persönlich ist das nicht klar. Wenn Sie die Überschreitung eines beliebigen Pegels kontrollieren müssen, dann haben alle von Ihnen angegebenen Parameter keine störenden Faktoren. Schauen Sie sich einfach den Wert des gewünschten Parameters auf dem ersten Balken und den Wert des gleichen Parameters auf dem zweiten Balken an. Wenn der Wert des Parameters auf dem ersten Balken höher ist als ein von Ihnen festgelegter Schwellenwert und der Wert auf dem zweiten Balken niedriger ist, haben wir einen Übergang von unten nach oben. Wenn der Wert des ersten Balkens niedriger und der Wert des zweiten Balkens höher ist, haben wir einen Übergang von oben nach unten. Hier haben wir zwei Signale für Kauf und Verkauf. Sie können nur den Wert oberhalb oder unterhalb überprüfen - so haben wir das gleiche Signal, aber während der gesamten Zeit liegt der Parameter entweder über oder unter dem überwachten Wert.
SZY: Wenn sich die Parameter nicht ändern würden, hätten wir nie ein Signal... :)