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

 
granit77:
Lesen Sie die Antwort noch einmal langsam und bedächtig:


Ich danke Ihnen.

Sagen Sie mir, ob der Programmtext in diesem Fall korrekt ist

int ticket; // Ticketnummer
int digits =MarketInfo(Symbol(),MODE_DIGITS); // speichert die Anzahl der Ziffern
double volume =MarketInfo(Symbol(),MODE_MINLOT); // speichert das Mindestlos

ticket=OrderSend(Symbol(),OP_BUY,volume,Ask,2,
0, // SL
0); // TP

OrderSelect(ticket,SELECT_BY_TICKET);
OrderModify(ticket,OrderOpenPrice(),,
NormalizeDouble(Bid-150*Point,digits),// SL
NormalizeDouble(Bid+150*Point,digits),// TP
0,Blue)

zurück (0);

 

Wie kann ich meinen EA mit einem Chart mit geschlossener Sitzung verbinden und die Ausführung des Algorithmus beim ersten Tick einer neuen offenen Sitzung starten? Können Sie mir bitte sagen, wie.

Ich habe hier https://www.mql5.com/ru/forum/135822 danach gefragt , aber die Frage blieb unbeachtet. =(

 
Stan:

Wie kann ich meinen EA mit einem Chart mit geschlossener Sitzung verbinden und die Ausführung des Algorithmus beim ersten Tick einer neuen offenen Sitzung starten? Können Sie mir bitte sagen, wie.

Ich habe hier https://www.mql5.com/ru/forum/135822 danach gefragt , aber die Frage blieb unbeachtet. =(

Aber verzerren Sie nicht die Wahrheit. Die Antwort wurde bereits gegeben. Es wird keine andere geben, denn sie ist absolut korrekt. Lesen Sie es noch einmal.
TheXpert:

Nichts.

Die Initialisierung des EA findet statt, wenn Sie ihn platzieren, und er startet erst, wenn der Tick erscheint.

Das bedeutet, dass

Sie den EA nur auf dem Chart platzieren, den Beginn der Sitzung abwarten und entscheiden müssen, was zu tun ist - Pending oder auf dem Markt

.

Aber es gibt noch eine andere Sache, wenn die Zecken ticken, aber der Handel verboten ist, aber das ist ein anderes Lied, das kann gelöst werden

.

Das heißt, Sie werfen den EA auf dem Chart, wenn es keine Trades, die EA initialisiert und hängt friedlich für eine beliebige Länge der Zeit. Wenn ein Handel beginnt, veranlasst der erste Tick den EA, seinen Algorithmus auszuführen.
 
<br/ translate="no">

Können Sie mir sagen, warum, wenn ich Tests auf verschiedenen TFs laufen, die Testergebnisse sind unterschiedlich, die Charts sind auch natürlich anders, Eröffnung Preis Tests sind das Signal Teil des Expert Advisor... Liegt es vielleicht an der Verlaufskurve? (Dies ist allerdings bei verschiedenen Instrumenten und verschiedenen Brokern der Fall).

...
// ----------------------------Считаем параметры технических индикаторов:------------------------------------
   
   double MA_1 = iMA(Symbol(),trend_period,Period_MA,0,MODE_EMA,PRICE_TYPICAL,1);
   
   double ADX1_1 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_MAIN,0);           // рассчет ADX - торгуем по тренду
   double ADX1_2 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_MAIN,1);
   double ADX_PLUS1_1 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_PLUSDI,0);
   double ADX_PLUS1_2 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_PLUSDI,1);
   double ADX_MINUS1_1 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_MINUSDI,0);
   double ADX_MINUS1_2 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_MINUSDI,1);
   
   double iVAR_1 = iCustom (Symbol(),trend_period, "iVAR", n, nBars, 0, 1);                    // расчет индикатора iVAR
   
   // определение входа в рынок по пробою фрaктала        
      F1=iFractals(Symbol(), signal_period, MODE_UPPER, 3); 
        if (F1>0) F11 = F1;      
             
      F2=iFractals(Symbol(), signal_period, MODE_LOWER, 3); 
        if (F2>0) F22 = F2; 
...

               if (Ask > F11 &&                                                                    // пробой фракталя вверх на СИГНАЛЬНОМ таймфрейме 
                   ADX1_1 > ADXOpenLevel  && ADX_PLUS1_1 - ADX_MINUS1_1 > 0 && 
                   ADX1_1 < ADX_PLUS1_1 && ADX1_1 > ADX1_2  &&                                   // АДХ основной тенденции для лонга растет и выше уровня
                      Open[1] > MA_1 && Close[1] > MA_1 &&                                       // цена выше МА основной тенденции 
                      iVAR_1 < 0.5 &&                                                            // тренд на основном ТФ   
             //.........................................ФИЛЬТРЫ...................................
             //                                        ПОЛОСОВОЙ
             //              iOpen(Symbol(), trend_period,1) < iClose(Symbol(), trend_period,1) &&  // белая свеча на основной тенденции
             
             //                                        ДИСКРЕТНЫЙ (ПО ЧАСАМ)                          
             //             (Hour()==9 || Hour()==10 || Hour()==11 || Hour()==12 || Hour()==13 || Hour()==23 || Hour()== 0 
             //             || Hour()==16 || Hour()==17 || Hour()==22 || Hour()==19 || Hour()==20 || Hour()==21 ))
                            (TimeHour(TimeCurrent()) >= Start && TimeHour(TimeCurrent()) <  End))
                          
               {
               WmOrderSend(Symbol(), OP_BUY, Lots_New, Ask, 0, 0, "старт после профита", MagicNumber);
               }
        

Und trend_period >= signal_period . Ich meine, sagen wir, trend_period =PERIOD_H1, signal_period =PERIOD_M30, ich teste ein und denselben Expert Advisor, der die Eröffnung eines neuen Balkens gemäß dem Modell des Testers steuert - durch Eröffnungspreise auf TFs M1, M15, M30 - und jedes Mal erhalte ich neue Charts und unterschiedliche Berichte... Warum ist das möglich? Sagen Sie mir, wer kennt sich damit aus oder hat ähnliche Erfahrungen gemacht ...

P.S. Diese Frage wurde bereits gestellt - es wurde empfohlen, die Berechnung eines Fraktals auf dem 3. Balken zu machen, weil auf dem 2. (wie ich es früher hatte) seine Neudarstellung auf verschiedenen TFs möglich ist, ich habe es auf 3 korrigiert, aber die Frage bleibt offen...


 
Können Sie mir das bitte sagen! Wie schreibe ich die Differenz in MACD-Variablen in Pips? Zum Beispiel:
if ( MACDCurrent-MACDSignal)>5*Point   // ??
 
forexnew:
Das ist eine knifflige Angelegenheit. Und wie haben Sie das Problem gelöst, dass die hochgeladenen Daten nicht gespeichert werden, ohne den Zeitrahmen zu ändern, wenn das kein Geheimnis ist? Der Punkt ist, dass der EA die hochgeladenen Daten nicht sieht, bis er neu initialisiert wird.
Die Aufgabe bestand darin, den hochgeladenen Verlauf in den Verlaufsdateien zu speichern. Während des Ladens wird die gesamte Historie im Speicher abgelegt. Nachdem wir das MT4-Fenster geschlossen haben, beginnen wir mit dem Speichern in den Dateien mit den MT4-Tools. Dies ist kein schneller Prozess.
 

Liebe Fachleute!

Ich bitte Sie um Ihre Hilfe!

if (((pBid-OrderOpenPrice()) >= -60)
{
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,OOP-23*Point,5,pBid-SL*Point,OOP-3*Point,"Отложка BUY_STOP ",mn,5,0);
}
if (((OrderOpenPrice()-pAsk) >= -60)
{
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,OOP+23*Point,5,pAsk+SL*Point,OOP+3*Point,"Отложка SELL_STOP ",mn,5,0);
}

Ich habe einen Handelsroboter, der jeweils 20-80 Trades macht. Ich kann nicht verstehen, dass es von der Maklerfirma abhängt?

Anstatt einer - legt 100 Stück.

Bitte um Hilfe!

 

Hallo meine Herren ... ich habe folgende Frage ... ein Netbook (Toshiba) mit einer 1.66 Single-Core-CPU ... und 1 Gig RAM ... wird es mit einem Roboter mit einem großen Code fertig? Das heißt, wird es keinen Unterschied in der Entscheidungsgeschwindigkeit mit PC geben? Und ist ein 3G-Modem für den Handel geeignet?

------------------------------------------------------------------------------------

Im Detail... Ich brauche meinen EA, um 24 Stunden am Tag zu arbeiten und "online" zu sein... Ich weiß nicht, wie ich dieses Problem lösen soll, denn in meiner Gegend kommt es häufig zu Stromausfällen, weil die PCs und ISP-Geräte im Eingangsbereich nicht funktionieren... Ich denke, dass ich dieses Problem durch den Kauf eines Netbooks und eines 3G-Modems lösen kann...

 

Fachleute, bitte teilen Sie uns mit, wo das Problem liegt.

Einfacher Experte:

int start()
{ 

Print(TimeToStr(iTime(pair, PERIOD_D1, 1)),", ", TimeToStr(TimeCurrent())); 

} 

Das Prüfgerät gibt aus:

2011.09.29 01:04:47 2011.09.26 23:58 Test EURUSD,M1: 1970.01.01 00:00, 2011.09.26 23:58
2011.09.29 01:04:47 2011.09.26 23:58 Test EURUSD,M1: 1970.01.01 00:00, 2011.09.26 23:58
2011.09.29 01:04:47 2011.09.26 23:58 Test EURUSD,M1: 1970.01.01 00:00, 2011.09.26 23:58
.........................................
2011.09.29 01:04:47 2011.09.26 23:57 Test EURUSD,M1: 1970.01.01 00:00, 2011.09.26 23:57
2011.09.29 01:04:47 2011.09.26 23:57 Test EURUSD,M1: 1970.01.01 00:00, 2011.09.26 23:57
.....................................
2011.09.29 01:04:47 2011.09.26 23:56 Test EURUSD,M1: 1970.01.01 00:00, 2011.09.26 23:56
2011.09.29 01:04:47 2011.09.26 23:56 Test EURUSD,M1: 1970.01.01 00:00, 2011.09.26 23:56

Theoretisch sollte der erste Termin der Beginn des Vortages sein.

Bitte beraten Sie mich, wo ich suchen soll. Die gesamte Historie wird heruntergeladen.

 
Zzumer:

Obwohl der erste Termin theoretisch der Beginn des Vortages sein sollte.

Sagen Sie mir, wo ich suchen soll. Der gesamte Verlauf wird heruntergeladen.


Sie sind also im Protokoll.

1000 erste Balken (17 Stunden) reichen nicht aus, um sich auf den Vortag zu beziehen.