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

 

L'EA a utilisé un compte à rebours avec un enregistrement du temps sur l'événement en cours :

if (line1 < 0 && time ==0){time=Time[0];}//сработало предварительное условие входа, записываем время
if (time > 0)shift=iBarShift(Symbol(),Period(),time);//находим индекс бара

et si la condition n'a pas été déclenchée

if (line1 == 0){time=0;}

l'indice augmentait avec chaque barre.

Dans l'indicateur, il est nécessaire de mettre une flèche après un certain indice une fois.

J'ai essayé de faire la même chose dans l'indicateur mais rien ne fonctionne :

int tikket;// расположено на глобальном уровне
datetime time;// расположено на глобальном уровне

///////////////////////////////////

for(i=limit1;i>=0;i--)
     {
      if(ExtMapBuffer2[i]<0 && time == 0){time=Time[i];}
      if(time > 0)shift=iBarShift(Symbol(),Period(),time);//находим индекс бара
      if(ExtMapBuffer2[i]==0){time=0;tikket=0;}
      if(ExtMapBuffer2[i]<0 && shift>=shet && tikket==0){tikket=1;if(tikket>0)ExtMapBuffer3[i]=High[i]+150*Point;}
     }


Sur la première barre où " ExtMapBuffer2[i]<0 " la flèche est mise, et "shift>=shet" n'est pas considéré.

Logiquement, nous devrions faire quelque chose avec cette ligne " if(time > 0)shift=iBarShift(Symbol(),Period(),time) ;".

Qu'en pensez-vous ?

 

Chers programmeurs, j'ai besoin de votre aide.

J'ai essayé de compiler l'EA CloseAllOrders, mais j'obtiens l'entrée suivante :

------------------------------------------

CloseAllOrders_v5.mq4'
'WinUser32.mqh'
Lafonction doit retourner une valeur CloseAllOrders_v5.mq4 30 22
La fonction doit retourner une valeur CloseAllOrders_v5.mq4 79 41
0 erreur(s), 2 avertissement(s)

--------------------------------------------------

Que dois-je faire pour que mon EA fonctionne ?

L'évaluation environnementale est jointe.

Merci d'avance pour votre aide.

Regards,

Dossiers :
 
Geowind64:

Chers programmeurs, j'ai besoin de votre aide.

J'ai essayé de compiler l'EA CloseAllOrders, mais j'obtiens l'entrée suivante :

------------------------------------------

"CloseAllOrders_v5.mq4".
WinUser32.mqh'
La fonction doit retourner une valeur CloseAllOrders_v5.mq4 30 22
La fonction doit retourner une valeur CloseAllOrders_v5.mq4 79 41
0 erreur(s), 2 avertissement(s)

--------------------------------------------------

Que dois-je faire pour que mon EA fonctionne ?

Un conseiller expert est joint.

Merci d'avance pour votre aide.

Regards,


La fonction doit retourner la valeur

if (ret==IDCANCEL)return(0);

и

if (ret1==IDCANCEL)return(0);

Quelque chose comme ça.

 

Une question pour vous :

Le conseiller expert a un paramètre qui détermine sur quelle bougie entrer. L'EA ouvre un trade sur le signal de l'indicateur, sur la 3ème bougie après le signal. Sur la 2ème bougie après le signal, il y a un signal dans la direction opposée. Comment écrire la condition pour que nous n'entrions pas quand il y a un signal vers le côté opposé ?

extern int sdvig=3;//На какой свече заходим

 double pokupaem=iCustom(Symbol(),Per,"super-signals-channel",4,500,3,sdvig);

 double prodaem=iCustom(Symbol(),Per,"super-signals-channel",4,500,2,sdvig);

 if(OrdersTotal()==0)

 {

  double lot=(AccountBalance()/ MinLot)*0.01;

  if(center>Ask && pokupaem>0 && prodaem<1 && prodaem1<1 &&SelBuyDaily==Vhodim1)

  {

   x=OrderSend(Symbol(),OP_BUY,lot,Ask,3,0,0,Komment,Magic,0,Blue);

  }

  if(center<Bid && prodaem>0 && pokupaem<1 && pokupaem1<1 && SelBuyDaily==Vhodim2)

  {

   y=OrderSend(Symbol(),OP_SELL,lot,Bid,3,0,0,Komment,Magic,0,Red);

  }

 }

 

Résolu le problème en utilisant des variables supplémentaires. Nous prescrivons des indicateurs avec le signal sur la bougie actuelle. Lorsque le premier signal apparaît, nous attribuons un chiffre à la variable, lorsque le signal opposé apparaît, nous attribuons un autre chiffre.

 ////////////////////////////////////////////////////////////////////////////////////////

 //                       Проверка на наличие обратного сигнала                       //

 //////////////////////////////////////////////////////////////////////////////////////

  double pokup=iCustom(Symbol(),Period(),"super-signals-channel",4,500,3,0);

  double prod=iCustom(Symbol(),Period(),"super-signals-channel",4,500,2,0);

 if(pokup>0){

  proverka=1;

  }

 if(prod>0){

  proverka=2;

  }

/////////////////////////////////////////////////////////////////////////////////////////////////////

//                  Блок открытия зделок при отключённых стоп-лосс и тейк-профит                  //

///////////////////////////////////////////////////////////////////////////////////////////////////

 if(OrdersTotal()==0)

 {

  double lot=(AccountBalance()/ MinLot)*0.01;

  if(center>Ask && pokupaem>0 && prodaem<1 && prodaem1<1 && SelBuyDaily==Vhodim1 && proverka==1)

  {

   x=OrderSend(Symbol(),OP_BUY,lot,Ask,3,0,0,Komment,Magic,0,Blue);

  }

  if(center<Bid && prodaem>0 && pokupaem<1 && pokupaem1<1 && SelBuyDaily==Vhodim2 && proverka==2)

  {

   y=OrderSend(Symbol(),OP_SELL,lot,Bid,3,0,0,Komment,Magic,0,Red);

  }

 }

 

Bonjour, pourquoi l'EA s'ouvre-t-il... ...ou même ouvre des ordres au-dessus du prix ? J'essaie l'EA dans le testeur de stratégie dans Metatrader.

J'ouvre les commandes comme ça :

   RefreshRates();
   switch(send)
      {
      case 1: ticked = OrderSend(Symbol(), OP_BUY, lot, Ask, 4, NormalizeDouble(Bid-SL*Point, Digits), NormalizeDouble(Ask+TP*Point, Digits), "Buy_", magik, 0, clrBlue); break;
      case 2: ticked = OrderSend(Symbol(), OP_SELL, lot, Bid, 4, NormalizeDouble(Ask+SL*Point, Digits), NormalizeDouble(Bid-TP*Point, Digits), "Sell_", magik, 0, clrRed); break;
      default : ticked = 0;
      }



 
nr72:

Bonjour, pourquoi l'EA s'ouvre-t-il... ...ou même ouvre des ordres au-dessus du prix ? J'essaie l'EA dans le testeur de stratégie dans Metatrader.

J'ouvre les commandes comme ça :



L'achat s'ouvre également à Ask. Appuyez sur F8 sur le graphique de visualisation, cochez la case "Show Ask line" dans l'onglet "General". Toutes les questions disparaîtront d'elles-mêmes.
 
artmedia70:
L'achat s'ouvre sur Ask same. Appuyez sur F8 sur le graphique de visualisation, cochez la case "Show Ask line" dans l'onglet "General". Toutes les questions disparaîtront d'elles-mêmes.


Merci ! Je l'ai maintenant...
 
alexey1979621:
Bonjour à tous, je n'arrive pas à attacher une dinde hibou, aide des personnes compétentes.
La ligne de l'euro (verte) croise la ligne de la livre (marron clair) de haut en bas, ce qui ouvre un ordre de vente pour l'euro-livre. Si la livre franchit la ligne euro de bas en haut, nous achetons la livre euro.
Mon journal indique qu'il ne voit pas l'indicateur.
Je joins le conseiller et l'indicateur.

Merci d'avance.


Je ne conseille pas de décompiler. C'est juste un petit chemin vers le bain.
 

Pouvez-vous me dire s'il est possible de réduire de manière programmatique la barre de transaction rapide, qui est située dans le coin supérieur gauche du graphique?

2. Est-il possible de désactiver le trading rapide de manière programmatique ?

Raison: