[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 940
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
extern double TP=20; // ТР для открываемого ордера
extern double Lot=0.01; // Жестко заданное колич. лотов
datetime time;
//--------------------------------------------------------------- 2 --
int start()
{
int Total;
double
M_0,
M_1;
bool
Ans =false, // Ответ сервера после закрытия
Cls_B=false, // Критерий для закрытия Buy
Cls_S=false, // Критерий для закрытия Sell
Opn_B=false, // Критерий для открытия Buy
Opn_S=false; // Критерий для открытия Sell
//--------------------------------------------------------------- 3 --
// Учёт ордеров
for(int i=OrdersTotal()-1;i>=0;i--)
if (OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()>1)Total++;
if(Total!=0 || time==Time[1])return;
// Торговые критерии
M_0=iOsMA(NULL,0,13,34,8,0,0); // 0 бар
M_1=iOsMA(NULL,0,13,34,8,0,1); // 1 бар
if (M_1<0 && M_0>0)
Opn_B=true;
if (M_1>0 && M_0<0)
Opn_S=true;
//--------------------------------------------------------------- 7 --
if (Opn_B)
{OrderSend(Symbol(),OP_BUY,Lot,Ask,0,Bid-SL*Point,Bid+TP*Point);time=Time[1];}
if (Opn_S)
{OrderSend(Symbol(),OP_SELL,Lot,Bid,0,Ask+SL*Point,Ask-TP*Point);time=Time[1];}
}
Testen Sie auf alle Zecken?
Vielen Dank für die Antwort. Ich habe einen rudimentären EA skizziert. Funktioniert immer noch nicht.
in diesem Code, suchen Sie nach Fehlern, OrderSend Funktion drücken Sie F1 wird die Hilfe in der Standard-Editor, schauen Sie sich die Reihenfolge der eingehenden Parameter gibt es einen Fehler.
+ Verwenden Sie Print / Alert, um die Variablenwerte durchzugehen, und fügen Sie es in den Codeabschnitt nach ( assignments / execute ) ein.
und denken Sie daran, die Ausgabe zu normalisieren, DoubletoSt..NormalizeDouble..TimeToStr
Im Anhang finden Sie 2 kostenlose Bibliotheken mit Code von kimIV.
Der Code ist einfach, vorgefertigte Funktionen, sehr gut für Anfänger.
// Kaum eine bestimmte Anzahl von Losen :)
Ja
Dann kommt es zu einem Rattereffekt am Nulldurchgang.
Tests an allen Zecken?
Wie lässt sich der Fluss des Unmuts zu den Entwicklungszentren "stoppen"?
Nachfolgend finden Sie einen Auszug aus dem Protokoll:
10:00:25 Alter Tick EURUSD30 1,38730/1,38740
10:00:25 Alter Tick EURUSD240 1,38730/1,38740
10:00:25 Alter Tick EURUSD1440 1.38730/1.38740
10:00:25 Alter Tick EURUSD15 1,38730/1,38740
10:00:25 Alter Tick EURUSD1 1,38730/1,38740
10:00:25 Alter Tick EURUSD60 1,38730/1,38740
10:00:25 Alter Tick EURUSD5 1.38730/1.38740
11:00:34 Alter Tick EURUSD30 1.38847/1.38863
11:00:34 Alter Tick EURUSD240 1.38847/1.38863
11:00:34 Alter Tick EURUSD1440 1.38847/1.38863
11:00:34 Alter Tick EURUSD15 1.38847/1.38863
11:00:34 Alter Tick EURUSD1 1.38847/1.38863
11:00:34 Alter Tick EURUSD60 1.38847/1.38863
11:00:34 Alter Tick EURUSD5 1.38847/1.38863
11:25:06 Alter Tick EURUSD30 1.38707/1.38722
11:25:06 Alter Tick EURUSD240 1.38707/1.38722
11:25:06 Alter Tick EURUSD1440 1.38707/1.38722
11:25:06 Alter Tick EURUSD15 1.38707/1.38722
11:25:06 Alter Tick EURUSD1 1.38707/1.38722
11:25:06 Alter Tick EURUSD60 1.38707/1.38722
Dann kommt es zu einem Rattereffekt am Nulldurchgang.
Bereitet Ihnen der Test Kopfschmerzen?
//Handelskriterien
M_0 ={ iOsMA(0,0,13,34,8,0,1) }; //| 1bar
M_1 ={ iOsMA(0,0,13,34,8,0,2) }; //| 2bar
Opn_B ={ (((M_1<0)==1) &&((M_0>0)==1) ) };
Opn_S ={ (((M_1>0)==1) &&((M_0<0)==1) ) };
Versuchen Sie es auf diese Weise, aber ohne das Rütteln:)