Antwort

Funktionen in AlgoWizard erstellen

3 Antworten

Zielgerichteter Handel

Abonnent, bbp_participant, Kunde, Gemeinschaft, sq-ultimate, 7 Antworten.

Profil besuchen

vor 6 Monaten #288569

Hallo,

Ich bin ein erfahrener MQL5-Entwickler und versuche, unseren EA in SQX für Backtesting zu kodieren. Wir haben bereits erfolgreich unsere Indikatoren in .java mit dem Code-Editor kodiert, aber ich sehe keine Option zum Erstellen einer Strategie im Code-Editor. Sehe ich das richtig? Dürfen wir im Code-Editor keine Strategien programmieren?

Wenn ja, wie würde ich meine benutzerdefinierten Funktionen mit AlgoWizard codieren, da ich die Optionen, die ich brauche, nicht in den festen Dropdowns sehe? Ich habe versucht, die "Custom Functions", wo ich eine Funktion in der .mq5 in "C:\StrategyQuantX138\user\extend\Code\MetaTrader5\CustomFunctions", aber es schien nicht zu erkennen, diese für Backtesting.

Zum Beispiel ist eine der einfacheren Funktionen, die wir haben, die Zuweisung des Durchschnittspreises für Käufe in eine Variable, wie würde ich dies mit AlgoWizard tun? oder gibt es eine Möglichkeit, eine Strategie im Code-Editor zu codieren, ähnlich wie wir Indikatoren in .java codieren?

Im Folgenden finden Sie eine Beispielfunktion, die ich gerne kodieren würde.

Ich danke Ihnen im Voraus für Ihre Hilfe.

[code]double Average_Price_BUY(ulong magicNumber,string symbol,int s){

double Gesamt_Preis = 0;
double Total_Size = 0;
double bAverage_Price;

for(int i = PositionsTotal() - 1; i >= 0; i-){
string CurrencyPair = PositionGetSymbol(i);
double PositionOpenPrice = PositionGetDouble(POSITION_PRICE_OPEN);
double PositionSize = PositionGetDouble(POSITION_VOLUME);
long PositionDirection = PositionGetInteger(POSITION_TYPE);
long PositionMagicNumber = PositionGetInteger(POSITION_MAGIC);

if (symbol == CurrencyPair && PositionDirection == POSITION_TYPE_BUY && PositionMagicNumber == magicNumber){
Total_Size += PositionSize;
Gesamt_Preis += PositionOpenPrice * PositionSize;
}
}

if (Gesamt_Size != 0) {
bDurchschnitt_Preis = Gesamtpreis / Gesamtgröße;
} sonst {

bDurchschnitt_Preis = 0,0;
}

 

if(inpCommissionAccount==false){Return bAverage_Price;}
else{return bAverage_Price+(sym[s].CommPointsToAdd*SymbolPoint(symbol));}
}[/code]

 

0

tomas262

Administrator, sq-ultimate, 2 Antworten.

Profil besuchen

vor 6 Monaten #288574

Hallo,

Das ist richtig. Sie können CodeEditor nicht verwenden, um Strategien direkt zu erstellen.

CustomFunctions können nur in der Simulation / Real nicht im Backtesting verwendet werden. Sie können nicht einfach den Durchschnittspreis ermitteln. Im MT4/5 Hedging Modus wird jede Position als unabhängig behandelt. Sie können auch nicht direkt auf den "Positionsdurchschnittspreis" verweisen.

0

Zielgerichteter Handel

Abonnent, bbp_participant, Kunde, Gemeinschaft, sq-ultimate, 7 Antworten.

Profil besuchen

vor 6 Monaten #288582

Okay, vielen Dank für Ihre Antwort.

Gibt es eine Möglichkeit, in AlgoWizard etwas Eigenes zu schreiben oder sind wir auf die festen Dropdowns beschränkt?

1

Bartosz

Abonnent, bbp_participant, Kunde, Gemeinschaft, sq-ultimate, 1 Antworten.

Profil besuchen

vor 4 Monaten #289168

1. Ich bin auch daran interessiert, CUST Custom Function zu verwenden. In der Beschreibung steht, dass wir sie verwenden können, um unseren benutzerdefinierten MQL-Code einzugeben, aber es wird nicht erwähnt, dass wir sie nicht im Retester usw. verwenden können. Also, was ist die beabsichtigte Verwendung?

0

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)