[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 218

 
Shniperson:

Hallo! Die Tatsache, dass EAs mit einer großen Menge an Code und Operationen ein wenig langsam sind... das haben wir bereits herausgefunden... Ich habe eine Frage...

Mein Expert Advisor hat einen großen Block für die Aufrechterhaltung von Trades... Wenn dieser Block in einen separaten EA verschoben (und aus dem ersten entfernt) wird, werde ich zwei EAs gleichzeitig haben... Werden sie dadurch schneller arbeiten können? Wird es Entscheidungen über Geschäfte schneller treffen... und wird es Entscheidungen über Stop Loss schneller treffen?

Ich denke, es geht nicht darum, eine Entscheidung über den Trailing-Stop-Loss zu treffen, sondern um die Geschwindigkeit der Auftragsausführung durch den Broker. Es ist eine Sache, eine Entscheidung zu treffen, und eine andere, sie auch umzusetzen.
 
Suliena:

Ein riesiges Dankeschön! Es stellte sich heraus, dass ich in den regionalen Einstellungen ein Listentrennzeichen hätte einrichten sollen!!!!

Ich rätsele schon seit 2 Tagen über den Code!

Sie brauchen die regionalen Einstellungen nicht zu verändern! In Excel gibt es eine Einstellung für das Trennzeichen.
 
Können Sie mir das bitte sagen! Wie schreibe ich die Differenz in MACD-Variablen in Pips? Zum Beispiel:
if ( MACDCurrent-MACDSignal)>5*Point   // ??
 

Könnten Sie mir bitte den Konverter für Nicht-Standard-TF nennen, denn die Suche funktioniert nicht! Ich danke Ihnen!

 
borilunad:

Könnten Sie mir bitte den Konverter für Nicht-Standard-TF nennen, denn die Suche funktioniert nicht! Ich danke Ihnen!

Period_Converter.mq4
//|                 Copyright © 2005-2007, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
#property show_inputs
#include <WinUser32.mqh>

extern int ExtPeriodMultiplier=5; // new period multiplier factor
int        ExtHandle=-1;
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
   int    i, start_pos, i_time, time0, last_fpos, periodseconds;
   double d_open, d_low, d_high, d_close, d_volume, last_volume;
   int    hwnd=0,cnt=0;
//---- History header
   int    version=400;
   string c_copyright;
   string c_symbol=Symbol();
   int    i_period=Period()*ExtPeriodMultiplier;
   int    i_digits=Digits;
   int    i_unused[13];
//----  
   ExtHandle=FileOpenHistory(c_symbol+i_period+".hst", FILE_BIN|FILE_WRITE);
   if(ExtHandle < 0) return(-1);
//---- write history file header
   c_copyright="(C)opyright 2003, MetaQuotes Software Corp.";
   FileWriteInteger(ExtHandle, version, LONG_VALUE);
   FileWriteString(ExtHandle, c_copyright, 64);
   FileWriteString(ExtHandle, c_symbol, 12);
   FileWriteInteger(ExtHandle, i_period, LONG_VALUE);
   FileWriteInteger(ExtHandle, i_digits, LONG_VALUE);
   FileWriteInteger(ExtHandle, 0, LONG_VALUE);       //timesign
   FileWriteInteger(ExtHandle, 0, LONG_VALUE);       //last_sync
   FileWriteArray(ExtHandle, i_unused, 0, 13);
//---- write history file
   periodseconds=i_period*60;
   start_pos=Bars-1;
   d_open=Open[start_pos];
   d_low=Low[start_pos];
   d_high=High[start_pos];
   d_volume=Volume[start_pos];
   //---- normalize open time
   i_time=Time[start_pos]/periodseconds;
   i_time*=periodseconds;
   for(i=start_pos-1;i>=0; i--)
     {
      time0=Time[i];
      //---- history may be updated
      if(i==0)
        {
         //---- modify index if history was updated
         if(RefreshRates())
            i=iBarShift(NULL,0,time0);
        }
      //----
      if(time0>=i_time+periodseconds || i==0)
        {
         if(i==0 && time0<i_time+periodseconds)
           {
            d_volume+=Volume[0];
            if (Low[0]<d_low)   d_low=Low[0];
            if (High[0]>d_high) d_high=High[0];
            d_close=Close[0];
           }
         last_fpos=FileTell(ExtHandle);
         last_volume=Volume[i];
         FileWriteInteger(ExtHandle, i_time, LONG_VALUE);
         FileWriteDouble(ExtHandle, d_open, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_low, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_high, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_close, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_volume, DOUBLE_VALUE);
         FileFlush(ExtHandle);
         cnt++;
         if(time0>=i_time+periodseconds)
           {
            i_time=time0/periodseconds;
            i_time*=periodseconds;
            d_open=Open[i];
            d_low=Low[i];
            d_high=High[i];
            d_close=Close[i];
            d_volume=last_volume;
           }
        }
       else
        {
         d_volume+=Volume[i];
         if (Low[i]<d_low)   d_low=Low[i];
         if (High[i]>d_high) d_high=High[i];
         d_close=Close[i];
        }
     } 
   FileFlush(ExtHandle);
   Print(cnt," record(s) written");
//---- collect incoming ticks
   int last_time=LocalTime()-5;
   while(IsStopped()==false)
     {
      int cur_time=LocalTime();
      //---- check for new rates
      if(RefreshRates())
        {
         time0=Time[0];
         FileSeek(ExtHandle,last_fpos,SEEK_SET);
         //---- is there current bar?
         if(time0<i_time+periodseconds)
           {
            d_volume+=Volume[0]-last_volume;
            last_volume=Volume[0]; 
            if (Low[0]<d_low) d_low=Low[0];
            if (High[0]>d_high) d_high=High[0];
            d_close=Close[0];
           }
         else
           {
            //---- no, there is new bar
            d_volume+=Volume[1]-last_volume;
            if (Low[1]<d_low) d_low=Low[1];
            if (High[1]>d_high) d_high=High[1];
            //---- write previous bar remains
            FileWriteInteger(ExtHandle, i_time, LONG_VALUE);
            FileWriteDouble(ExtHandle, d_open, DOUBLE_VALUE);
            FileWriteDouble(ExtHandle, d_low, DOUBLE_VALUE);
            FileWriteDouble(ExtHandle, d_high, DOUBLE_VALUE);
            FileWriteDouble(ExtHandle, d_close, DOUBLE_VALUE);
            FileWriteDouble(ExtHandle, d_volume, DOUBLE_VALUE);
            last_fpos=FileTell(ExtHandle);
            //----
            i_time=time0/periodseconds;
            i_time*=periodseconds;
            d_open=Open[0];
            d_low=Low[0];
            d_high=High[0];
            d_close=Close[0];
            d_volume=Volume[0];
            last_volume=d_volume;
           }
         //----
         FileWriteInteger(ExtHandle, i_time, LONG_VALUE);
         FileWriteDouble(ExtHandle, d_open, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_low, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_high, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_close, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_volume, DOUBLE_VALUE);
         FileFlush(ExtHandle);
         //----
         if(hwnd==0)
           {
            hwnd=WindowHandle(Symbol(),i_period);
            if(hwnd!=0) Print("Chart window detected");
           }
         //---- refresh window not frequently than 1 time in 2 seconds
         if(hwnd!=0 && cur_time-last_time>=2)
           {
            PostMessageA(hwnd,WM_COMMAND,33324,0);
            last_time=cur_time;
           }
        }
      Sleep(50); 
     }      
//----
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void deinit()
  {
   if(ExtHandle>=0) { FileClose(ExtHandle); ExtHandle=-1; }
  }
//+------------------------------------------------------------------+
Erstellen Sie ein TF oder ein Symbol - fügen Sie es als Offline-Grafik ein, d.h. DATEI -> AUTO ÖFFNEN...
 
avatara:
Erstellen Sie eine TF oder ein Symbol - schließen Sie es wie eine Offline-Grafik an, d.h. DATEI -> AUTO ÖFFNEN...


Danke! Aber ich bin auf der Suche nach einem Konverter, auf dem der EA funktionieren könnte!

Ich erinnere mich an einen Thread, in dem darüber gesprochen wurde, und was in CodeBase steht.

 

Wie kann ich ein Stück Code verwenden, um ein Schleppnetz und einen Break-Even mit einem Stop-Loss und einem Take-Out zu verbinden?

Ich wollte irgendwo ein Stück Code einfügen. Ja, ja, die Sache mit der "Strategie".

 
borilunad:


Danke! Aber ich bin auf der Suche nach einem Konverter, auf dem der EA funktionieren könnte!

Ich erinnere mich an einen Thread, in dem darüber gesprochen wurde, und was in CodeBase steht.

danach.

wenn es ein Fenster mit einem Suprastat-Diagramm gibt. und auf der Quelle wird das Skript ....

Führen Sie Induks und Owl darauf aus (auf dem Fenster/Graph blyn!) - alles funktioniert!

;)

 
Können Sie vorschlagen, ein "Berater" oder Skript ... die in großen Zahlen angezeigt werden würde, wie viele Punkte und Geld Verlust / Gewinn der aktuellen (offenen) Transaktion und was die Balance ... und etwas, das ich nicht finden kann .
 
avatara:

danach.

wenn ein Fenster mit dem Diagramm des Gegners angezeigt wird und die Quelle das Skript knackt....

Führen Sie Induks und Owl darauf aus (auf dem Fenster/Grafik btw!) - alles funktioniert!

;)


Das ist alles, vielen Dank!

Ich habe es gefunden, die richtigen Zeilen in den Code und inlude eingefügt, es offline genommen und einen Kommentar abgegeben. Und morgen wird der Handel versuchen.

Schade, dass es nicht möglich ist, die Parameter im Tester zu überprüfen, ich werde für eine Weile Demo verwenden müssen.

Gute Nacht!