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

 
drknn:

J'ai constaté un comportement étrange dans le testeur de stratégie. Mon EA fixe et traque les ordres stop en attente. Il se passe ce qui suit. Le conseiller expert fixe un Stop d'achat et un Stop de vente à 30 pips du prix actuel (symbole - GbpUsd. Quatre chiffres. Niveau minimal = 3 pips). Au bout d'un moment, il les fait remonter en suivant le marché, s'ils ne se sont pas déclenchés. Donc ce que je vois. la modification est réussie, la modification est réussie, et puis à un moment donné les claquements et l'erreur #1 apparaissent. C'est-à-dire que tout allait bien, l'EA faisait les mêmes actions et soudain cette erreur apparaît. Tous les prix ont été normalisés en chiffres. En général, toutes les valeurs qui sont transmises à l'entrée de la fonction OrderModify() sont normalisées !

Quelle peut être la raison d'un tel comportement de l'Expert Advisor dans le testeur ?

La normalisation doit être effectuée pour vérifier si la modification est nécessaire. Mieux vaut comparer la différence de prix modifiée avec zéro.

if(NormalizeDouble(цена1 - цена2, _Digits) != 0)


Selon la condition, il peut être préférable de mettre < ou > zéro.

 
Viktorline14:

Encore une fois, merci beaucoup !

Maintenant il y a un problème, l'EA ouvre plusieurs ordres à la suite, et non un seul comme je le voulais(

int start()



  { S1a = NormalizeDouble(iStochastic(NULL, 0, S1_period, 3, S1_slowing, MODE_SMA, 1, MODE_MAIN, 1), 0);

   S1b = NormalizeDouble(iStochastic(NULL, 0, S1_period, 3, S1_slowing, MODE_SMA, 1, MODE_SIGNAL, 1), 0);

   

   if(MyOrderStateB == 1)Sleep(300000);

    else MyOrderStateB = 0;

   if(MyOrderStateS == 1)Sleep(300000);

    else MyOrderStateS = 0;

    

 

     

   if(S1a == S1b && S1a<20.0000 && S1b<20.0000 )

 

      if(!OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), Slippage, Bid - SL * Point, Ask + TP * Point, NULL, 0, 0,clrBlue))

   Print("Opening Buy error #", GetLastError());  

     else Sleep(2);

   MyOrderStateB = 1;

  

   


      

   if(S1a == S1b && S1a>80.0000 && S1b>80.0000 )


    

    

       if(!OrderSend(Symbol(), OP_SELL, OrderValue, NormalizeDouble(Bid, Digits), Slippage, Ask + SL * Point, Bid - TP * Point , NULL, 0, 0,clrRed))

       Print("Opening Sell error #", GetLastError()); 

       else Sleep(2);

       MyOrderStateS = 1;

       

      

       

       

       

   return(0);}


Ça donne quelque chose comme ça.

  int start()

     {
      S1a=NormalizeDouble(iStochastic(NULL,0,S1_period,3,S1_slowing,MODE_SMA,1,MODE_MAIN,1),0);
      S1b=NormalizeDouble(iStochastic(NULL,0,S1_period,3,S1_slowing,MODE_SMA,1,MODE_SIGNAL,1),0);

      if(S1a==S1b && S1a<20.0000 && S1b<20.0000 && MyOrderStateB==0)
         (
        if(!OrderSend(Symbol(),OP_BUY,OrderValue,NormalizeDouble(Ask,Digits),Slippage,Bid-SL*Point,Ask+TP*Point,NULL,0,0,clrBlue))
            Print("Opening Buy error #",GetLastError());
          else
            MyOrderStateB=1;
         )

      if(S1a==S1b && S1a>80.0000 && S1b>80.0000 && MyOrderStateS==0)
        {
       if(!OrderSend(Symbol(),OP_SELL,OrderValue,NormalizeDouble(Bid,Digits),Slippage,Ask+SL*Point,Bid-TP*Point,NULL,0,0,clrRed))
            Print("Opening Sell error #",GetLastError());
         else
            MyOrderStateS=1;
        }



      return(0);
     }
 
