Fragen Sie! - Seite 97

 

Immer noch Probleme

Hallo zusammen,

Vielen Dank Big Be, dass ihr euch meinen EA angeschaut habt. Meine Stochastik RSI ist ohne den Unterstrich. Als ich es mit versuchte, gab es mir einen Fehler. Aber, ich habe ein paar Dinge herausgefunden.

1) Wenn ich den Strategy Tester auf den unteren Zeitrahmen ausprobiere, scheint er schneller zu funktionieren. Sobald ich zu H1 oder darüber komme, wird er wirklich langsam. Ich nehme an, das liegt daran, dass er bei jedem Tick zu viel überprüfen muss. Gibt es etwas, was man dagegen tun kann? Ich würde es gerne für H4 und möglicherweise sogar Daily optimieren.

2) Es gibt immer noch das Problem, dass der erste Handel vor einem tatsächlichen Cross stattfindet.

3) Wenn ich mir meine Backtests ansehe, scheinen einige Trades komplett zu fehlen. Liegt das daran, dass meine Daten fehlerhaft/inkongruent sind? Ich habe mich umgesehen und einen Ort gefunden, an dem New Digital erklärt, wie man die Daten für den Broker, den wir verwenden, erhält, indem man zur Historie geht und darauf doppelklickt... dann jeden Zeitrahmen öffnet und die Taste "Seite hoch" gedrückt hält, bis das Ende erreicht ist, aber das scheint nicht zu helfen.

Der Teil des Programms, den ich Ihnen geschickt habe, ist nur ein Teil von 3. Ich muss die anderen 3 Teile noch einfügen. Wenn ich den Strategietester nicht schneller machen kann, werde ich nie wissen, ob es eine profitable Idee ist.

Jede Idee oder Anregung ist hilfreich.

Mit freundlichen Grüßen,

Putz

 

Studieren Sie, was ich für einen Volatility Quality Index EA gemacht habe, den ich repariert habe, Kiko_v2.

Siehe Beitrag 319 hier:

https://www.mql5.com/en/forum/general

Viel Spaß!

Großer Be

 

Vq

Hallo Big Be

Danke für die Idee. Ich werde dieses Wochenende daran arbeiten...und wenn alles fantastisch funktioniert...sollte ich bis zum nächsten Wochenende reich sein...hahaha

Putz

 

Hilfe...bitte

Hallo Big Be und alle Programmierer,

Big Be, ich habe deinen Volatilitäts-EA studiert, aber es scheint, dass das gar nicht mein Problem war. Ich habe IBFX für mein Backtesting verwendet und hatte nichts als Probleme. Ich habe schließlich aufgegeben und Alpari heruntergeladen, und das funktioniert viel besser.

Wenigstens dauert es jetzt nicht mehr Tage, einen Backtest mit meinen EAs durchzuführen. Ich habe also ganz von vorne angefangen und mein Programm von Grund auf neu erstellt, und es gibt keine Aufträge.

Das Programm ist im Grunde codersguru's EMS Fresh Cross, aber ich möchte, dass es auf Stochastic RSI und wenn StochRSI kreuzt die 50 Linie basiert. Ich habe fast alles wie pro codersguru einschließlich Variablen, um es einfacher, das Problem zu isolieren.

Ich glaube, das Problem liegt in der iCustom-Funktion, da dies im Grunde die einzigen Änderungen sind, die ich am Programm vorgenommen habe, und es nimmt keine Aufträge an. Kann jemand einen Blick darauf werfen und sehen, ob er meinen Fehler finden kann? Ich versuche schon seit zwei Wochen, das Programm zum Laufen zu bringen, und es macht mich wahnsinnig.

Ich habe ein paar Notizen mit // vorangestellt.

Danke

Putz

#property copyright "Putz FX

#property link "http://www.putzfx.com"

//---- input parameters

extern double TakeProfit=130;

extern double StopLoss = 60;

extern double Lots=1;

extern double TrailingStop=30;

extern double TimeFrame= 60;

extern bool ExitOnCross = true;

extern int MagicNumber = 444444;

//+------------------------------------------------------------------+

//| expert initialization function |

//+------------------------------------------------------------------+

int init()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| expert deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

int FreshCross ()

{

//This was added in based on what I could figure from Big Be.

if (Volume[0] != 1) return(0);

//what is the difference between using "Null" or "Symbol()" in iCustom as

//neither one works.

double SEma, LEma,SEmaP, LEmaP;

//The following 4 lines have been changed from the original

SEma = iCustom(Symbol(),PERIOD_H1,"Stochastic RSI",28,55,9,0,0);

LEma = 50;

SEmaP = iCustom(Symbol(),PERIOD_H1,"Stochastic RSI",28,55,9,0,1);

LEmaP = 50;

//Don't work in the first load, wait for the first cross!

//some changes were done to the below two lines as he was comparing the

//return value with the Ask or Bid and Close values

if(SEma>LEma && SEmaP < LEmaP) return(1); //up

if(SEma LEmaP) return(2); //down

return (0); //not changed

}

//+------------------------------------------------------------------+

//| Check Open Position Controls |

//+------------------------------------------------------------------+

int CheckOpenTrades()

{

int cnt;

int NumTrades; // Number of buy and sell trades in this symbol

NumTrades = 0;

for(cnt=OrdersTotal()-1;cnt>=0;cnt--)

{

OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES);

if ( OrderSymbol() != Symbol()) continue;

if ( OrderMagicNumber() != MagicNumber) continue;

if(OrderType() == OP_BUY ) NumTrades++;

if(OrderType() == OP_SELL ) NumTrades++;

}

return (NumTrades);

}

//+------------------------------------------------------------------+

//| expert start function |

//+------------------------------------------------------------------+

int start()

{

//----

int cnt, ticket, total;

double TP;

if(Bars<100)

{

Print("bars less than 100");

return(0);

}

/* if(TakeProfit<10)

{

Print("TakeProfit less than 10");

return(0); // check TakeProfit

}

*/

int isCrossed = 0;

isCrossed = FreshCross ();

total = CheckOpenTrades();

if(total < 1)

{

if(isCrossed == 1)

{

TP = 0;

if (TakeProfit > 0) TP = Ask + TakeProfit * Point;

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,TP,"EMA_CROSS",MagicNumber,0,Green);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());

}

else Print("Error opening BUY order : ",GetLastError());

return(0);

}

if(isCrossed == 2)

{

TP = 0;

if (TakeProfit > 0) TP = Bid - TakeProfit * Point;

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,TP,"EMA_CROSS",MagicNumber,0,Black);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());

}

else Print("Error opening SELL order : ",GetLastError());

return(0);

}

return(0);

}

total = OrdersTotal();

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

//OrderPrint();

if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNumber)

{

if(OrderType()==OP_BUY) // long position is opened

{

// should it be closed?

/* REMOVED - Trailling stop only close */

if(ExitOnCross && isCrossed == 2)

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Black); // close position

return(0); // exit

}

/**/

// check for trailing stop

if(TrailingStop>0)

{

if(Bid-OrderOpenPrice()>Point*TrailingStop)

{

if(OrderStopLoss()<Bid-Point*TrailingStop)

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);

return(0);

}

}

}

}

else // go to short position

{

// should it be closed?

/* REMOVED - Trailling stop only close */

if(ExitOnCross && isCrossed == 1)

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Black); // close position

return(0); // exit

}

/* */

// check for trailing stop

if(TrailingStop>0)

{

if((OrderOpenPrice()-Ask)>(Point*TrailingStop))

{

if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);

return(0);

}

}

}

}

}

}

return(0);

}

//+------------------------------------------------------------------+
 

Haben Sie überprüft, ob Ihr stochastischer RSI 3 Eingabeparameter benötigt?

(Der, den ich mir angesehen habe, benötigt 4)

 

das hilft

Hallo Ralph,

danke für deine Hilfe. Mein Programm hat zwei Puffer, aber 4 Eingangsparameter. Ich habe es mit 4 Parametern probiert und es hat nicht funktioniert, aber dann habe ich es mit 2 Parametern probiert und ich habe einen Befehl bekommen. Jetzt muss ich nur noch den Rest herausfinden. Danke, dass Sie mich aus dem Schlamassel geholt haben.

Putz

 

Frage eines Neulings von einem Neuling!

Beitrag hierher verschoben: https://www.mql5.com/en/forum

Dateien:
buy.jpg  7 kb
 

Kann mir jemand helfen?

Hallo zusammen

Sie alle kennen den Indikator Pivot_Monday_fixed

ich brauche einige Änderungen in diesem Indikator

ich möchte nur die Pivotlinie und vier weitere Linien

2 blaue Farbe Pivot +20 und Pivot + 40

2 rote Farbe Pivot - 20 und Pivot - 40

nur 5 Linien

danke

Dateien:
 

Dumme Frage

Kann mir jemand sagen, wie ich die mq4-Datei eines EAs am schnellsten in eine ex4-Datei umwandeln kann?

Ich weiß, dass sie in den Expertendateien als ex4 auftaucht, nachdem sie einmal auf mt4 gelaufen ist, aber ist das die einzige Möglichkeit, dies zu tun?

Vielen Dank im Voraus

 
fxgrm:
Kann mir jemand sagen, wie ich die mq4-Datei eines EAs am schnellsten in eine ex4-Datei umwandeln kann?

Ich weiß, dass es in den Expertendateien als ex4 auftaucht, nachdem es einmal auf mt4 gelaufen ist, aber ist das die einzige Möglichkeit, dies zu tun?

Vielen Dank im Voraus

Öffnen Sie Ihre .mq4-Datei im MetaEditor, klicken Sie dann auf "Compile" und die .ex4-Datei wird erstellt.