[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 87
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Tut mir leid, aber es steht definitiv in den Annalen. Unwissenheit über die englische Sprache ist keine Entschuldigung.
Ich weiß ehrlich gesagt nicht, wie hoch der EURUSD-Spread am Mikro ist. Sie sind wahrscheinlich aus diesem Forum verbannt. Diese Mistkerle lassen sich immer etwas einfallen, um dich fernzuhalten.
Hallo, bitte helfen Sie mir bei einem, ich glaube elementaren, Punkt.
int start()
{
OrderSend(Symbol(),OP_BUY,1,Ask,2,0,0);
Alert(GetLastError());
return;
}
Das Skript öffnet einen Marktauftrag und alles ist in Ordnung. Aber wenn ich einen beliebigen Wert für SL oder TP einstelle, erhalte ich die Fehlermeldung "Wrong Stop".
int start()
{
OrderSend(Symbol(),OP_BUY,1,Ask,2,Bid-50*Point,Bid+50*Point);
Alert(GetLastError());
return;
}
Dieser Code funktioniert nicht mehr. Was ist los? Ich kann es nicht herausfinden...
int start()
{
OrderSend(Symbol(),OP_BUY,1,Ask,2,1.31845,1.40000);
Alert(GetLastError());
return;
}
Und es funktioniert auch nicht, wenn ich numerische Werte für Stop und Profit eingebe. Der Mindestabstand zwischen Auftrag und Stoppauftrag ist in Ordnung.
Liebe Fachleute! Ich habe eine Frage. Ich habe einen EA, der nach mehreren Kriterien handelt. Wie kann ich ihn dazu bringen, Aufträge separat zu modifizieren? Zum Beispiel habe ich zwei KAUF-Aufträge durch verschiedene Signale eröffnet, ein Break-Even-Level ist 90pp mit 40pp-Schritten, ein anderer ist 50pp mit 50pp-Schritten. ich konnte es nicht tun. Da ich es bereits ausprobiert habe, habe ich gesehen, wie viele Signale ich erhalten habe, und ich weiß nicht, wie ich sie nutzen soll. Vielen Dank im Voraus!
Liebe Fachleute! Ich habe eine Frage. Ich habe einen EA, der nach mehreren Kriterien handelt. Wie kann ich ihn dazu bringen, Aufträge separat zu modifizieren? Zum Beispiel habe ich zwei KAUF-Aufträge durch verschiedene Signale eröffnet, ein Break-Even-Level ist 90pp mit 40pp-Schritten, ein anderer ist 50pp mit 50pp-Schritten. ich konnte es nicht tun. Da ich es bereits ausprobiert habe, habe ich gesehen, wie viele Signale ich erhalten habe, und ich weiß nicht, wie ich sie nutzen soll. Ich habe es bereits ausprobiert und habe keine Ahnung, wie ich es benutzen soll.
-Es ist möglich, Trades durch verschiedene Signale mit unterschiedlichen Magic-Nummern zu eröffnen.
-Es ist möglich, "Markierungen" (z. B. die gleiche Ebene der Schleppnetz) in das Kommentarfeld bei der Eröffnung von Geschäften zu setzen und dann zu analysieren
ohne den Code zu Ihrer Frage zu sehen, verstehe ich nicht ganz, was genau Sie separat tun wollen
Der Code sieht ungefähr wie folgt aus:
for( int c=1; c<=OrdersTotal(); c++) // Orderschleife
{
OrderSelect(c-1,SELECT_BY_POS); // Wenn es eine weitere
// Orderanalyse:
if(OrderMagicNumber()<1000)
if (R==1 && SL<OrderOpenPrice() && Bid-OrderOpenPrice()>((NoLoss)*Point) )
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*(NoLoss),OrderTakeProfit(),0,Blue);
return;
}
if (R==2 && SL>OrderOpenPrice() && OrderOpenPrice()-Ask>((NoLoss)*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*(NoLoss),OrderTakeProfit(),0,Blue);
return;
}
if (R==1 && SL>=OrderOpenPrice() && Bid - SL > ((NoLoss*Point)+(StepLoss*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*NoLoss,OrderTakeProfit(),0,Blue);
return;
}
if (R==2 && SL<=OrderOpenPrice() && SL-Ask>((NoLoss*Point)+(StepLoss*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*NoLoss,OrderTakeProfit(),0,Blue);
return;
}
return;
}
//--------------------------------------------------------------------
for(c=1; c<=OrdersTotal(); c++) // Orderschleife
{
OrderSelect(c-1,SELECT_BY_POS); // Wenn es eine weitere
// Orderanalyse:
if (OrderMagicNumber()>1000)
if (Z==3 && Bid-OrderOpenPrice()>((NoLoss1)*Point) )
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*NoLoss1,OrderTakeProfit(),0,Blue);
return;
}
if (Z==4 && SL1>OrderOpenPrice() && OrderOpenPrice()-Ask>NoLoss1*Point)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*NoLoss1,OrderTakeProfit(),0,Blue);
return;
}
if (Z==3 && SL1>=OrderOpenPrice() && Bid - SL1 > ((NoLoss1*Point)+(StepLoss1*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*NoLoss1,OrderTakeProfit(),0,Blue);
return;
}
if (Z==4 && SL1<=OrderOpenPrice() && SL1-Ask>((NoLoss1*Point)+(StepLoss1*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*NoLoss1,OrderTakeProfit(),0,Blue);
return;
}
return;
}
//--------------------------------------------------------------------
// Auftragswerte
RefreshRates(); // Daten aktualisieren
Min_Lot=MarketInfo(Symb,MODE_MINLOT); // Min. Lots
Free =AccountFreeMargin(); // Freie Mittel
One_Lot=MarketInfo(Symb,MODE_MARGINREQUIRED);// Wert von 1 Lot
Step =MarketInfo(Symb,MODE_LOTSTEP); // Step change size
if (Lots > 0) // Wenn Lots gesetzt sind, dann
Lts =Lots; // mit ihnen arbeiten
else // % freie Mittel
Lts=MathFloor(Free*Prots/One_Lot/Step)*Step;// Zu öffnen
if(Lts < Min_Lot) Lts=Min_Lot; // Nicht weniger als Minimum
if(Lts*One_Lot > Free) // Lots teurer als Free
{
Alert(" Nicht genug Geld ", Lts," Lots");
return; // Exit start()
}
//--------------------------------------------------------------- 8 --
// Eröffnen von Aufträgen
{
if (Total<2 && Opn_B==true && B==false)
{
// Kriterium zur Eröffnung eines Kaufauftrags. Buy
RefreshRates(); // Daten aktualisieren
SL=Bid - New_Stop(StopLoss)*Point; // Berechnung von SL open.
TP=Bid + New_Stop(TakeProfit)*Point; // Berechnung von TP open.
Alert("Attempting to open Buy. Waiting for reply...");
Ticket=OrderSend(Symb,OP_BUY,Lts,Ask,2,SL,TP,NULL,y);//Open Buy
if (Ticket > 0) // It worked :)
{
Alert ("Opened Buy order ",Ticket);
B=true;
S=false;
Y=OrderMagicNumber();
R=1;
return; // Exit start()
}
if (Fun_Error(GetLastError())==1) // Fehlerbehandlung
continue; // Erneuter Versuch
// Beenden start()
}
if (Gesamt<2 && Opn_S==true && S==false) // Offene Aufträge. none +
{
Sleep(10000); // open Sell crit. Sell
RefreshRates(); // Daten aktualisieren
SL=Ask + New_Stop(StopLoss)*Point; // Berechnung von SL open.
TP=Ask - New_Stop(TakeProfit)*Point; // Berechnung von TP open.
Alert("Attempting to open Sell. Waiting for reply...");
Ticket=OrderSend(Symb,OP_SELL,Lts,Bid,2,SL,TP,NULL,y);//Open Sel
if (Ticket > 0) // It worked :)
{
Alert ("Sell order opened ",Ticket);
S=true;
B=false;
Y=OrderMagicNumber();
R=2;
return; // Exit start()
}
if (Fun_Error(GetLastError())==1) // Fehlerbehandlung
continue; // Wiederholen
// Beenden start()
}
if (Gesamt<2 && Opn_B1==true && B1==false)
{
RefreshRates(); // Daten aktualisieren
SL1=Bid - New_Stop1(StopLoss1)*Point; // SL offen berechnen
TP1=Bid + New_Stop1(TakeProfit1)*Point; // Berechnung des TP open.
Alert("Attempting to open Buy. Waiting for reply...");
Ticket=OrderSend(Symb,OP_BUY,Lts,Ask,2,SL1,TP1,NULL,x);//Open Buy
if (Ticket > 0) // Es hat funktioniert :)
{
Alert ("Opened Buy order ",Ticket);
B1=true;
S1=false;
X=OrderMagicNumber();
Z=3;
return; // Exit start()
}
if (Fun_Error(GetLastError())==1) // Fehlerbehandlung
continue; // Erneuter Versuch
// Beenden start()
}
if (Gesamt<2 && Opn_S1==true && S1==false) // Offene Aufträge. none +
{
Sleep(10000); // open Sell crit. Sell
RefreshRates(); // Daten aktualisieren
SL1=Ask + New_Stop1(StopLoss1)*Point; // Berechnung der SL-Eröffnung.
TP1=Ask - New_Stop1(TakeProfit1)*Point; // Berechnung der TP-Eröffnung.
Alert("Attempting to open Sell. Waiting for reply...");
Ticket=OrderSend(Symb,OP_SELL,Lts,Bid,2,SL1,TP1,NULL,x);//Open Sel
if (Ticket > 0) // It worked :)
{
Alert ("Sell order open ",Ticket);
S1=true;
B1=false;
X=OrderMagicNumber();
Z=4;
return; // Exit start()
}
if (Fun_Error(GetLastError())==1) // Fehlerbehandlung
continue; // Retry
// Exit start()
}
break; // Exit while
}
Der Code sieht ungefähr so aus:
Der Code sieht ungefähr wie folgt aus:
for( int c=1; c<=OrdersTotal(); c++) // Auftragsschleife
{
OrderSelect(c-1,SELECT_BY_POS); // Wenn es einen nächsten
// Auftragsanalyse:
if(BestellMagischeZahl()<1000)
if(R==1 && SL<OrderOpenPrice() && Bid-OrderOpenPrice()>((NoLoss)*Point) )
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*(NoLoss),OrderTakeProfit(),0,Blue);
Rückkehr;
}
if (R==2 && SL>OrderOpenPrice() && OrderOpenPrice()-Ask>((NoLoss)*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*(NoLoss),OrderTakeProfit(),0,Blue);
Rückkehr;
}
if (R==1 && SL>=OrderOpenPrice() && Bid - SL > ((NoLoss*Point)+(StepLoss*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*NoLoss,OrderTakeProfit(),0,Blue);
Rückkehr;
}
if (R==2 && SL<=OrderOpenPrice() && SL-Ask>((NoLoss*Point)+(StepLoss*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*NoLoss,OrderTakeProfit(),0,Blue);
Rückkehr;
}
Rückkehr;
}
//--------------------------------------------------------------------
// Im Prinzip brauchen Sie nichts weiter zu schreiben: es wird sowieso nicht ausgeführt
for(c=1; c<=OrdersTotal(); c++) // Auftragsschleife
{
OrderSelect(c-1,SELECT_BY_POS); // Wenn es einen nächsten
// Auftragsanalyse:
wenn (BestellMagischeZahl()>1000)
wenn (Z==3 && Bid-OrderOpenPrice()>((NoLoss1)*Point) )
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*NoLoss1,OrderTakeProfit(),0,Blue);
Rückkehr;
}
if (Z==4 && SL1>OrderOpenPrice() && OrderOpenPrice()-Ask>NoLoss1*Point)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*NoLoss1,OrderTakeProfit(),0,Blue);
Rückkehr;
}
if (Z==3 && SL1>=OrderOpenPrice() && Bid - SL1 > ((NoLoss1*Point)+(StepLoss1*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*NoLoss1,OrderTakeProfit(),0,Blue);
Rückkehr;
}
if (Z==4 && SL1<=OrderOpenPrice() && SL1-Ask>((NoLoss1*Point)+(StepLoss1*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*NoLoss1,OrderTakeProfit(),0,Blue);
Rückkehr;
}
Rückkehr ; // Aber "sicherheitshalber" gibt es auch einen "Testschuss" ;)
}
........ Nichts anderes zählt .......
//
//--------------------------------------------------------------------
// Wert bestellen