Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 414

 
bergkamp.:

après avoir quitté le start, il continuera à trader après le changement de signal ?

Si la condition spécifiée est modifiée, elle se poursuit.

bergkamp.:

et en quoi l'action est-elle différente ? ceci et cela

(sans entrer dans les détails) rien.

 
bergkamp.:

après avoir quitté le start, il continuera à trader après le changement de signal ?

et en quoi l'action est-elle différente ? ceci et cela


Dans le second cas, la fonction start() renvoie zéro, dans le premier rien n'est renvoyé.
 
khorosh:

Dans le second cas, la fonction start() renvoie zéro ; dans le premier cas, elle ne renvoie rien.

Oups, oups. Une grande idée fausse, qui conduit à trouver des erreurs là où il n'y en a pas.

La fonction renvoie un nombre indéfini, il se peut qu'elle renvoie 0, mais ce n'est pas sûr.

Alors, n'embrouillez pas l'homme, sinon il aura des problèmes et ne sera pas content.

 
bergkamp.:

après avoir quitté le start, il continuera à trader après le changement de signal ?

et en quoi l'action est-elle différente ? ceci et cela

Pas différent pour un appel système (par tic). Il est important d'appeler start() seul. Et ce, si la valeur de retour est importante.
 
sergeev:

Oups, oups... Une grande idée fausse qui conduit à trouver des erreurs là où il n'y en a pas.

La fonction renvoie un nombre indéfini, il se peut qu'elle renvoie 0, mais ce n'est pas sûr.

Alors ne l'embrouillez pas. Sinon, il sera blessé et ne sera pas heureux.

Valeur probablement jamais utilisée de la fonction "start". C'est ce que je pensais parce que, généralement, ce qui est entre parenthèses dans return() est la valeur de retour de la fonction, et s'il n'y a pas de valeur, alors rien. Mais "start" n'est pas une fonction ordinaire, mais une fonction spéciale, c'est peut-être la raison pour laquelle il peut y avoir quelques écarts.
 
khorosh:
return() entre parenthèses est la valeur de retour de la fonction et rien s'il n'y a pas de valeur.

Non et non !

n'enseignez pas de bêtises aux nouveaux venus.


int F1() { return ; }

int F2() { }

int a=F1(), b=F2() ;

Imprimer(a) ;

Imprimer(b) ;


-----

Merci à Dieu d'avoir ajouté le mode strict

 
  1. Bonjour, conseillez moi comment implémenter une condition dans l'indicateur de corrélation qui affiche dans la fenêtre principale 2 paires de devises dans les lignes à partir d'une certaine date dans le temps, de sorte que la seconde paire corrélée continuera à être affichée sur le graphique en temps réel, et pas seulement jusqu'à ce que l'indicateur soit attaché au graphique, par exemple, dans la fenêtre principale de l'euro pour continuer à afficher le pounddollar. La construction standard de l'indicateur (par barre) ne convient pas en raison de la réévaluation constante.
  2. #property indicator_chart_window
    #property indicator_buffers 2


    extern datetime startDate = 1389107200;
    extern int period = 1;
    extern int priceType = MODE_CLOSE;
    extern int shift = 0;
    extern int mode = MODE_EMA;
    extern string addSymbol = "GBPUSD";
    extern color curSymbolColor = Red;
    extern color addSymbolColor = Aqua;

    int drawBars = 0;
    int addBars = 100;
    double a[], b[], c[];

    // ----
    int init(){
    IndicatorBuffers(3);
    SetIndexBuffer(0,a);
    SetIndexBuffer(1,b);
    SetIndexBuffer(2,c);
    SetIndexStyle(0,DRAW_LINE,EMPTY,EMPTY,curSymbolColor);
    SetIndexStyle(1,DRAW_LINE,EMPTY,EMPTY,addSymbolColor);
    drawBars = iBarShift(NULL,0,startDate);
    if (iClose(addSymbol,0,0) == 0) addSymbol = "";
    drawBars += period + addBars;
    }

    // ----
    int start(){
    int bars = 0, i = 0, si = 0, pos = 0;
    static double delta = 0;

    bars = IndicatorCounted();
    if (bars < 0) return(-1);
    i = Bars - bars - 1;

    if (i > drawBars) i = drawBars;
    si = i;

    while (i > 0){
    if (i < drawBars - period - addBars){
    a[i] = iMA(NULL,0,period,shift,mode,priceType,i);
    }
    pos = iBarShift(addSymbol,0,Time[i]);
    c[i] = price(addSymbol,0,priceType,pos);
    i--;
    }
    si -= period + addBars + 1;
    i = si;

    while(i > 0){
    b[i] = iMAOnArray(c,0,period,shift,mode,i);
    if (i == si){
    delta = b[i] - a[i];
    }
    b[i] -= delta;
    i--;
    }
    }

    //----
    double price(string symb,int tf, int type, int i){
    double p = 0;
    if (symb=="0") symb = Symbol();

    switch(type){
    case MODE_OPEN :
    p = iOpen(symb,tf,i); break;
    case MODE_LOW :
    p = iLow(symb,tf,i); break;
    case MODE_HIGH :
    p = iHigh(symb,tf,i); break;
    case MODE_CLOSE :
    p = iClose(symb,tf,i); break;
    }
    return(p);
    }
 
Il est tout simplement possible que l'indicateur se rafraîchisse automatiquement, par exemple toutes les 2 ou 3 minutes.
 

Aidez-moi s'il vous plaît, je ne sais pas dans quel sujet écrire.

J'ai un Conseiller Expert, j'ai besoin de lui ajouter la possibilité de multiplier le prochain lot gagné par 2 :

1. Risque

2. Profit

3. Stoploss

4. Heure de début

5. Taille du lot

6. Si le lot est fermé positivement

7. Nombre de lots ultérieurs multipliés (1, 2, 3 ou 4)

7.1 Lot gagné multiplié (chaque 2, par X)

7.2 Le lot gagné multiplié (chaque 3 par X)

7.3 Un lot gagné multiplié (chacun 4 par X) 7.4 Un lot gagné multiplié (chacun 3 par X) 7.5 Un lot gagné multiplié (chacun 4 par X) 7.6.

7.4 Lot gagné multiplié (chaque 5 par X)

X - valeur modifiable (Si X=0 alors le lot n'est pas multiplié)

Exemple 1 :

Si le pari 0.03 = joué en +, le prochain pari est 0.06

Si le pari 0.06 = joué en +, le prochain pari est 0.09

Si le pari 0.09 = n'a pas joué dans le +, alors le prochain pari est standard 0.03

Exemple 2 :

Si le pari 0.03 = joué en +, le prochain pari est 0.06

Si le pari 0.06 = n'a pas joué dans le +, le pari suivant est 0.03

Si le pari 0.03 = joué en +, alors le pari suivant standard 0.06

etc.

Voici l'EA elle-même. Je vous serais très reconnaissant de votre aide.

Dossiers :
 
Bonjour !
Existe-t-il une fonction dans la fonction "Kim" qui calcule la marge bénéficiaire du dernier ordre ouvert ?

Je ne l'ai pas trouvé, maintenant je me pose la question d'une fonction maison pour calculer la marge bénéficiaire du dernier ordre ouvert.