Custom Indikator (icustom) mit standard-indikator als Signale in einem CExpert - basierten Advisor kombinieren
Ein nutzerdefinierter Indikator bzw. dessen ex5-Datei wird über iCustom() von einem EA geladen und gelesen. Wie das geht ist als Beispiel in der Dok. gezeigt.
D.h. Du musst Deinen eigenen Indikator aufrufen wie den anderen.
Dies ist ein Beispiel wie aus mehreren Indikatoren die Signale erzeugt werden: ..\MQL5\Experts\Examples\Mean Reversion\Mean Reversion.mq5
![Dokumentation zu MQL5: Technische Indikatoren / iCustom Dokumentation zu MQL5: Technische Indikatoren / iCustom](https://c.mql5.com/36/43/dokumentation-zu-mql5-technische.png)
- www.mql5.com
Danke,
ja das verstehe ich soweit. Der EA-Wizard erstellt aber ein Handelssystem mit den Basisklassen CExpert, CExpertSignal, CETrade usw.
Für die CExpert-Klasse müssen dann Signale definiert werden, die Handelsaktionen auslösen, z.b. wie:
//--- Creating signal CExpertSignal *signal=new CExpertSignal; if(signal==NULL) { //--- failed printf(__FUNCTION__+": error creating signal"); ExtExpert.Deinit(); return(INIT_FAILED); } //--- ExtExpert.InitSignal(signal); signal.ThresholdOpen(Signal_ThresholdOpen); signal.ThresholdClose(Signal_ThresholdClose); signal.PriceLevel(Signal_PriceLevel); signal.StopLevel(Signal_StopLevel); signal.TakeLevel(Signal_TakeLevel); signal.Expiration(Signal_Expiration); //--- Creating filter CSignalStoch CSignalStoch *filter0=new CSignalStoch; if(filter0==NULL) { //--- failed printf(__FUNCTION__+": error creating filter0"); ExtExpert.Deinit(); return(INIT_FAILED); } signal.AddFilter(filter0); //--- Set filter parameters filter0.PeriodK(Signal_Stoch_PeriodK); filter0.PeriodD(Signal_Stoch_PeriodD); filter0.PeriodSlow(Signal_Stoch_PeriodSlow); filter0.Applied(Signal_Stoch_Applied); filter0.Weight(Signal_Stoch_Weight);
Meine Frage ist, ob ich solche Signale auch aus den Werten eines per iCustom Indicators erzeugen und der CExpert-Klasse übergeben kann ... Das wäre ja der saubere Weg, beliebige indikatorwerte in ein Handelssignal zu wandeln und das von MT5 implementierte Handelssystem zu triggern.
Danke,
ja das verstehe ich soweit. Der EA-Wizard erstellt aber ein Handelssystem mit den Basisklassen CExpert, CExpertSignal, CETrade usw.
Für die CExpert-Klasse müssen dann Signale definiert werden, die Handelsaktionen auslösen, z.b. wie:
Meine Frage ist, ob ich solche Signale auch aus den Werten eines per iCustom Indicators erzeugen und der CExpert-Klasse übergeben kann ... Das wäre ja der saubere Weg, beliebige indikatorwerte in ein Handelssignal zu wandeln und das von MT5 implementierte Handelssystem zu triggern.
Ich habe den Wizzard noch nie verwendet, ich nehme immer einen EA, der schon funktioniert als "Wizzard".
Ich hatte den EA erwähnt: ..\MQL5\Experts\Examples\Mean Reversion\Mean Reversion.mq5
Der verwendet mehrere Indikatoren. Wieso nimmst Du nicht den (er ist fertig und fehlerfrei) und änderst ihn Stück für Stück ab?
Er verwendet (nur):
#include <Trade\Trade.mqh> #include <Trade\OrderInfo.mqh> #include <Trade\PositionInfo.mqh> #include <Trade\SymbolInfo.mqh>
Ich habe mir zum Beispiel Trade\Trade.mqh kopiert, die Kopie umbenannt und und dann dort meine eigenen Funktionen hinzugefügt (so bin ich sicher, dass nicht ein Update Trade.mqh überschreibt und alle meine Sachen plötzlich löscht).
hi,
danke - ja eine low-level-Lösung hab ich mir nun für mehrere Indikatoren mit den entspr. i<Indicatorname> Klassen gebaut.
Der Vorteil der EA-Wizard Scaffold Lösung ist, dass das ganze Trading in den entspr. CExpert,CSignal,CTrade,CPosition Klassen implementiert ist und mit relativ wenig Aufwand getriggert/gesteuert werden kann.
Danke jedenfalls für den Hinweis, ich werde das Stück für Stück richtung "EA Wizard" entwickeln.
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo,
ich habe mit dem EA-Wizard eine entspr. EA-klasse erzeugt, die mit einem CExpert-Objekt arbeitet.
In dieser wird der Oscillator "Stochastic" als CExpertSignal und CExpertIndicator erzeugt und an das CExpert-Objekt übergeben.
Dasselbe möchte ich nun per iCustom mit einem in MT5 nicht enthaltenen Indikator tun.
Leider finde ich keinen Ansatz, wie ich dem verwendeten CExpert-Objekt den per iCustom erzeugten Handle übergebe, so dass bei einem entspr. Signal automatisch die entspr. Trade-Logik anlaeuft.
Any hints, wie man das mit dem CExpert-Objekt hinbekommt ?
Thx in advance
Frank