[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 356
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
eine andere Frage, wie man Indikatoren zu mt4 hinzufügen?
danke
eine andere Frage, wie man Indikatoren zu MT4 hinzufügen?
danke
Helfen die Dokumentation und das Lehrbuch nicht weiter?
Danke, ich werde jetzt nachsehen.
Können Sie mir bitte sagen, warum der EA nicht handelt. Setzen Sie es auf Demo (lächelt) - es funktioniert nicht. Es scheint, dass die Funktion am Anfang, die den Handel nur beim Testen erlaubt, entfernt wurde.
extern double Lots=1.0;
extern int Begin=10;
extern inttern Länge=4;
extern int EOD=24;
extern inttern Pips=5;
extern int StopLoss=50;
extern int BreakEven=30;
extern inttern TakeProfit=80;
//+------------------------------------------------------------------+
//| Expertenstartfunktion |
//+------------------------------------------------------------------+
int start()
{
//----
int i,Ticket,LastOrderTime,StartTime,EODTime,Bought=0,Sold=0;
double EntryLong,EntryShort,SLLong,SLShort,TPLong,TPShort;
//Einstellungen
wenn (Symbol()=="EURUSD"){
Begin=10;
Länge=4;
EOD=24;
Pips=5;
StopLoss=50;
BreakEven=30;
TakeProfit=80;
}
else if (Symbol()=="GBPUSD"){
Begin=10;
Länge=4;
EOD=24;
Pips=5;
StopLoss=70;
BreakEven=40;
TakeProfit=120;
}
sonst {
Begin=10;
Länge=4;
EOD=24;
Pips=5;
StopLoss=50;
BreakEven=30;
TakeProfit=80;
}
//Zeit zählen
if(Stunde()>=Beginn-1)
{
StartTime= StrToTime(Begin+":00");
if(DayOfWeek()==5) EODTime = MathMin(StrToTime("22:55"),StrToTime(EOD+":00"));
sonst EODTime = StartTime+(EOD-Begin)*3600-60;
}
//Aufträge einstellen
if(CurTime()>= StartTime && CurTime()<StartTime+300){
//Bereich bestimmen
EntryLong =High[Highest(NULL,0,MODE_HIGH,Length*60/Period(),0)]+(Pips+MarketInfo(Symbol(),MODE_SPREAD))*Point;
EntryShort =Low [Lowest (NULL,0,MODE_LOW, Length*60/Period(),0)]-Pips*Point;
SLLong =MathMax(EntryLong-StopLoss*Point,EntryShort);
SLShort =MathMin(EntryShort+StopLoss*Point,EntryLong);
TPLong =EntryLong+TakeProfit*Point;
TPShort =EntryShort-TakeProfit*Point;
//Bestellungen prüfen
for (i=0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && (OrderType()==OP_BUYSTOP || OrderType()==OP_BUY)) Gekauft++;
if(Gekauft>1){ //mehr als 1 Kaufauftrag
if(CurTime()<=GlobalVariableGet("LastOrderTime")+10) Sleep(10000);
if(OrderSymbol()==Symbol() && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);
if(OrderSymbol()==Symbol() && OrderType()==OP_BUYSTOP) OrderDelete(OrderTicket();
}
if(OrderSymbol()==Symbol() && (OrderType()==OP_SELLSTOP || OrderType()==OP_SELL)) Verkauft++;
if(Verkauft>1){ //mehr als 1 Verkaufsauftrag
if(CurTime()<=GlobalVariableGet("LastOrderTime")+10) Sleep(10000);
if(OrderSymbol()==Symbol() && OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
if(OrderSymbol()==Symbol() && OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket());
}
}
if(Gekauft==0){ //kein Kaufauftrag
if(CurTime()<=GlobalVariableGet("LastOrderTime")+10) Sleep(10000);
Ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,EntryLong,3,SLLong,TPLong,NULL,0,0,Green);
if(Ticket<0 && GetLastError()==130)
Ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SLLong,TPLong,NULL,0,0,Green);
GlobalVariableSet("LastOrderTime",OrderOpenTime())
}
if(Verkauft==0){ //kein Verkaufsauftrag
if(CurTime()<=GlobalVariableGet("LastOrderTime")+10) Sleep(10000);
Ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,EntryShort,3,SLShort,TPShort,NULL,0,0,Green);
if(Ticket<0 && GetLastError()==130)
Ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SLShort,TPShort,NULL,0,0,Green);
GlobalVariableSet("LastOrderTime",OrderOpenTime())
}
}
//Verwaltung geöffneter Aufträge
for (i=0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(CurTime()<=GlobalVariableGet("LastOrderTime")+10) Sleep(10000);
//uzavšenín pozic na konci dne
if(CurTime()>=EODTime){
if(OrderSymbol()==Symbol() && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);
if(OrderSymbol()==Symbol() && OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
if(OrderSymbol()==Symbol() && OrderType()==OP_BUYSTOP) OrderDelete(OrderTicket());
if(OrderSymbol()==Symbol() && OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket());
GlobalVariableSet("LastOrderTime",CurTime());
}
//Zug bei BE, wenn Gewinn>BE
sonst {
if(OrderSymbol()==Symbol() && OrderType()==OP_BUY){
if(Hoch[0]-OrderOpenPrice()>=BreakEven*Point && OrderStopLoss()!=OrderOpenPrice()){
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);
GlobalVariableSet("LastOrderTime",CurTime());
}
}
if(OrderSymbol()==Symbol() && OrderType()==OP_SELL){
if(OrderOpenPrice()-Low[0]>=BreakEven*Point && OrderStopLoss()!=OrderOpenPrice()){
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);
GlobalVariableSet("LastOrderTime",CurTime());
}
}
}
}
//Rücksetzen der globalen Variablen bei EOD
if(CurTime()>=EODTime) GlobalVariablesDeleteAll();
zurück(0);
}
//+------------------------------------------------------------------+
Guten Tag an alle. Ich habe MT4 FIFTY-ZNAK installiert. iMA-Indikator gibt 4 Zeichen, aber wie erhält man 5 Zeichen? Bitte helfen Sie zu verstehen.
Sie hat einen fünfstelligen Wert. Um seinen Wert zu sehen , verwenden Sie
string DoubleToStr( double Wert, int Ziffern)
Konvertiert einen numerischen Wert in eine Textzeichenfolge, die eine Zeichendarstellung einer Zahl in einem bestimmten Genauigkeitsformat enthält.Parameter:
value - Fließkommawert.
digits - Anzahl der Stellen nach dem Dezimalpunkt (0-8).
Roman ... Schön, Sie zu sehen. Ich habe es versucht, es funktioniert nicht, ich verstehe nicht, was falsch ist, visuell gibt es eine Geschichte für den oben genannten Zeitraum, aber wenn ich es getestet habe, gibt es keine...? :/
Wie zeigen Sie dem Programm an, dass der Balken den gleitenden Durchschnitt berührt hat? Sie brauchen keinen Maximal- oder Minimalwert, Sie müssen eine Berührung anzeigen.
Wie zeigen Sie dem Programm an, dass der Balken den gleitenden Durchschnitt berührt hat? Sie brauchen keinen Maximal- oder Minimalwert, Sie müssen eine Berührung anzeigen.