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

 
Dimka-novitsek:
Sorry, ich kann dem Link nicht folgen, er funktioniert bei mir nicht.
int OrdersHistoryTotal( )
Gibt die Anzahl der geschlossenen Positionen und gelöschten Aufträge in der Historie des aktuellen Kontos zurück, die in das Kundenterminal geladen wurden. Die Größe der Verlaufsliste hängt von den aktuellen Einstellungen der Registerkarte "Kontoverlauf" des Terminals ab.
Beispiel:
  // Abrufen von Informationen aus der Handelshistorie int i,accTotal=OrdersHistoryTotal(); for(i=0;i<accTotal;i++) { //---- Prüfen des Auswahlergebnisses if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Fehler beim Zugriff auf die Historienbasis (",GetLastError(),")"); break; } // Arbeiten mit Order ... }
 
Ich danke Ihnen!!!
 

Können Sie mir bitte sagen, wie ich den Namen des Instruments in der Bedingung eines bereits offenen Auftrags korrekt angeben kann? Wenn ein Auftrag EURUSD_bay geöffnet ist, dann sollte EURJPY_sell geöffnet werden. Ich glaube, wir haben hier etwas falsch gemacht. Wenn wir OrderSymbol()=="EURUSD" entfernen, wird die Order geöffnet, aber um die dritte Order zu öffnen, müssen wir dieses Problem noch lösen.

if((OrdersTotal()==1)&&(OrderType()==OP_BUY && OrderSymbol()=="EURUSD"))
     {
     TimeBar=Time[0];
     OPENORDER2("Sell");
     }
 

Kann mir jemand einen Rat geben, wie ich einen Code schreiben kann, der zu einer bestimmten Zeit Geschäfte macht? Ich habe mir die FAQ angesehen und nichts verstanden. Ich bin ein Programmierer, aber ich stehe in direktem Konflikt mit dieser Sprache.

Ich möchte im Detail zeigen, was ich jeden Tag um 8:00 Uhr morgens tun sollte, um einen Stundenbalken zu nehmen und ausstehende Aufträge zu öffnen. Um die schwebenden Aufträge zu schließen, ist es notwendig, entweder durch Ablauf der Zeit oder durch TP. und wieder um 8-00, um eine Bar, etc. zu nehmen. Der nachstehende Code. Das ist ein Problem mit dem ersten Geschäft, das eindeutig nach den Kriterien funktioniert, und dann bekomme ich etwas umsonst. Wenn es nicht schwierig ist, helfen Sie bitte....

//Учет закрытых ордеров-----------------------------------------------
  if (OrderSelect(Ticket,SELECT_BY_TICKET,MODE_HISTORY)==true) or_cl=OrderCloseTime();
   else or_cl=StrToTime(TimeToStr((TimeCurrent()+24*60*60), TIME_DATE)+" "+17+":"+59);
     
   // Предварит.обработка
  
  time_op=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+8+":"+0);
  time_bar=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+7+":"+0);
  Cur_time=StrToTime(TimeToStr(TimeCurrent(), TIME_SECONDS));
 
 if (Cur_time>or_cl)
   {time_op+=24*60*60;
      time_bar+=24*60*60;}
    else {time_op-=24*60*60;
          time_bar-=24*60*60;}  
  
  if (Cur_time<=time_op && Total==0)return;
  // Определяем часовой квадрат--------------------------------------------------------------
   Hit=NormalizeDouble(High[iBarShift(NULL,PERIOD_H1,time_bar)],5);
   Lo=NormalizeDouble(Low[iBarShift(NULL,PERIOD_H1,time_bar)],5); 


 
coolon:

Kann mir jemand einen Rat geben, wie ich einen Code schreiben kann, der zu einer bestimmten Zeit Geschäfte macht? Ich habe mir die FAQ angesehen und nichts verstanden. Ich bin ein Programmierer, aber ich stehe in direktem Konflikt mit der Sprache.

Ich möchte im Detail zeigen, was ich jeden Tag um 8:00 Uhr morgens tun sollte, um einen Stundenbalken zu nehmen und ausstehende Aufträge zu öffnen. Um die schwebenden Aufträge zu schließen, ist es notwendig, entweder durch Ablauf der Zeit oder durch TP. und wieder um 8-00, um eine Bar, etc. zu nehmen. Der nachstehende Code. Das ist ein Problem mit dem ersten Geschäft, das eindeutig nach den Kriterien funktioniert, und dann bekomme ich etwas umsonst. Wenn es nicht schwierig ist, helfen Sie bitte....



h ttps://www.mql5.com/ru/forum/130550

 

Es tut mir leid, ich habe hier einigen Unsinn geschrieben, wenn Sie mir zeigen könnten, wo ich völlig verlegen bin.

Die Posen scheinen sich überhaupt nicht zu öffnen, es passiert nichts.

//+------------------------------------------------------------------+
//| für avalanche.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;

//+------------------------------------------------------------------+
//| Experten-Initialisierungsfunktion |
//+------------------------------------------------------------------+
int init()
{
//----

//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Experten-Deinitialisierungsfunktion |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Expertenstartfunktion |
//+------------------------------------------------------------------+
int tiket,tikett;double volume=0.1;int i=0,R1,R2,A=1 ;double price=PRICE_OPEN;
R1=((PRICE_OPEN- stoploss*Point)*stoploss)/stoploss;R2=((PRICE_OPEN+ stoploss*Point)*stoploss)/stoploss;


int start()
{
//----

OrderSelect()tiket,SELECT_BY_TICKET, MODE_TRADES );
if(OrderSymbol()==Symbol()){
if(OrderMagicNumber( )==1000||OrderMagicNumber( )==2000 ){i=OrdersTotal() ;
wenn (i<2){
tiket= OrderSend( Symbol(), OP_BUYSTOP, volume*A, price+otstup*Point, Point*3, R1, PRICE_OPEN+takeprofit*Point+otstup, "OP_BUYSTOP", 1000, expiration, Red);
Alert ("OP_BUYSTOP", GetLastError( );
tikett= OrderSend( Symbol(), OP_SELLSTOP, volume*A, price -otstup*Point, Point* 3,R2, PRICE_OPEN-takeprofit*Point-otstup, "OP_SELLSTOP", 2000, expiration,C'0,128,255' );
Alert ("OP_SELLSTOP", GetLastError( );
i=Auftragssumme() ; } } }

//----
zurück(0);
}
//+------------------------------------------------------------------+

 
double stoploss=0
Sie können nicht durch Null dividieren.
 
Gute Leute helfen!!!!!! Benötige ein Skript zum Schließen von Positionen an der Bollinger-Mittellinie!!!!! Bitte!!!!
 
alexr7:
Gute Leute helfen!!!!!! Benötige ein Skript zum Schließen von Positionen an der Bollinger-Mittellinie!!!!! Bitte!!!!
Und was ist Ihr Kriterium dafür, dass eine Position auf der Bollinger-Mittellinie liegt?
 
artmedia70:
Und was ist für Sie das Kriterium, dass eine Position auf der Bollinger-Mittellinie liegt ?
Vielen Dank für Ihre schnelle Antwort!!!!!!!!!!!!!! Das Kriterium ist ein Standard-Bollinger-Band-Indikator mit den Parametern: Periode 20, Verschiebung 0, Abweichung 2, gewichteter Schlusskurs(HLCC/4)!!!!!!!