[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 93

 
Roll:
Objectif de la question ? Opinion personnelle : quelles que soient les normes, les règles et l'opinion publique sur une question quelconque pour l'algorithme du code (les utilisateurs du code), l'opinion subjective de l'auteur ou des auteurs de ce code est de première importance, indépendamment de la "justesse".
L'objet de la question est le suivant : quels sont les modèles de chandeliers les plus significatifs, disons, pour un renversement de tendance ou la poursuite d'une tendance ?
 
first_may:
Le but de la question est de savoir quels sont les modèles de chandeliers les plus significatifs, par exemple pour un renversement de tendance ou pour la poursuite d'une tendance ?

Vous avez besoin d'une liste de littérature ?
 
Roll:

Vous avez besoin d'une liste d'ouvrages ?

La littérature qui indiquera les modèles les plus importants ? Le livre Morris G. Japanese Candlesticks n'est-il pas bon pour ça ?
 

Bonjour, pourriez-vous me conseiller ce qu'il faut ajouter au code de l'Expert Advisor pour que les informations affichées dans le carré ne soient pas déformées (par exemple par le graphique ou d'autres lignes), c'est-à-dire qu'elles soient au premier plan et ne transparaissent pas. Merci d'avance.

ObjectCreate("Flag-1", OBJ_LABEL, 0, 0, 0) ;
ObjectSetText("Flag-1", "g", 154, "Webdings") ;
ObjectSet("Flag-1", OBJPROP_CORNER, 0) ;
ObjectSet("Flag-1", OBJPROP_XDISTANCE, 6) ;
ObjectSet("Flag-1", OBJPROP_YDISTANCE, 4) ;
ObjectSet("Flag-1", OBJPROP_COLOR, DimGray) ;
ObjectSet("Flag-1", OBJPROP_BACK, false) ;

 
sergeev:

Stratégies de test. MT4. MQL4



1
1billionbaks 16.08.2011 13:26

Bonjour.

Cette question m'intéresse. Comment puis-je télécharger et tester des EA et des indicateurs sur une grande échelle de temps ?


Vrai - seulement sur la démo et sur différentes paires de devises ! Le testeur de stratégie donne des résultats totalement impensables.
 
bercut0077:

Bonjour, pourriez-vous me conseiller ce qu'il faut ajouter au code de l'Expert Advisor pour que les informations affichées dans le carré ne soient pas déformées (par exemple par le graphique ou d'autres lignes), c'est-à-dire qu'elles soient au premier plan et ne transparaissent pas. Merci d'avance.

ObjectCreate("Flag-1", OBJ_LABEL, 0, 0, 0) ;
ObjectSetText("Flag-1", "g", 154, "Webdings") ;
ObjectSet("Flag-1", OBJPROP_CORNER, 0) ;
ObjectSet("Flag-1", OBJPROP_XDISTANCE, 6) ;
ObjectSet("Flag-1", OBJPROP_YDISTANCE, 4) ;
ObjectSet("Flag-1", OBJPROP_COLOR, DimGray) ;
ObjectSet("Flag-1", OBJPROP_BACK, false) ;


Si cela fonctionne, écrivez comment vous l'avez fait
 

Bonne journée. Aide S'IL VOUS PLAÎT TESTER NE PEUT PAS DÉMARRER : Par exemple conseiller de travail 1.6 ilan et 18, j'ai ouvert des ordres est le commerce, mais va lentement dans le déficit, je veux tester, j'ai mis m5 paire de devises euro-dollar définir les paramètres et appuyez sur le début de la barre verte se déplace lentement vers l'avant. Je ne vois pas de résultats, je vois un graphique vide, mais j'ai écrit erreur 131 S'il vous plaît conseillez-moi, je viens juste de commencer à apprendre. Je travaille avec forex4, merci beaucoup Igor. Je ne sais pas comment fixer un stop loss.

 

Bon après-midi ! !! Je dois encore être stupide. Je suis revenu à la suppression de toutes les commandes. Je ne me souviens pas exactement de ce que je faisais là il y a un mois et j'ai créé un nouvel EA à partir de pièces.

En bref, l'EA ne supprime pas les ordres. En fait, le forex loop ne tombe pas.

//----  


 // Alert ("ОсталосььOrdersTotal()", OrdersTotal());
    j=-1;
 for ( i=0; i<OrdersHistoryTotal(); i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
         if (OrderSymbol()!=Symbol())     continue;
         if (OrderType()>1)               continue;
         if (OrderMagicNumber()==1000 || OrderMagicNumber()==2000) {
            if (wremjapomnim<OrderCloseTime()) {
                wremjapomnim=OrderCloseTime();
                j=i;
               }
            }
         }
      }
   if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
      if (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(), Digits)<0.5*Point) {
         Alert("Позиция с тикетом #",OrderTicket()," закрыта по TakeProfit, закрываем остальные прозиции и удаляем отложенные ордера");
         // Здесь код для закрытия всех открытых позиций (тоже в цикле)
         for ( i=0; i<OrdersTotal(); i++) {Alert ("Здесь код для закрытия всех открытых позиций (тоже в цикле)",i);
           OrderSelect(i, SELECT_BY_POS );
              if (  OrderType( )==OP_BUY && OrderType( )==OP_SELL ){
                          OrderClose( OrderTicket( ), OrderLots( ), OrderClosePrice( ) , 0, CLR_NONE);
   Alert ("OrderClose-vse-2",  GetLastError( ) ); C=0;A=1; }} 
         // Здесь код для удаления всех отложенных ордеров (также в цикле)
         for ( i=0; i<OrdersTotal(); i++) {Alert("Здесь код для удаления всех отложенных ордеров (также в цикле)",i);    
         OrderSelect(i, SELECT_BY_POS );
           if (  OrderType( )==OP_BUYSTOP && OrderType( )==OP_SELLSTOP ){ 
            OrderDelete(OrderTicket( )) ; Alert ("OrderDelete-vse-2",  GetLastError( ) ); }}    CloseAll();
         }
      }
