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

 
Processor_ua:
J'ai oublié mon mot de passe sur Metatrader, comment puis-je en créer un nouveau ?


Si vous n'avez pas supprimé votre courrier électronique, consultez l'onglet "Boîte aux lettres" du terminal - Enregistrer un nouveau compte...

Si vous l'avez supprimé, veuillez contacter votre société de courtage.

 
Roman.:


Si vous n'avez pas supprimé votre courrier, consultez la rubrique Boîte aux lettres du terminal - Enregistrer un nouveau compte...

Si vous l'avez supprimé, contactez le service d'assistance de votre société de courtage.


Je ne sais pas exactement à qui l'envoyer, et qu'est-ce qu'un DC ? C'est un compte de démonstration, et je négocie depuis 3 mois et tout est parti à l'eau.
 
CLAIN:


la chose intéressante est qu'il n'y a aucun problème sur le testeur. Il fonctionne depuis 2000 à ce jour sans vidange.

Le code pourrait peut-être vous aider ?

c'est-à-dire que j'ai une fonction principale ici et les deux autres ne font que la dupliquer. Je l'ai fabriqué pour l'assurance, mais il ne fonctionne toujours pas.

if(OrderClosePrice()-OrderOpenPrice()<0)

Je pense qu'on vérifie la dernière position ouverte, si c'est +, on ouvre.

Si c'est le cas, nous devrions vérifier comme ceci.

int start()
  {
//----
  double ClosePrice_biu,OpenPrice_biu,ClosePrice_sell,OpenPrice_sell;
  int i;

   for ( i=0; i<OrdersHistoryTotal(); i++)
       {
        OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
           if (OrderSymbol()==Symbol())
              {
             if(OrderType()==OP_BUY)
                 {
                ClosePrice_biu= OrderClosePrice();
                OpenPrice_biu= OrderOpenPrice();
                 }
             if(OrderType()==OP_SELL)
                 {
                ClosePrice_sell= OrderClosePrice();
                OpenPrice_sell= OrderOpenPrice();
                 }
              }
        } 
                
  Comment("\n","ClosePrice_biu = ",ClosePrice_biu,
          "\n","OpenPrice_biu = ",OpenPrice_biu,
          "\n","ClosePrice_sell = ",ClosePrice_sell,
          "\n","OpenPrice_sell = ",OpenPrice_sell);
//----
   return(0);
  }

comme ça.

 
Processor_ua:

Merci, j'ai effacé le mail, mais dans soprota à qui exactement envoyer, je ne comprends pas du tout, et qu'est-ce que DC ?? c'est un compte de démonstration, et 3 mois de trading, tout à l'eau.

S'il s'agit d'un compte de démonstration, personne ne s'en occupera. Créez un nouveau compte. N'effacez pas cette ligne avec le courrier contenant les mots de passe du compte de trading. Le DC est le centre de négociation par lequel vous négociez.
 
Bonjour à tous. Vous trouverez ci-dessous un extrait rudimentaire d'un programme que j'ai du mal à terminer. Je veux qu'il vérifie s'il y a une autre commande au même endroit (avec le même prix) et si c'est le cas, je dois l'ignorer. Sinon, il passe des ordres jusqu'aux limites fixées, puis les place après le deuxième ou le troisième tour. Si vous le réglez sur automatique, vous devez définir un stop d'achat et vous verrez le résultat. Si quelqu'un est en mesure de le terminer, ne soyez pas paresseux. Quand ça marche - récompensez-la bien ! !!


extern double Lot=0.01 ;
extern bool Ustan_BuyStop=true ;
extern bool Ustan_SellStop=true ;
double Dist=10000.0 ;
chaîne SMB ;
double NewPrice,SL,TP ;
int i,z ;
int start()
{
RefreshRates() ;
SMB=Symbole() ;
if(Ustan_BuyStop || Ustan_SellStop) {UstanOtlozh();}
}
retour(0) ;
void UstanOtlozh()
{
double OldPrice=WindowPriceOnDropped() ;
RefreshRates() ;
SMB=Symbole() ;
{
int i=1 ;
while(i<=OrdersTotal())
{
si (OrderSelect(i-1,SELECT_BY_POS)==true)
{
si (OrderSymbol()!= SMB) continuer ;
int Tip=OrderType() ;
si (Tip<2) continuer ;
double Price=OrderOpenPrice() ;
{
NewPrice=Prix ;
while(NewPrice<=Ask+300*Po||NewPrice>=Ask+20*Po int)
{
NewPrice=NewPrice+20*Point ;
SL=NouveauPrix-20*Point ;
TP=NouveauPrix+20*Point ;
OrderSend(SMB,OP_BUYSTOP,Lot,NewPrice,3,SL,TP,NULL,0,CLR_NONE) ;
if(NewPrice>Ask+300*Point|||NewPrice<Ask+20*Point)
retour ;
}}
}
}
}
}
 
Roman.:


"+++++++++++++++++++++++++++++++++++++++++++ et affichage"

Et apprenez à insérer le code correctement. Votre fiche n'est d'aucun intérêt pour quiconque...

Lisez l'intégralité de l'article ici.


Ouais... feuille...

J'ai trouvé la panne moi-même. La fonction

void TRENDS(string name, int PER, int n, int X, int Y, color Lab_Trend_Bull, color Lab_Trend_Bear, color Lab_Trend_Doj, int rsm)

Quand je le supprime, tout fonctionne. Je ne sais pas POURQUOI cela fonctionne UNIQUEMENT sur EURUSD ????????

 
nlp2311:


Ouais... feuille...

J'ai trouvé le point d'échec moi-même. La fonction

void TRENDS(string name, int PER, int n, int X, int Y, color Lab_Trend_Bull, color Lab_Trend_Bear, color Lab_Trend_Doj, int rsm)

Quand je le supprime, tout fonctionne. Je ne sais pas POURQUOI cela fonctionne UNIQUEMENT sur EURUSD ????????


Il s'agit d'une paire magique, sur laquelle les codes, même tordus, fonctionnent toujours, afin de faire descendre le client plus rapidement, au moins sur quelque chose... :-)

Une autre astuce du Consortium mondial des banques...

 
Melko:
Bonjour à tous. Voici un extrait rudimentaire d'un programme dont j'ai du mal à arriver à la fin. Je dois faire en sorte qu'il vérifie s'il y a une autre commande au même endroit (avec le même prix) et s'il y en a une, il l'ignore. Sinon, il passe des ordres jusqu'aux limites fixées, puis les place après le deuxième ou le troisième tour. Si vous le réglez sur automatique, vous devez définir un arrêt d'achat et vous verrez le résultat. Si quelqu'un est en mesure de le terminer, ne soyez pas paresseux. Quand ça marche - récompensez-la bien ! !!


extern double Lot=0.01 ;
extern bool Ustan_BuyStop=true ;
extern bool Ustan_SellStop=true ;
double Dist=10000.0 ;
string SMB ;
double NewPrice,SL,TP ;
int i,z ;
int start()
{
RefreshRates() ;
SMB=Symbol() ;
if(Ustan_BuyStop || Ustan_SellStop) {UstanOtlozh();}
}
return(0) ;
void UstanOtlozh()
{
double OldPrice=WindowPriceOnDropped() ;
RefreshRates() ;
SMB=Symbol() ;
{
int i=1 ;
while(i<=OrdersTotal())
{
if (OrderSelect(i-1,SELECT_BY_POS)==true)
{
if (OrderSymbol() != SMB) continue ;
int Tip=OrderType() ;
if (Tip<2) continue ;
double Price=OrderOpenPrice() ;
{
NewPrice=Price ;
while(NewPrice<=Ask+300*Point||NewPrice>=Ask+20*Po int)
{
NewPrice=NewPrice+20*Point ;
SL=NewPrice-20*Point ;
TP=NewPrice+20*Point ;
OrderSend(SMB,OP_BUYSTOP,Lot,NewPrice,3,SL,TP,NULL,0,CLR_NONE) ;
if(NewPrice>Ask+300*Point||NewPrice<Ask+20*Point)
return ;
}}
}
}
}
}

lors de l'insertion de code, utilisez le bouton "SRC" dans la barre d'outils qui apparaît lors de l'insertion de commentaires

  for(cnt = 0; cnt < OrdersTotal(); cnt ++)
  {
    OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
    if(OrderMagicNumber() != MagicNumber || OrderSymbol() != Symbol()) {continue;}

    if(OrderMagicNumber() == MagicNumber && OrderSymbol() == Symbol() && OrderType() <= OP_SELL)
    {
      if(OrderType() == OP_BUY)
      {
        if(LatestBuy < OrderOpenTime())  {LatestBuy = OrderOpenTime();}
        if(NearestBuy == 0.0 || (MathAbs(ND(Bid, dgts) - ND(OrderOpenPrice(), dgts)) / Point < MathAbs(ND(Bid, dgts) - ND(NearestBuy, dgts)) / Point)) {NearestBuy = ND(ND(OrderOpenPrice(), dgts) + sprd * Point, dgts);}
      }
      else
      {
        if(LatestSell < OrderOpenTime())  {LatestSell = OrderOpenTime();}
        if(NearestSell == 0.0 || (MathAbs(ND(Ask, dgts) - ND(OrderOpenPrice(), dgts)) / Point < MathAbs(ND(Ask, dgts) - ND(NearestBuy, dgts)) / Point)) {NearestSell = ND(OrderOpenPrice(), dgts);}
      }
    }
  }
  if(ND(MathAbs(NearestBuy - ND(Bid, dgts)) / Point, 0) < MinDist)  {MMM_BuyCanOpen = false;}
  if(ND(MathAbs(ND(Ask, dgts) - NearestSell) / Point, 0) < MinDist)  {MMM_SellCanOpen = false;}
  if(TimeCurrent() - LatestBuy < MinTime * 60)  {BuyCanOpen = false;}
  if(TimeCurrent() - LatestSell < MinTime * 60)  {SellCanOpen = false;}

.....
  
  if(BuyCanOpen)
  {
отправка приказа на покупку (по рынку или отложки)
  }

  if(SellCanOpen)
  {
отправка приказа на продажу (по рынку или отложки)
  }

essayez quelque chose comme ça ...

 

Pouvez-vous me dire comment construire un indicateur en utilisant un autre indicateur ? Par exemple, j'ai une stochastique :

double sth=iStochastic(Symbol(),0,25,3,5,0,0,0,0,1) ;

Comment puis-je l'utiliser pour construire un bollinger ?

 

Bonjour !

Question sur les tableaux, dans ce cas dans les scripts.

L'opérateur d'affectation (=) fonctionne de manière incompréhensible si une variable plutôt qu'une constante (nombre) est utilisée comme index du tableau.

Par exemple :

//---------------------

double s[10] ;

int i = 0 ;

double priceOpen = 10 ;

while( i < 10)

{

s[i] = priceOpen ; // NE PAS APPLIQUER. Si s[5] = piceOpen ; alors une VARIABLE du tableau prend une nouvelle valeur...

i++ ;

}

Raison: