[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 163
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
Hallo zusammen...
Könnten Sie mir bitte sagen, wie ich den Pfad zu den MetaTrader 4 History-Dateien erstellen kann? Wie "c:\Programmdateien\metatrader 4\historie\alpari-classic\"?
Vielen Dank, Sergejew, ich glaube, ich habe es gefunden...
Print("Terminal path: ", TerminalPath() + "\\history\\" + AccountServer() + "\\");
Diese Zeile gibt den richtigen Pfad aus, obwohl der Editor in den Farben falsch ist... Sie sollten den Code wahrscheinlich in Notepad schreiben. Nur ein Scherz.
Guten Abend zusammen!
In Sergey Kovalevs Tutorial habe ich einen Experten gefunden - Trailing Stop. Ich habe es in MetaEditor kopiert und kompiliert, aber das Programm funktioniert nicht. Bitte teilen Sie mir mit, was der Grund dafür ist. Vielleicht mache ich etwas falsch.
ist sie in mql geschrieben?)
Geben Sie mir einfach den Code.
//-------------------------------------------------------------------- // modifystoploss.mq4 // Konzipiert als Beispiel für das MQL4-Tutorial //-------------------------------------------------------------------- extern int Tral_Stop=10; // Dist. verfolgen //--------------------------------------------------------------- 1 -- int start() // Spezialfunktion start { string Symb=Symbol(); // Fin. tool //--------------------------------------------------------------- 2 -- for(int i=1; i<=OrdersTotal(); i++) // Bestellschleife { if (OrderSelect(i-1,SELECT_BY_POS)==true) // Wenn es ein next gibt { // Bestellanalyse: int Tip=OrderType(); // Bestellart if(OrderSymbol()!=Symb||Tip>1)continue;// Nicht unsere Order double SL=OrderStopLoss(; // SL der ausgewählten Order //------------------------------------------------------ 3 -- while(true) // Änderungsschleife { double TS=Tral_Stop; // Anfangswert int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);// Minimal dist. if (TS<Min_Dist) // Wenn der erlaubte Wert unterschritten wird, dann wird die Order gelöscht. TS=Min_Dist; // Neuer Wert von TS //--------------------------------------------------- 4 -- bool Modify=false; // Nicht zum Modifizieren zugewiesen switch(Tip) // Nach Auftragsart { case 0 : // Kaufauftrag if (NormalizeDouble(SL,Digits)< // Wenn niedriger gewünscht. NormalizeDouble(Bid-TS*Point,Digits)) { SL=Bid-TS*Point; // dann ändern string Text="Buy "; // Text für Buy Modify=true; // zum Ändern zugewiesen } break; // exit if case 1 : // Verkaufsauftrag if (NormalizeDouble(SL,Digits)> // if above requested. NormalizeDouble(Ask+TS*Point,Digits)|| NormalizeDouble(SL,Digits)==0)//oder gleich Null { SL=Ask+TS*Point; // dann ändern Text="Sell "; // Modify=true; // zum Ändern zugewiesen } } // end switch if (Modify==false) // wenn nicht geändert break; // exit while //--------------------------------------------------- 5 -- double TP =OrderTakeProfit(); // TP der ausgewählten Order. double Price =OrderOpenPrice(); // Preis der ausgewählten Order. int Ticket=OrderTicket(); // Nummer der ausgewählten Order. Alert ("Modify ",Text,Ticket,". Waiting for reply..."); bool Ans=OrderModify(Ticket,Price,SL,TP,0);//Modify it! //--------------------------------------------------- 6 -- if (Ans==true) // Es hat funktioniert :) { Alert ("Order ",Text,Ticket," modified:)"); break; // Von der Schleife modifizieren. } //--------------------------------------------------- 7 -- int Error=GetLastError(); // fehlgeschlagen :( switch(Error) // Fehler überwinden { case 130:Alert("Falsche Haltestellen. Versuchen Sie es erneut."); RefreshRates(); // Daten aktualisieren continue; // Nächste Iteration. Iteration case 136:Alert("Kein Preis. Warten auf einen neuen Tick..."); while(RefreshRates()==false) // Bis zum neuen Tick Sleep(1); // Verzögerung in der Schleife continue; // Nächste Iteration case 146:Alert("Das Handelssubsystem ist beschäftigt.Try again"); Sleep(500); // Einfache Lösung RefreshRates(); // Daten aktualisieren continue; // Nächste Iteration // Kritische Fehler case 2 : Alert("Allgemeiner Fehler."); break; // Beenden switch case 5 : Alert("Alte Client-Terminalversion."); break; // Beenden switch case 64 : Alert("Konto gesperrt."); break; // Beenden switch case 133:Alert("Trading prohibited"); break; // Beenden switch default: Alert("Error ",Error);//Fehler } break; // Ende der Änderungsschleife } // Ende der Änderungsschleife //------------------------------------------------------ 8 -- } // Ende der Auftragsanalyse //--------------------------------------------------------------- 9 -- return; // Beenden start() } //-------------------------------------------------------------- 10 --Guten Abend zusammen!
In Sergey Kovalevs Tutorial habe ich einen Experten gefunden - Trailing Stop. Ich habe es in MetaEditor kopiert und kompiliert, aber das Programm funktioniert nicht. Bitte teilen Sie mir mit, was der Grund dafür ist. Vielleicht mache ich etwas falsch.
Verwenden Sie dies:
In Benutzervariablen schreiben wir:
Schreiben Sie in EA Start:
// ----------------------------- Тралим ордера ------------------------------------ TrailingRyn_b(TrailingStop,TrailingStep,Proskalz,MAGIC,WaitProfit,false);Nach dem Start in benutzerdefinierte Unterprogramme schreiben:
Funktionen wie ModifError() sind meine eigenen Funktionen - sie zeigen lediglich eine Fehlermeldung an. Schreiben Sie stattdessen Ihre eigenen Nachrichten.
https://docs.mql4.com/ru/indicators/iBands