[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 529

 
001:
Können Sie mir sagen, ob es einen Auto-Optimierer gibt, der die Parameter während des Tests optimiert? Ich muss die Idee überprüfen.
Es gibt sogar einen näheren, direkt auf unserer Website.
Und es gibt auch so etwas wie eine Suche, bei der die Wörter, mit denen das Thema benannt wird, in eine Suchmaschine eingegeben werden.
http://www.google.ru/search?as_sitesearch=mql4.com&as_q=автооптимизатор
 

Könnten Sie uns bitte mitteilen, wie man in einer schwebenden Order in einem EA korrekt angibt, dass sie um 23:00 Uhr automatisch gelöscht wird?

Diese Option führt zu einem Fehler:

  datetime Tim=D'23:00';
   int    Cur_Hour=Hour();             // Серверное время в часах   
   double Cur_Min =Minute();           // Серверное время в минутах   
   double Cur_time= Cur_Hour + Cur_Min/100; // Текущее время   
   if (Cur_time>=20.00&&Cur_time<=20.00&&order==false)
  {

ticket=OrderSend(Symbol(),OP_BUYLIMIT,0.1,Bid-Spread,2,Bid-Spread-SL,Bid, Tim);
 
Andreev:

Könnten Sie uns bitte mitteilen, wie man in einer schwebenden Order in einem EA korrekt angibt, dass sie um 23:00 Uhr automatisch gelöscht wird?

Diese Option führt zu einem Fehler:


int Tim=iTime(NULL, Period_D1,0)+23*60*60;
ticket=OrderSend(Symbol(),OP_BUYLIMIT,0.1,Bid-Spread,2,Bid-Spread-SL,Bid, Tim);
Etwa so
 
dmmikl86:

Ich bin kein Anfänger Programmierer für ein paar Jahre, schrieb ich den Indikator aus einer anderen Sprache und ich stolperte auf Überzeichnung.

Ich bin Anfänger, ich habe den Indikator in einer anderen Sprache umgeschrieben:


Ich würde den Indikator lieber als Datei haben. Niemand wird die Teile in eine Datei einfügen.
 
Andreev:

Diese Option führt zu einem Fehler:

int Tim;
   int    Cur_Hour=Hour();             // Серверное время в часах   
   double Cur_Min =Minute();           // Серверное время в минутах   
   double Cur_time= Cur_Hour + Cur_Min/100; // Текущее время   
   if (Cur_time>=20.00&&Cur_time<=20.00&&order==false)
  { Tim=TimeCurrent( )+ (23-Cur_time)*3600

ticket=OrderSend(Symbol(),OP_BUYLIMIT,0.1,Bid-Spread,2,Bid-Spread-SL,Bid, Tim);


Etwa so.
 
Vinin:

Etwa so

Es wird ein Fehler angezeigt:


2011.07.19 18:56:15 2011.07.18 20:00 Rückkehr EURUSD,M1: OrderSend Fehler 4062
2011.07.19 18:56:15 2011.07.18 20:00 Rückgabe: der Kommentar-Parameter für die Funktion OrderSend muss ein String sein

 
alexshell:

So ist das nun mal.

Aus irgendeinem Grund erhalte ich denselben Fehler. Wenn ich die Tim-Funktion aus der Order entferne, funktioniert es, aber einige Trades öffnen nach 23.00 Uhr. Was kann ich tun, um dies einzuschränken?
 
Andreev:

Ich habe einen Fehler:


2011.07.19 18:56:15 2011.07.18 20:00 Rückkehr EURUSD,M1: OrderSend Fehler 4062
2011.07.19 18:56:15 2011.07.18 20:00 Rückgabe: der Kommentar-Parameter für die Funktion OrderSend muss ein String sein


Entschuldigung, ich habe Ihre Version bearbeitet, ohne sie zu überprüfen.

 ticket=OrderSend(Symbol(),OP_BUYLIMIT,0.1,Bid-Spread,2,Bid-Spread-SL,Bid, "",0,Tim, CLR_NONE);
 
Vinin:


Entschuldigung, ich habe Ihre Version ohne Überprüfung bearbeitet.


Vielen Dank!!! Es funktioniert :)
 

Guten Abend!!! Ich habe eine Frage zu der Funktion "Alert". Hier ist ein Roboter ohne ein großes Mittelstück und viele h

//+------------------------------------------------------------------+
//|                                                    пробныйй .mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
extern double stoploss=0; extern double takeprofit=20;extern int otstup=20; extern datetime expiration=0;

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
  
  
  int tiket,tikett;double volume=0.1;int i=0,R1=0,R2=0,A=1 ;double price; int stsBUY;int stsSELL;double Price;int C=0;datetime wremjapomnim;
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {int X,Y; double price=NormalizeDouble((Ask+Bid)/2,4) ; Alert ("price", price);Alert("otstup*Point",otstup*Point);
//----
Alert ("Price +otstup*Point",Price +otstup*Point);Alert ("Price+takeprofit*Point+otstup*Point", Price+takeprofit*Point+otstup*Point);
tiket= OrderSend( Symbol(), OP_BUYSTOP,  volume*A, Price +otstup*Point, Point* 3, R1, Price+takeprofit*Point+otstup*Point, "OP_BUYSTOP", 1000,  expiration, Red); 
   Alert ("OP_BUYSTOP", GetLastError( ));
  Alert ("Price -otstup*Point",Price -otstup*Point);Alert ("Price-takeprofit*Point-otstup*Point", Price-takeprofit*Point-otstup*Point); 
tikett= OrderSend( Symbol(), OP_SELLSTOP,  volume*A, Price -otstup*Point, Point* 3,R2, Price-takeprofit*Point-otstup*Point, "OP_SELLSTOP" , 2000,  expiration,C'0,128,255' );
    Alert ("OP_SELLSTOP", GetLastError( )); 
   
//----

// Здесь код для закрытия всех открытых позиций (тоже в цикле)
         for ( i=0; i<OrdersTotal(); i++) {
           OrderSelect(i, SELECT_BY_POS );
              if (  OrderType( )==OP_BUY && OrderType( )==OP_SELL ){
                          OrderClose( OrderTicket( ), OrderLots( ), OrderClosePrice( ) , 0, CLR_NONE);
   Alert ("OrderClose-vse-2",  GetLastError( ) ); C=0;A=1; }} 
         // Здесь код для удаления всех отложенных ордеров (также в цикле)
         for ( i=0; i<OrdersTotal(); i++) {
         OrderSelect(i, SELECT_BY_POS );
           if (  OrderType( )==OP_BUYSTOP && OrderType( )==OP_SELLSTOP ){ 
            OrderDelete(OrderTicket( )) ; Alert ("OrderDelete-vse-2",  GetLastError( ) ); }}    
        
   return(0);
  }
//+------------------------------------------------------------------+
Alert sollte den Preis protokollierenAlert ("price", price); sagen wir 1,4825, und das tut es, d.h. die Variable ist normal. Und dann!!!

Alert ("Price +otstup*Point",Price +otstup*Point); Es ist Price + indent(20pp)* multiply by a point(0.0001) total-1.4805 sollte sein, (!!!!) aber schreibt 0.002

usw. Hier: Wie soll ich das verstehen? Wie lautet die Syntax für die Formeln?

Grund der Beschwerde: