[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 33

 
Andrew1001:

Guten Abend. Bitte teilen Sie mir mit, wo und was ich falsch gemacht habe!

Erstens: Bitte fügen Sie den Code über die entsprechende Schaltfläche in Ihren Beitrag ein.

Zweitens gibt es in MQL4 keine If-Funktion.

int start()


{
int cnt, ticket, total, profit;
total = OrdersTotal();
if(total < 1)
{
ticket=OrderSend(Symbol(),OP_BUY,LotTrend,Ask,0,Ask-SL*Point,Ask+TP*Point,0,511,0,Green);
}
profit = OrderProfit();
If (OrderProfit < 0) /*если сработал стоплосс*/
{
ticket=OrderSend(Symbol(),OP_SELL,LotTrend,Bid,0,Bid+SL*Point,Bid-TP*Point,0,511,0,Red);
} /*открываем позицию в противоположном направлении*/
return;
}

Мне выдает такие ошибки:
'If' - function is not defined
'<' - left parenthesis expected
'{' - semicolon expected
ПОДСКАЖИТЕ ПОЖАЛУЙСТА что я сделал не так! 
 
Arles:

Guten Tag zusammen!

Vor etwa einer Woche habe ich angefangen, das Programmieren zu lernen und bin zu einem interessanten Ergebnis gekommen. Ich weiß nicht, ob ich ihr trauen kann. Ich habe schon lange über einen Indikator nachgedacht und es jetzt erst geschafft, ihn in Code umzusetzen.


Im Großen und Ganzen sieht es gut aus. Es stellt sich die Frage nach dem Unterschied zwischen dem maximal profitablen Handel und dem durchschnittlich profitablen Handel.

Versuchen Sie, es in verschiedenen Zeiträumen laufen zu lassen: 2003, 2004, Jahr.

Ich hatte Fälle, in denen der Trend in einem Jahr positiv und im nächsten Jahr negativ war. Man kann das nicht ein Jahr nach dem anderen machen.

 
Andrew1001:

Guten Abend. Bitte sagen Sie mir, wo und was ich falsch gemacht habe!

int start()


{
int cnt, ticket, total, profit;
total = OrdersTotal();
if(total < 1)
{
ticket=OrderSend(Symbol(),OP_BUY,LotTrend,Ask,0,Ask-SL*Point,Ask+TP*Point,0,511,0,Green);
}
profit = OrderProfit();
If (OrderProfit < 0) /*wenn der Stop Loss ausgelöst wurde*/
{
ticket=OrderSend(Symbol(),OP_SELL,LotTrend,Bid,0,Bid+SL*Point,Bid-TP*Point,0,511,0,Red);
} /*Position in entgegengesetzter Richtung öffnen*/
return;
}

Ich erhalte diese Fehler:
'If' - Funktion ist nicht definiert
'<' - linke Klammer erwartet
'{' - Semikolon erwartet
BITTE sagen Sie mir, was ich falsch gemacht habe!


1. (Trivia) "If" wird mit einem kleinen "if" geschrieben.

2. (das Wichtigste), um die Funktion OrderProfit() zu verwenden , muss der Auftrag selbst, dessen Gewinn gelesen werden soll, mit der Funktion OrderSelect() ausgewählt werden

Um herauszufinden, was das Ergebnis des letzten geschlossenen Auftrags war, müssen wir den letzten geschlossenen Auftrag finden.

 
abolk:


1. (Trivia) "Wenn" wird mit einem kleinen "wenn" geschrieben

2. (das Wichtigste) um die FunktionOrderProfit() zu verwenden, muss die Order selbst, deren Gewinn ausgelesen werden soll, mit der Funktion OrderSelect() ausgewählt werden

Um herauszufinden, was das Ergebnis des letzten geschlossenen Auftrags war, müssen wir den letzten geschlossenen Auftrag finden.

Ich danke Ihnen! Können Sie mir sagen, wie man das macht?)
 
Arles:

Guten Tag zusammen!

Vor etwa einer Woche habe ich angefangen, das Programmieren zu lernen und bin zu einem interessanten Ergebnis gekommen. Ich weiß nicht, ob ich ihr trauen kann. Ich habe den Indikator schon vor langer Zeit erfunden und konnte ihn erst jetzt in den Code einbauen.


Hier rechnet der Tester sogar dummerweise falsch, bzw. mit einem Fehler, oder was, wenn man, bezogen auf die Ergebnisse, die Transaktion in -22 negativ wird, dann kann man, wenn ich alles richtig verstehe, nicht einen absoluten Drawdown 4.00, haben Sie einen Handel bereits gibt 20,00, ja, weiter zu gehen, durch die Art und Weise, haben Sie einen Drawdown 29049(63%) aber dann wieder, wie könnte man so, wenn Sie nur zwei Transaktionen für über -20)) kürzer nur etwas nicht als der Tester selbst gezählt.
 

Ich habe eine Funktion geschrieben, um alle Stops auf das gleiche Niveau zu verschieben, aber am Ende schließt jeder der offenen Aufträge mit seinem eigenen Stop-Loss, der bei der Eröffnung festgelegt wurde, d.h. ich vermute, dass die Stops nirgendwo verschoben werden, was könnte das Problem sein?

void OrModSL(string period)//Funktion zum Verschieben des Stops auf das untere Fraktal des 15-Minuten-Charts

{
if(Zeitraum=="M15")//wenn Zeitraum H1
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
RefreshRates();
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderType()==OP_BUY)//wenn der letzte Kaufauftragstyp
{
OrderModify(OrderTicket(),OrderOpenPrice(),dnfrM15,OrderTakeProfit(),0,Blue);
}

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderType()==OP_SELL)
{
OrderModify(OrderTicket(),OrderOpenPrice(),upfrM15,OrderTakeProfit(),0,Blue);//wenn die letzte Order verkauft
}
}

zurück(0);


 

Hallo!

Ich möchte noch einmal um ein Beispiel oder einen Link bitten, um zu zeigen, wie man Informationen an eine Datei anfügt, ohne die vorherige zu löschen, wobei der Dateizeiger von besonderem Interesse ist (ich habe ihn noch nie benutzt).

Ich danke Ihnen.

 

Ich weiß nicht, wo man lernen kann, Codes zu schreiben. Gibt es eine Website, auf der klar und genau gesagt wird, was und wie man in den Code schreibt, damit der Berater Aufträge erteilen, Stopps und Gewinne setzen kann usw. Ich habe kein Geld, um einen Berater zu bestellen, aber die Ideen scheinen mir sehr gut zu sein.

 
sting-igor:

Ich weiß nicht, wo man lernen kann, Codes zu schreiben. Gibt es eine Website, auf der klar und genau gesagt wird, was und wie man in den Code schreibt, damit der Berater Aufträge erteilen, Stopps und Gewinne setzen kann usw. Ich habe kein Geld, um einen Berater zu bestellen, aber die Ideen scheinen mir sehr gut zu sein.



Ich habe nicht das Geld, um einen EA zu bestellen, aber ich denke, die Ideen sind sehr gut.
Grund der Beschwerde: