[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 784

 

Je ne comprends pas bien le principe de fonctionnement... si vous voulez bien un exemple simple... par exemple C= A + B

Merci)

 

Salut. Je veux savoir comment configurer le conseiller expert pour qu'il ouvre un ordre au croisement. S'il ferme l'ordre avec plus ou moins, il doit attendre le prochain signal inverse.

La tactique est simple

8EMA>26EMA

MACD(5,13,1)>0 (à la deuxième bougie MACD un ordre est ouvert)

RSI 21 >(50) OUVRIR ACHETER

8EMA<26EMA

MACD(5,13,1)<0 (ordre ouvert sur le deuxième chandelier MACD)

RSI 21 <(50) VENTE OUVERTE

Merci de votre attention.

 
Bonjour, le problème est le suivant. Lorsque je lance le testeur, il n'y a aucune opération.
 

Quelqu'un peut-il suggérer un algorithme pour vérifier si les derniers ordres X pour un symbole donné étaient

n'étaient pas rentables ? J'ai une idée de ce qu'il faut faire, mais j'ai peur que ce ne soit pas la meilleure option, alors que les principaux critères sont les suivants

vitesse de contrôle et charge minimale sur le processeur.

Merci !

 
chief2000:

Quelqu'un peut-il suggérer un algorithme permettant de vérifier si les dernières commandes X pour un symbole donné étaient

n'étaient pas rentables ? J'ai une idée de ce qu'il faut faire, mais je crains que ce ne soit pas la meilleure option, alors que les principaux critères sont les suivants

vitesse de contrôle et charge minimale sur le processeur.

Merci !

double GetLastOrderProfit()
{
    double profit = 0;
    datetime lastCloseTime = 0;
    int cnt = OrdersHistoryTotal();
    for (int i=0; i < cnt; i++)
    {
        if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
        if (OrderSymbol() != Symbol()) continue;
        if (OrderMagicNumber() != MagicNumber) continue;

        if (lastCloseTime < OrderCloseTime())   // find most recent order
        {
            lastCloseTime = OrderCloseTime();
            profit = OrderProfit();
        }
    }
    return (profit);
}

la fonction n'est pas la mienne, mais je ne pense pas qu'il soit difficile de l'adapter aux conditions
 

aide qui peut.... quelqu'un sait comment faire un trailing stop non linéaire.... et non constant, mais seulement un nombre de fois donné

par exemple, lorsque le prix passe à A, la perte de pips passe à B, pips.... et ensuite, lorsqu'il passe à C, il passe à D.

où les lettres n'ont pas la même valeur mais sont différentes....

 
IgorM:

La fonction n'est pas de moi, mais je pense qu'il est facile de la modifier en fonction des conditions nécessaires.

Ce sont les "fleurs" :) La partie la plus intéressante commence après.

Je pensais dans la première boucle trier les commandes pour un symbole donné et créer un tableau par ticket.

Dans la deuxième boucle, triez le tableau par temps de fermeture.

Mais nous devrions alors obtenir les bénéfices des ordres à partir de leur heure de clôture - est-il possible de les relier d'une manière ou d'une autre ?

sans passer par toutes les commandes ? - Sinon, nous aurons trop de boucles.

 
chief2000:

Ce sont les "fleurs" :) La partie la plus intéressante commence après.

Je pensais dans la première boucle trier les commandes pour un symbole donné et créer un tableau par ticket.

Dans la deuxième boucle, triez le tableau par temps de fermeture.

Mais nous devrions alors obtenir les bénéfices de l'ordre à partir de leur heure de clôture - est-il possible de les relier d'une manière ou d'une autre ?

sans passer par toutes les commandes ? - Sinon, on obtient trop de boucles.



cela signifie que les tickets doivent être stockés dans des tableaux dès qu'une commande est passée avec succès, et qu'une analyse peut ensuite être effectuée sur les tickets.

Une autre variante consiste à créer un conseiller expert supplémentaire qui s'occuperait de cela - "restaurer l'historique" du terminal et sortir les données prêtes à être envoyées dans un fichier.

 
IgorM:


Cela signifie que vous devez mémoriser les billets dans des tableaux dès qu'une commande est passée avec succès, puis les analyser.

En option, j'aimerais créer un conseiller expert supplémentaire qui ferait ceci : "restaurer l'historique" du terminal et décharger les données terminées dans un fichier.

Par principe, je ne veux pas traiter les fichiers, pour ne pas lier l'Expert Advisor à un certain ordinateur...

Il semble que je doive créer dans la première boucle un nouveau tableau pour le ticket d'un symbole spécifié. Et ensuite, en deux cycles, le trier

par date, en mémorisant les billets dans le nouveau tableau. À partir du tableau résultant, exécutez une nouvelle boucle pour vérifier le bénéfice

pour les dernières commandes.

 
chief2000:

Par principe, je ne veux pas toucher aux fichiers, pour ne pas lier l'EA à un ordinateur spécifique...

Il semble que je doive créer un nouveau tableau dans la première boucle pour les tickets d'un symbole donné. Et ensuite, en deux cycles, le trier

par date, en mémorisant les billets dans le nouveau tableau. À partir du tableau résultant, exécutez une nouvelle boucle pour vérifier le bénéfice

pour les dernières commandes.


Integer a publié un code pour travailler avec l'historique. Triage par ouverture, triage par fermeture. Il faut juste le chercher.
Raison: