[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 95

 
PariaH:

Veuillez me dire comment ouvrir un nouvel ordre si un Stop Loss ou un TP est déclenché. De préférence un code ! Merci d'avance !!!

Ouvrez n'importe quel code d'un EA à partir de https://www.mql5.com/ru/code

ou ouvrez le code du conseiller expert fourni avec MT4, par exemple, Moving Average.mq4.

Là, si vous regardez attentivement, vous verrez comment cela se passe.

Après cela, vous serez en mesure de parler.

 

Là, si vous regardez attentivement, vous verrez comment cela se passe.

Après ça, vous pourrez parler.

Ce n'est pas exactement la réponse que j'attendais... Je veux un exemple concret, pas le code complet du programme...

 
alexhammer:

J'ai esquissé une nouvelle évaluation environnementale aujourd'hui, je l'écris pour moi-même, mais si elle est bonne, je la partagerai avec vous plus tard.

J'aimerais avoir votre avis sur ce qu'il faut y ajouter. Il peut réorganiser les stops et les takei, déplacer la ligne à l'écran, afficher les ordres ouverts et d'autres statistiques sur les comptes. Le plus important est d'ajouter des options pour les stops suiveurs et d'afficher visuellement leur mouvement. Quelles autres demandes y aura-t-il ?

C'est joli :).

Au moins, je veux apprendre à mon conseiller expert à ne pas perdre le dépôt.

Une bonne EE n'est pas la garantie d'une vie agréable.

 
PariaH:

Là, si vous regardez attentivement, vous verrez comment cela se passe.

Après ça, vous pourrez parler.

Ce n'est pas exactement la réponse que j'attendais... Je veux un exemple concret, pas le code complet du programme...

//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void CheckForOpen()
  {
   double ma;
   int    res;
//---- go trading only for first tiks of new bar
   if(Volume[0]>1) return;
//---- get Moving Average 
   ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//---- sell conditions
   if(Open[1]>ma && Close[1]<ma)  
     {
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red);
      return;
     }
//---- buy conditions
   if(Open[1]<ma && Close[1]>ma)  
     {
      res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue);
      return;
     }
//----
  }
Cela fait partie du code EA fourni avec MT4.
 
coronel:

Apprenez au moins à un EA à ne pas perdre un dépôt.

Une belle EA n'est pas la garantie d'une belle vie.


Ne me fais pas la morale sur les EA ! Ce n'est pas un EA de trading si vous ne comprenez pas. Et sur l'écran se trouve un compte de démonstration avec des ordres spécialement ouverts pour tester la performance de cet EA.
 
alexhammer:

Ne me fais pas la morale sur les EA ! Il ne s'agit pas d'un conseiller expert en trading si vous ne comprenez pas. Et sur l'écran se trouve un compte de démonstration avec des ordres spécialement ouverts pour tester le travail de cet EA.

Pardonnez-moi si mon message vous a paru moralisateur.

Je ne faisais qu'exprimer mon point de vue sur l'autotrading.

 
Allez, Peace ! :) J'attendais juste quelques idées et souhaits, je n'essaie pas de le faire pour moi tout seul.
 
alexhammer:
Allez, le monde ! :) J'attendais juste d'entendre des idées, des souhaits, pas seulement pour moi car j'essaie.

Il y a des tonnes d'idées sur ce site, mais je ne connais personne qui gagne sa vie en tant que trader automatique.

 
coronel:
Cela fait partie du code EA fourni avec MT4.


SPY... Mais ce n'est pas encore ça :) le truc, c'est que je n'utilise pas d'indicateurs... J'ai juste besoin d'ouvrir un nouvel ordre si un STOP ou un PREF est déclenché ! Comment cela peut-il être mis en œuvre d'une autre manière...

voici une partie du code.... mais cela ne fonctionne pas ....

for(int i=1 ; i<=OrdersTotal() ; i++) // ? ??? ? ??????? ? ????

{

if(OrderSelect(i-1,SELECT_BY_POS)==true)

{

double SL=OrderStopLoss() ;

double TP=OrderTakeProfit() ; // TP ? ????????? ? ??.

double Price =OrderOpenPrice() ;

{

if(SL >= Price)

{

OrderSend(Symbol(), OP_BUY, lots,Ask, 3, Ask - stop_loss * Point, Bid + take_profit * Point, IDENT, MAGIC, 0, Green) ;

}

}

Alert(i) ;

}

}

 
PariaH:


SPS... Mais ce n'est pas encore ça :) le truc, c'est que je n'utilise pas d'indicateurs... Je dois juste ouvrir un nouvel ordre s'il déclenche un STOP ou un PREF ! Comment cela peut-il être mis en œuvre d'une autre manière...

voici une partie du code.... mais cela ne fonctionne pas ....


Toujours le même morceau de code, mais sans l'indicateur :

int start()
  {
   int    res;
//---- go trading only for first tiks of new bar
   if(Volume[0]>1) return;
//---- 
   if(OrdersTotal()==0)//если нет открытых ордеров
     { 
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red);// открыть SELL
 //     res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue); //открыть BUY
     }
//----
 return(0);}