Bonjour, pourriez-vous m'expliquer pourquoi les messages push ont parfois un retard ? Aujourd'hui, après avoir allumé le terminal, les messages sont arrivés sur mon téléphone une demi-heure plus tard. L'internet était correct (le téléphone était proche de mon wifi). La plupart du temps, bien sûr, tout se passe sans ces délais. Comment rendre la réception des messages push plus stable ?
 
halk2009:
Bonjour, pourriez-vous m'expliquer pourquoi les messages push ont parfois un retard ? Aujourd'hui, après avoir allumé le terminal, les messages sont arrivés sur mon téléphone une demi-heure plus tard. L'internet était correct (le téléphone était proche de mon wifi). La plupart du temps, bien sûr, tout se passe sans ces délais. Comment rendre la réception des messages push plus stable ?
Quelqu'un a-t-il garanti la messagerie instantanée ?
 
evillive:
Quelqu'un garantit-il la messagerie instantanée ?
Je ne sais pas) c'est pourquoi je demande. La plupart du temps, les messages arrivent instantanément, je voudrais juste que ce soit comme ça tout le temps !) Il y a peut-être des aspects techniques qui peuvent être modifiés pour augmenter la fiabilité de la réception des messages push.
 
Les gars, voilà les bêtises. J'ai mis Paysound dans l'EA pour diffuser le son pendant le signal, mais ma carte audio a commencé à avoir des ratés. C'est-à-dire qu'il y a une sorte de son à court terme, des secousses. J'éteins le terminal et tout est normal. Le son joue le standard..... Qu'est-ce que ça peut être ?
 
drknn:

J'ai constaté un comportement étrange dans le testeur de stratégie. Mon EA fixe et traque les ordres stop en attente. Il se passe ce qui suit. Le conseiller expert fixe un Stop d'achat et un Stop de vente à 30 pips du prix actuel (symbole - GbpUsd. Quatre chiffres. Niveau minimal = 3 pips). Au bout d'un moment, il les fait remonter en suivant le marché, s'ils ne se sont pas déclenchés. Donc ce que je vois. la modification est réussie, la modification est réussie, et puis à un moment donné les claquements et l'erreur #1 apparaissent. C'est-à-dire que tout allait bien, l'EA faisait les mêmes actions et soudain cette erreur apparaît. Tous les prix ont été normalisés en chiffres. En général, toutes les valeurs qui sont transmises à l'entrée de la fonction OrderModify() sont normalisées !

Quelle peut être la raison d'un tel comportement de l'EA dans le testeur ?

Une tentative de modifier un ordre sans changer les valeurs de l'un de ses paramètres. Je ferais attention aux comparaisons non strictes en les rendant strictes.
 

Bonne journée !

Pouvez-vous me donner un indice ? Pouvez-vous utiliser des formules pour calculer ou une référence...

Combien de pips sur EURUSD le prix doit-il passer avant le stop out = 50%, l'effet de levier de 200 est les conditions de trading du broker sur 1 lot. Appel de marge = 100%.

Merci.

P.S. Je sais que vous avez besoin d'un prix de point. D'où le comptage d'ici...

 
_Roman:

Bonne journée !

Pouvez-vous me donner un indice ? Pouvez-vous utiliser des formules pour calculer ou une référence...

Combien de pips sur EURUSD le prix doit-il passer avant le stop out = 50%, l'effet de levier de 200 est les conditions de trading du broker sur 1 lot. Appel de marge = 100%.

Merci.

P.S. Je sais que vous avez besoin d'un prix de point. D'où le comptage d'ici...


Il est plus facile de compter les points lorsque la position a augmenté l'équité de 50% ! La différence en pips sera la même ! ;))
 
borilunad:
Il est plus facile, lorsque la position a augmenté l'équité de 50%, de compter les points ! La différence en pips sera la même ! ;))

:-) Là, le stop out est calculé en pourcentage du montant du dépôt...

Oui et là dans la question j'ai oublié de préciser, par exemple, avec 1000$ en dépôt.

Raison: