[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 159

 
BooGUY:

todem habe ich versucht if (d1!=0)

aber der EA öffnet sich immer noch an einer falschen Stelle. In der Regel sollte es von Kaufen zu Verkaufen wechseln, aber manchmal öffnet es sich zweimal für Verkaufen. Vielleicht habe ich etwas nicht kopiert.


Glauben Sie nicht, dass es zu spät ist?
 
DhP:

Die Anzahl der Durchgänge kann reduziert werden durch:

1. Erhöhen der Tonhöhe.

2. Verringern Sie den Bereich der Parameteroptimierung.

3. Verringerung der Anzahl der zu optimierenden Parameter.

4. Aktivieren Sie "Genetischer Algorithmus".


Hier finden Sie mehr über den Genetischen Algorithmus ....., wenn Sie können)))

 

Leute, wie sieht es mit dem Berater aus.... Ich weiß, dass es keine Grenzen gibt, wie gut ein Berater sein kann, aber wie hoch ist Ihrer Meinung nach die Rentabilität eines Beraters (jährliche Rendite) ??????

Über ein Jahr.... habe ich folgendes erhalten:

Maximale Inanspruchnahme: 8,69% (3768$)

Gewinn: $27464,5 knapp über 100 Prozent

Handel insgesamt: 142

Ich habe ein festes Lot gehandelt: 1 Lot

Mein erster EA...danke an alle, die geholfen haben)

 

Nehmen wir an, ich habe einen Expert Advisor (My_expert) und einen Indikator (My_indicator)

Expert Advisor verwendet Indikatordaten (derzeit über iCustom)

Kann ich dafür sorgen, dass der Expert Advisor den Indikator während der Initialisierung zum Diagramm hinzufügt und ihn bei der Deinitialisierung löscht?

 

Ich versuche, einen Expert Advisor zu schreiben, der die Order am nächsten Tag (auf jeden Fall) schließt. Aber die Bestellung wird aus irgendeinem Grund nicht abgeschlossen (bitte teilen Sie mit, warum?

Nachstehend finden Sie den Code für den Verkauf:


if (AufträgeSumme()==0) {

OPENORDER ("Verkaufen");
}
int TC = int TimeCurrent();
int OM = int OrderMagicNumber();

if (OrdersTotal()==1 && OrderType()==OP_SELL && TC-OM>86400){ // DayMove(3)<0 && DayMove(2)<0 && DayMove(3)<0 && DayMove(4)<0 && DayMove(5)>0
CLOSEORDER("Verkaufen");
}

Dies ist die Funktion zum Öffnen/Schließen von Aufträgen:

void CLOSEORDER(string ord)
{
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if (OrderSymbol()!=Symbol()||Magic!=OrderMagicNumber()) continue;
if (OrderType()==OP_BUY && ord=="Buy")
OrderClose(OrderTicket(),OrderLots(),Bid,3,CLR_NONE);
if (OrderType()==OP_SELL && ord=="Sell")
OrderClose(OrderTicket(),OrderLots(),Ask,3,CLR_NONE);
}
}
}
//--------------------------------------------------------------------


void OPENORDER(string ord)
{
int-Fehler;
//Magic=TimeDay(CurTime();
Magic = TimeCurrent();
if (ord=="Buy" ) error=OrderSend(Symbol(),OP_BUY, LOT,Ask,2,SL,TP, "EMA WMA RSI",Magic,3);
if (ord=="Sell") error=OrderSend(Symbol(),OP_SELL,LOT,Bid,2,SL,TP, "EMA WMA RSI",Magic,3);
if (error==-1) ShowERROR(error,0,0);
Rückkehr;
}

 
Vovo4ka:

Leute, wie sieht es mit dem Berater aus.... Ich weiß, dass es keine Grenzen gibt, wie gut ein Berater sein kann, aber wie hoch ist Ihrer Meinung nach die Rentabilität eines Beraters (jährliche Rendite) ??????

Über ein Jahr.... habe ich folgendes erhalten:

Maximale Inanspruchnahme: 8,69% (3768$)

Gewinn: $27464,5 knapp über 100 Prozent

Handel insgesamt: 142

Ich habe ein festes Lot gehandelt: 1 Lot

Mein erster EA...danke an alle, die geholfen haben)

Wenn es sich um ein Diagramm in einem optimierten Bereich handelt, gibt es nichts über seine zukünftige Leistung zu sagen. Wenn es sich um ein Diagramm in einem nicht optimierten Bereich handelt, besteht die Hoffnung, dass es profitabel sein wird. Und die Wahrheit wird bei der Arbeit am echten Konto ans Licht kommen.
 
ILL:

...
int OM = int OrderMagicNumber();
...


Die Bestellung muss mit OrderSelect() vorselektiert werden, dies ist hier nicht der Fall.
 
ilunga:

Die Bestellung muss mit OrderSelect() vorausgewählt werden, was bei der von Ihnen angegebenen Bestellung nicht der Fall ist.


Hurra!!! Es hat funktioniert=)

Ich danke Ihnen vielmals.

 
todem:

Lassen Sie es uns gemeinsam tun. Ich habe einen Dummy-Indikator, der die aktuelle Richtung anzeigt - brauchen Sie ihn?


Kein Problem - lassen Sie uns das gemeinsam tun. Alle Entwicklungen sind in den vorhergehenden Links aufgeführt... Es geht nicht nur um die Kontrolle in einer Schleife. Ich suche nach Optionen, um jede Wahrheit in ein Array zu schreiben - habe mich aber noch nicht mit Arrays beschäftigt.

//+-------------------------------------------------------------------------------+
// Проверка смены тренда 
bool TrendChange(int Period_MAb, int Period_MAm, int nB)
{
  double maB1=iMA(NULL, 0, Period_MAb, 0, MODE_EMA, PRICE_WEIGHTED, 1);
  double maM1=iMA(NULL, 0, Period_MAm, 0, MODE_EMA, PRICE_WEIGHTED, 1);   
  for (int i=0; i<nB; i++) 
  {
    double maB=iMA(NULL,0, Period_MAb, 0, MODE_EMA, PRICE_WEIGHTED, i);
    double maM=iMA(NULL,0, Period_MAm, 0, MODE_EMA, PRICE_WEIGHTED, i); 
     if ((maM<maB && maM1>maB1)||(maM>maB && maM1<maB1)){
//     Alert("TrendChange-true");
     return(true);
     }
  }
  return(false);   
}

Also - diese Funktion funktioniert! Wer es brauchen kann!

ABER: Es geht um die Einsparung von Ressourcen, denn mein Rechner ist nicht der stärkste, und diese Funktion wird oft überprüft. Es stellt sich also heraus, dass wir bei jedem Tick eine Reihe von alten Balken neu berechnen müssen (in meinem Fall zum Beispiel nB=610 ). Die einzige Möglichkeit, dieses Problem zu lösen, besteht darin, ein Flag in ein Array zu schreiben und dann das gesamte Array und den letzten Balken auf Wahrheit zu überprüfen. Kennt jemand andere Varianten? Irgendwelche Vorschläge?

 
ILL:


Juhu!!! Es hat funktioniert=)

Ich danke Ihnen vielmals.

Gern geschehen))

Wer würde mir jetzt antworten?))

Grund der Beschwerde: