[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
extern double SL=20; // SL для открываемого ордера 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
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];} }
Ein EA , der eine Position eröffnet, wenn der OsMA die Nulllinie kreuzt. Es ist nicht klar, wo sie sich öffnet, und es ist nicht klar, warum. Kann jemand nachsehen, vielleicht ein Fehler in iOsMA(NULL,0,13,34,8,0,0)?
Ein EA, der eine Position eröffnet, wenn der OsMA die Nulllinie kreuzt. Es ist nicht klar, wo sie sich öffnet, und es ist nicht klar, warum. Kann jemand überprüfen, ob ein Fehler in iOsMA(NULL,0,13,34,8,0,0) vorliegt?
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.
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
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:)