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

 

for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && // Prüfung auf offene Position
OrderSymbol()==lSymbol()) // Prüfung auf Symbol
{

?

 

Hilfe mit dem Code plz! Warum bekomme ich 138 in diesem Code, und was hat es damit zu tun? Geschäfte öffnen, aber wenn Sie schließen der Preis ist irgendwie nicht das gleiche, was ist das? alles ist einfach. expert advisor in s Kerzen sollte das Geschäft zu schließen und zu öffnen, wenn das Fraktal durchdrungen ist. danke im Voraus für den Tipp

extern int s=5;



extern int stime=60;
extern int lots=1;
extern int slippage=5;
extern double sl=NULL;
extern double tp=NULL;
double upfr,dnfr=0.0;//levels of last fractals
double tClose=NULL;
double tOpen=NULL;
int flag=0;
int init()
{
//----



//----
return(0);
}
//+------------------------------------------------------------------+
//| Experten-Deinitialisierungsfunktion |

//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Expertenstartfunktion |
//+------------------------------------------------------------------+

int start()//bei Ausbruch öffnen und nach s Kerzen schließen
{
//----
upfr=iFractals(Symbol(),PERIOD_H1,MODE_UPPER,4)
dnfr=iFractals(Symbol(),PERIOD_H1,MODE_LOWER,4);
//OPPER ORDERS ON PROBIT
if(upfr>0 && High[1]>upfr && flag==0) //wenn das Fraktal nach oben zeigt und das Fraktalniveau überschritten wird
{
tOpen=Time[0];
tClose=tOpen+s*stime*60;
OrderSend(Symbol(),OP_BUY,lots,Bid,slippage,sl,tp);
flag=1;
}
if(dnfr>0 && Low[1]<dnfr && flag==0)//wenn Fraktal unten ist und Fraktal-Level unten
{
tOpen=Time[0];
tClose=tOpen+s*stime*60;
OrderSend(Symbol(),OP_SELL,lots,Ask,sl, sl, tp);
flag=1;
}

// SCHLIESSEN VON ORDNERN NACH ZEITENDE
if(Time[0]>=tClose )// wenn die Zeit vor dem Schließen verstrichen ist
{
Print("FUNKTION SCHLIESSEN");
OrClose();
flag=0;
}


//----
return(0);
}
//+------------------------------------------------------------------+
//alle Aufträge schließen
void OrClose()
{
for(int i=OrdersTotal()-1;i>=1;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),lots,OrderOpenPrice(),0.0005);
}
}
return(0);
}
 
Qwertee:

Hilfe mit Code plz! Warum bekomme ich einen 138 Fehler in diesem Code??? und was hat es damit zu tun? Angebote öffnen, aber wenn Sie schließen der Preis ist irgendwie nicht das gleiche, was ist es?

OrderClose(OrderTicket(),lots,OrderOpenPrice(),0.0005);

ändern Sie es in

         if(OrderType()==OP_BUY)
           {
            OrderClose(OrderTicket(),OrderLots(),Bid,slippage);
           }
         else
           {
            OrderClose(OrderTicket(),OrderLots(),Ask,slippage);
           }
 
Guten Tag. Fachleute, die sich mit dem Zigzag-Indikator beschäftigt haben, raten, wie man die letzten beiden Werte der Spitzenwerte erhält: Hoch und Tief?
 

Guten Tag.

Bitte helfen Sie mir bei der Eröffnung von Aufträgen. Ich verwende einen EA auf einem Demokonto, wenn ich eine Kauf- oder Verkaufsbedingung erhalte, zeigt er 130 Fehler an.

Hier ist die Funktion der Auftragseröffnung:

int NewOrder(int Cmd,double Lot)
{double TP=0; //тейкпрофит
 double SL=0; //стоплосс
 double PR=0; //Цена
 while(!IsTradeAllowed()) Sleep(100);
 RefreshRates ();
 if(Cmd==OP_BUY)
   {PR=Ask;
    if(TakeProfit>0) TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
    if(StopLoss>0) SL=NormalizeDouble(Bid-StopLoss*Point,Digits);}
 if(Cmd==OP_SELL)
   {PR=Bid;
    if(TakeProfit>0) TP=NormalizeDouble(Bid-TakeProfit*Point,Digits);
    if(StopLoss>0) SL=NormalizeDouble(Ask+StopLoss*Point,Digits);}
 int tic=OrderSend(Symbol(),Cmd,Lot,PR,20,SL,TP,"",0,0,CLR_NONE);
 if(tic<0) Print("Ошибка открытия ордера: ",GetLastError());
return(tic);}

Ich habe bei anderen EA nachgesehen und festgestellt, dass mit der Losberechnung alles in Ordnung ist.

Demokonto bei Alpari, Typ Micro. Take und Stop sind 100p, also 10 Pips, da Alpari 5 Zeichen hat

 
Normalisieren Sieden Eröffnungskurs
 
FAQ:
Normalisieren Sie den Eröffnungskurs.


Wie kann man das normalisieren?

Richtig?

PR=NormalizeDouble(Ask,Digits);

Wenn ja, ändert sich nichts.

Ich habe noch nicht viel Erfahrung mit dem Programmieren. Können Sie bitte erklären, wie man es normalisiert?

 
Dann überprüfen Sie die Größe des Stopps und des Gewinns vorher, wenn es größer ist als Ihr Stopp und Gewinn - passen Sie sie an. wenn es Null ist. dann müssen Sie einen Auftrag mit Null Stopp und Gewinn zuerst setzen, und dann ändern Sie sie auf die richtigen Ebenen.
 

Guten Abend. Frage: Wenn ich einen Teil eines Handels schließe, eröffnet der EA eine Art neuen Handel mit einem neuen Ticket. Bleibt die Magie der neuen Ordnung dieselbe?

 
Ich habe den MetaTrader 4 installiert und ein Demokonto eröffnet. Versucht, Aufträge zu öffnen/abzuschließen. Wie kann ich nun das Terminal selbst dazu bringen, eine Verkaufsorder auszulösen, wenn der Kurs steigt, und eine Kauforder, wenn er fällt, indem ich Informationen wie "Sie brauchen eine Differenz von 2 Kerzen, um die alte Order zu schließen und eine neue zu eröffnen" verwende?