FOREX - Trends, Prognosen und Auswirkungen 2016 - Seite 722

 
new-rena:

haben Sie das jeden Tick. Verwenden Sie iTime(...PERIOD_XX...). Wenn Sie dies tun, wird es nur bei der Öffnung der Kerze der von Ihnen angegebenen TF funktionieren. Wenn der Befehl zum Öffnen/Schließen der Order jedoch einen Fehler ergibt, wiederholt der Roboter ihn in einem neuen Candlestick.

Oder iTime(...Period()...). - auf dem aktuellen Zeitrahmen, d. h. auf dem Diagramm, auf dem sich der EA befindet

Ich habe den Code aus dem Beispiel hier vor fünf Jahren heruntergeladen, aber jetzt sind alle "schlau" und fluchen nur noch und kämpfen um Freiberuflichkeit und Markt...

Wie kann man die Öffnung einer Kerze auf eine neue und korrekte Weise bestimmen?

 
Vladimir Zubov:

1. wie mache ich eine neue Candlestick-Steuerung, so dass eine Iteration am ersten Tick ist?

Ich scheine diesen Code zu haben, um die Auslösung bei der Öffnung einer Kerze zu steuern :(

2. Warum nicht, es geht um Kims Funktion, den Balken einer offenen Position zu bestimmen?

P/S Turned MT4 jetzt wieder ganz neu schreiben ...

1.

if(iTime(Symbol(),PERIOD_H1,0)==prevTime) return(0);

datetime prevTime=iTime(Symbol(),PERIOD_H1,0);

Weiter Ihr Code

Und das war's....

//Dies ist für H1

Ah ja, die Bar ist dort zu sehen. Nun, dann wird es funktionieren.

Und nach int ticket=OrderSelect() - haben Sie eine Analyse - wurde die Bestellung geöffnet oder nicht? if(ticket<0)GetLastError() - ist es das?

 
new-rena:

1.

if(iTime(Symbol(),PERIOD_H1,0)==prevTime) return(0);

prevTime=iTime(Symbol(),PERIOD_H1,0);

Weiter Ihr Code

Und das war's....

//Dies ist für H1

Yep ... Sie müssen etwas zu kombinieren, ich nehme an, Sie nicht verwenden void OnTick(), ich meine 2014 Syntax?
 
Vladimir Zubov:
Ja ... Ich denke, Sie sind nicht mit void OnTick(), ich meine 2014 Syntax?
ja
 
new-rena:
ja

Oder Sie können Ihre eigene Version ersetzen, eine korrektere, ich habe Probleme mit dem Kompilieren, ich glaube, Sie haben Klammern in Return, aber ich weiß nicht ?

 
//+------------------------------------------------------------------+
//|                                                       Privet.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
// ============= Переменные ==========================================
int      prev_time = 0;     // Работа по ценам открытия свечи
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {//-Start-

// ======= Работа по ценам открытия свечи ============================
  if ( Time[0] <= prev_time ) {return;}
  prev_time = (int)Time[0];

// ========================== My EA ==================================
{


}  

// ========================== EA END =================================

  }//-Start End-

// ================= Функции =========================================  
//+------------------------------------------------------------------+
Это MT4
 
0
Vladimir Zubov:

Ohne die Klammern war das Kompilieren vorher irgendwie verpönt. Warum "<="? Im Gegenteil, wenn die Gleichheit "==" ist, treten wir sie zurück. Das heißt, wenn die aktuelle Bar, wir warten, bis die Zeit wird anders. Und die Zeit ist int, es sollte datetime sein, richtig?

int init()   { //---    //---    return(0);   } //+------------------------------------------------------------------+ //| Expert deinitialization function                                 | //+------------------------------------------------------------------+ int deinit()   { //---    return(0);   } //+------------------------------------------------------------------+ //| Expert tick function                                             | //+------------------------------------------------------------------+ int start()

{

return(0);

}

 
new-rena:
0

Ohne die Klammern war das Kompilieren vorher irgendwie verpönt. Warum "<="? Im Gegenteil, wenn es gleich (==) ist, treten wir es zurück. Das heißt, wenn aktuelle bar, wir warten, bis die Zeit wird anders. Und die Zeit ist int, ich glaube, es war immer datetime?

Ich habe nicht ins Detail gehen, irgendwo hier nahm einige Lehrbuch oder Artikel, aber es war im Jahr 2012 oder früher, vielleicht ist jetzt anders, das ist, warum es manchmal in Echtzeit glitches.

P.S. Das Produkt ist roh für den Markt, ich werde von der Zulassung zurückziehen, ein seltsames Problem nicht bemerkt hat, bevor.

Es stellt sich heraus, dass ich nach der Iteration nicht in Return herausgekommen bin und wieder arbeiten kann?

 
Vladimir Zubov:
Ich habe nicht ins Detail gehen, irgendwo hier ist aus einem Lehrbuch oder Artikel genommen, aber es war im Jahr 2012 oder früher, vielleicht ist jetzt anders, das ist, warum es manchmal glitches im wirklichen Leben.

In Ordnung, also...

Warum kann es nicht funktionieren? Führen Sie das Programm im visuellen Modus des Testers aus - diese Dinge werden auftauchen und Sie werden sie einmal beheben. Das nächste Mal wird es nicht mehr so lästig sein.

Es würde auch nicht schaden, die Demo anschließend zu polieren.

 
new-rena:
In Ordnung, also...
Also für mich für den Markt, und das ist, wie ich immer die Kerze blockieren. Was ist, wenn die Leute fragen, warum es zweimal geöffnet wurde und ich es selbst nicht weiß? Das ist nicht gut...)