//----


   return(0);
  }
//+------------------------------------------------------------------+


//+ -----------------------------------------------------------------+

      
//+------------------------------------------------------        



//+------------------------------------------------------------------+
// Закрываем все ордера                                              |
//+------------------------------------------------------------------+
void CloseAll()
{
 int ticket, i;
 while(OrdersTotal()>0) {
  for(i=OrdersTotal()-1;i>=0;i--){
   OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if(OrderType()<2){
     if(OrderType()==OP_BUY) {
        RefreshRates();
        ticket=OrderClose(OrderTicket(),OrderLots(),Bid,3,0);
        if(!ticket) Print(" Ошибка! ",GetLastError()); 
        Sleep(1000); }
     if(OrderType()==OP_SELL) {
        RefreshRates();
        ticket=OrderClose(OrderTicket(),OrderLots(),Ask,3,0);
        if(!ticket) Print(" Ошибка! ",GetLastError()); 
        Sleep(1000); }
    }    
  }
 }   
}
//+ -----------------------------------------------------------------+
Tout est bien enregistré jusqu'au premier cycle, le journal ne reçoit jamais d'entrée...
Alert ("Здесь код для закрытия всех открытых позиций (тоже в цикле)",i);
Et le cycle où...
for ( i=0; i<OrdersTotal(); i++) {Alert("Здесь код для удаления всех отложенных ордеров (также в цикле)",i);

La fonction ne supprime rien non plus... Aide!!!!S'il vous plaît ! Ça fait 40 minutes que je regarde le formulaire...

Où suis-je, bon sang ?

 
est-il possible de télécharger un indicateur pour les ondes zolliot
 

2Dimka-novitsek

par void CloseAll()

ticket=OrderClose

Ticket est de type entier, OrderClose est de type booléen. Il est préférable de ne pas le faire.

alors que la boucle est infinie, et que l'on tente de supprimer uniquement les ordres de marché, s'il y en a un en attente, alors cette musique sera éternelle.

Pour le reste

Je comprends que le premier formulaire recherche le dernier ordre clôturé par ticket et par symbole.

for ( i=0 ; i<OrdersTotal() ; i++)

il est préférable de rechercher un proche dans l'ordre inverse ; je ne pense pas qu'il faille expliquer la raison.

si ( OrderType( )==OP_BUY && OrderType( )==OP_SELL )

L'ordre peut être à la fois ACHETER et VENDRE mais je préfère l'avoir.

(OrderSelect(j, SELECT_BY_POS, MODE_HISTORY))

Je mettrais j avant cette ligne ; cela simplifierait les choses et penserait également à la condition

si (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(), Digits)<0.5*Point)

Je recommande de clarifier qui est le point et pourquoi il est multiplié par 0,5 ?