[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 379

 
globad:
Je pense qu'il y a beaucoup de choses prêtes à l'emploi comme ça. Un simple EA ouvre un marché à un moment donné...

Le problème, c'est que depuis que la possibilité de programmer pour MT4 existe, des CENTAINES d'algorithmes prêts à l'emploi se sont accumulés dans l'accès libre à l'Internet, et trouver le bon est très problématique - vous devrez chercher dans un tas de déchets, et cela peut même prendre plus d'un mois. En outre, il n'y a toujours aucune garantie que le code que vous avez trouvé ne sera pas écrit de manière incorrecte. Mais le code personnalisé ne permet pas seulement d'économiser du temps et des efforts, il peut aussi être rapidement corrigé par le codeur, si le client constate que quelque chose ne fonctionne pas comme prévu.
 
Vinin:


Merci ! !!
 
artmedia70:

Que fait la fonction de toute façon ?

Il renvoie zéro de toute façon... J'ai donc posé la question sans regarder la syntaxe.


Eh bien, c'est un modèle..... Merde, qu'est-ce que ça peut être, j'ai mis à jour le build et l'EA a commencé à se séparer, de plus, le même EA sur un autre ancien build, fonctionne, ouvre des transactions, etc.

if (b!=Bars){
b=Bars;

      if (iCustom(NULL, 0, "1111",set,up,zukko1,7,1)!=0){
      TotalOrders=OrdersTotal(); 
           for (i=0; i<=TotalOrders; i++){
                 if (OrderSelect(0,SELECT_BY_POS)==true){
                    if (OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,5,Red);
                 if (OrderSelect(0,SELECT_BY_POS)==true){   
                    if (OrderType()==OP_BUYSTOP) OrderDelete(OrderTicket(),Green);                    
                 }
                 }            
           }  
                       
    // if (OrdersTotal()==0) 
    OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Bid-StopLoss*Point,Bid+TakeProfit*Point);
      //OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-StopLoss*Point,3,Bid-StopLoss*Point+OPStopLoss*Point,Bid-StopLoss*Point-OPTakeProfit*Point);
       }
      if (iCustom(NULL, 0, "111111",set,up,zukko1,6,1)!=0){
      TotalOrders=OrdersTotal();
        for (i=0; i<=TotalOrders; i++){
                 if (OrderSelect(0,SELECT_BY_POS)==true){
                    if (OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,5,Red);
                 if (OrderSelect(0,SELECT_BY_POS)==true){   
                    if (OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket(),Green);
                 }   
                 }
        }              
     //if (OrdersTotal()==0) 
     OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Ask+StopLoss*Point,Ask-TakeProfit*Point);
     // OrderSend(Symbol(),OP_BUYSTOP,Lot,Ask+StopLoss*Point,3,Ask+StopLoss*Point-OPStopLoss*Point,Ask+StopLoss*Point+OPTakeProfit*Point);
         }
  }

Quelqu'un peut-il m'aider ? .... L'EA est censé fonctionner une fois par barre. Et c'est un coup dur....

 
drknn:

C'est là que le bât blesse, car depuis tout ce temps, la possibilité de programmer pour MT4 s'est accumulée dans l'accès gratuit à des CENTAINES d'EAs prêts à l'emploi sur Internet, si bien que trouver le bon est très problématique - vous devrez chercher parmi un tas de déchets, et cela peut même prendre plus d'un mois. En outre, il n'y a toujours aucune garantie que le code que vous avez trouvé ne sera pas écrit de manière incorrecte. Le code fait sur commande permet non seulement d'économiser du temps et des efforts, mais peut également être rapidement corrigé par le développeur, si le client constate que quelque chose ne fonctionne pas comme prévu.
À votre avis, combien coûterait un tel appareil ?
 

Bonjour !

Voici un tel problème....

Dans l'indicateur complexe, j'ai créé une représentation graphique des fractales (afin de ne pas appliquer l'indicateur fractal).

Pour les fractales supérieures (flèches)

double P_F_5_Up = Price_UP_1 + Positiont;
               string name="Up_F5"+"_"+s;
               
               ObjectCreate( name, OBJ_ARROW, 0, Time[s], P_F_5_Up);
               ObjectSet( name,OBJPROP_COLOR,Color_F5);
               ObjectSet( name,OBJPROP_ARROWCODE,217);
               ObjectSet(name,OBJPROP_WIDTH,2);

Pour les fractales inférieures (flèches)

double P_F_5_DW=Price_DW_1 - Positiont;
               name="DW_F5"+"_"+s;
               
               ObjectCreate( name, OBJ_ARROW, 0, Time[s], P_F_5_DW);
               ObjectSet( name,OBJPROP_COLOR,Color_F5 );
               ObjectSet( name,OBJPROP_ARROWCODE,218);
               ObjectSet(name,OBJPROP_WIDTH,2);
Flèches fractales

sont affichés dans la fenêtre principale à une distance de High/Low par la valeur de Positiont, qui est définie dans init()

Positiont*=Point;

Leproblème est le suivant : pour les fractales inférieures, les objets graphiques (flèches) sont affichés en fonction de Positiont, alors que pour les fractales supérieures, ils s'en tiennent au chandelier High/Low, c'est-à-dire qu'ils ne voient pas Positiont.

Pourquoi ? Je ne comprends pas.....

 
LOA:


Pourquoi ? Je ne comprends pas.....

Peut-être ajouter la hauteur de l'objet encore.
 
splxgf:
Peut-être ajouter aussi la hauteur de l'objet.


Comment faites-vous ?

Et, pour être honnête, je doute que cela puisse aider (bien que je vais essayer si vous me dites comment).

Les objets graphiques sont des caractères standard pour le haut et le bas.

 
double P_F_5_Up = Price_UP_1 + Positiont*2;
La position est comptée à partir du coin supérieur gauche, le bas est parfait, le haut nécessite une marge supplémentaire.
 
splxgf:
La position est comptée à partir du coin supérieur gauche, le bas est parfait, le haut nécessite une marge supplémentaire.

OK. J'ai compris et je l'ai fait, mais ça n'a pas marché avec *2, mais avec *4 c'est génial. Merci beaucoup - je ne connaissais pas cette nuance (bien qu'il y ait beaucoup d'autres choses que j'ignore, mais je suis en train de les apprendre)
 
Reshetov:
Voir https://www.mql5.com/ru/forum/131859/page6#434260


Fonction GetExtremumZZZPrice()


Merci beaucoup.