Répondre

Création de fonctions dans AlgoWizard

3 réponses

Commerce ciblé

Abonné, bbp_participant, client, communauté, sq-ultimate, 7 réponses.

Visiter le profil

Il y a 6 mois #288569

Bonjour,

Je suis un développeur MQL5 expérimenté et j'essaie de coder notre EA dans SQX pour le tester. Nous avons déjà codé avec succès nos indicateurs en .java à l'aide de l'éditeur de code, mais je ne vois pas d'option pour créer une stratégie dans l'éditeur de code. Ai-je bien compris ? Nous ne sommes pas autorisés à coder des stratégies dans l'éditeur de code ?

Si c'est le cas, comment puis-je coder mes fonctions personnalisées à l'aide d'AlgoWizard car je ne vois pas les options dont j'ai besoin dans les listes déroulantes fixes ? J'ai essayé les "fonctions personnalisées" en plaçant une fonction dans le fichier .mq5 dans "C:\StrategyQuantX138\user\extend\Code\MetaTrader5\CustomFunctions" mais il n'a pas semblé reconnaître cela pour les tests de contrôle.

Par exemple, l'une des fonctions les plus simples que nous ayons est d'assigner le prix moyen des achats dans une variable, comment puis-je faire cela avec AlgoWizard ? ou existe-t-il un moyen de coder une stratégie dans l'éditeur de code de la même manière que nous codons des indicateurs en .java ?

Vous trouverez ci-dessous un exemple de fonction que j'aimerais coder.

Merci d'avance pour votre aide.

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

double Total_Price = 0 ;
double Total_Size = 0 ;
double bPrix_moyen ;

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 ;
Total_Price += PositionOpenPrice * PositionSize ;
}
}

if (Total_Size != 0) {
bPrix_moyen = Prix_total / Taille_total ;
} else {

bPrix_moyen = 0,0 ;
}

 

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

 

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 6 mois #288574

Bonjour,

c'est exact. Vous ne pouvez pas utiliser CodeEditor pour créer des stratégies directement.

Les CustomFunctions ne peuvent être utilisées qu'en simulation/réalité et non en backtesting. Vous ne pouvez pas simplement obtenir le prix moyen. Dans le mode de couverture de MT4/5, chaque position est traitée comme indépendante. Vous ne pouvez pas non plus faire directement référence au "prix moyen de la position".

0

Commerce ciblé

Abonné, bbp_participant, client, communauté, sq-ultimate, 7 réponses.

Visiter le profil

Il y a 6 mois #288582

D'accord, merci pour votre réponse.

Existe-t-il un moyen d'écrire quelque chose de personnalisé dans AlgoWizard ou sommes-nous limités aux listes déroulantes fixes ?

1

Bartosz

Abonné, bbp_participant, client, communauté, sq-ultimate, 1 réponses.

Visiter le profil

Il y a 4 mois #289168

1. Je suis également intéressé par l'utilisation de CUST Custom Function. La description indique que nous pouvons l'utiliser pour mettre notre code MQL personnalisé, mais ne mentionne pas que nous ne pouvons pas l'utiliser dans le retester, etc. Quelle est donc l'utilisation prévue ?

0

Affichage de 3 réponses de 1 à 3 (sur un total de 3)