Questions des débutants MQL4 MT4 MetaTrader 4 - page 127

 
nsd63 Est-il possible de faire avec cet indicateur

Besoin du code source de MQ4

 

Citoyens, conseillez-nous sur la façon d'exprimer la logique dans le code !

J'ai sur le graphique la MA.... et j'ai besoin qu'elle déclenche des VENTES, si la bougie a traversé la MA de haut en bas et des ACHETS, si la bougie a traversé de bas en haut .....

Merci d'avance !

 
sviter-pro:

Citoyens, conseillez-nous sur la façon d'exprimer la logique dans le code !

J'ai sur le graphique la MA.... et j'ai besoin qu'elle déclenche des VENTES, si la bougie a traversé la MA de haut en bas et des ACHETS, si la bougie a traversé de bas en haut .....

Merci d'avance !

il y a un Expert Advisor dans le terminal, Moving Average.mq4 - c'est déjà fait là. Il fonctionne parfaitement

 

Salutations.

Pouvez-vous me dire comment "glisser" dans le testeur MT4 un fichier historique créé avec une période de temps qui n'est pas dans le testeur (ou d'autres options) ?

Le fait est qu'il existe un Expert Advisor, d'ici http://tradelikeapro.ru/grafiki-renko/ qui crée un fichier historique en temps réel en chandeliers Renko avec un cadre temporel non standard. Nous devons le tester en utilisant le fichier créé. Le testeur montre TestGenerator : no history data 'GBPUSD5' from 2017.01.05 to 2017.06.14 Il est créé en temps réel, pas à partir de l'historique, parce que l'historique ne donne pas un graphique très correct. Ou bien, modifiez l'indicateur lui-même pour qu'il crée un graphique avec l'horizon temporel standard, en supprimant au préalable l'horizon approprié dans l'historique. Jusqu'à présent, j'ai seulement réussi à le corriger pour qu'il crée un fichier mais qu'il soit vide.

Торгуй с удовольствием! Свечи Ренко — построение графика «по кирпичику»
Торгуй с удовольствием! Свечи Ренко — построение графика «по кирпичику»
  • tradelikeapro.ru
Здравствуйте, друзья! На нашем сайте уже было несколько форекс стратегий для торговли по графикам Ренко (Renko), думаю стоит рассмотреть этот тип графиков отдельно, обсудить плюсы и минусы такого подхода к торговле. Также в рамках этого обзора мы познакомимся с альтернативным индикатором для построения графиков Ренко, т.к. часть старых утилит...
 
Andrey Sokolov:

Salutations.

Pouvez-vous me dire comment "glisser" dans le testeur MT4 un fichier historique créé avec une période de temps qui n'est pas dans le testeur (ou d'autres options) ?

Le fait est qu'il existe un Expert Advisor, d'ici http://tradelikeapro.ru/grafiki-renko/ qui crée un fichier historique en temps réel en chandeliers Renko avec un cadre temporel non standard. Nous devons le tester en utilisant le fichier créé. Le testeur montre TestGenerator : no history data 'GBPUSD5' from 2017.01.05 to 2017.06.14 Il est créé en temps réel, pas à partir de l'historique, car l'historique n'est pas très correct. Ou bien, modifiez l'indicateur lui-même pour qu'il crée un graphique avec l'horizon temporel standard, en supprimant au préalable l'horizon approprié dans l'historique. Jusqu'à présent, je n'ai réussi qu'à le corriger pour qu'il crée un fichier mais qu'il soit vide.

Le graphique Renko est le résultat de la superposition d'un filtre passe-bas avec un contrecoup sur l'historique. MA donne une courbe lisse, mais Renko donne une courbe en escalier à cause du contrecoup. Sauvegarder le résultat du filtrage dans un tableau et continuer à travailler... Je serai libre dans une semaine ou deux et je m'y mettrai.

 

Pouvez-vous me dire comment écrire dans le code de l'Expert Advisor pour ouvrir 3 trades à la fois avec la possibilité de paramétrer les LS ?

Voici ma condition

if(MA_1>MA_2)
ticket=OrderSend(_Symbol,OP_BUY,Lots,Ask,0,Ask-SL*Point,Bid+TP*Point,NULL,0,0,clrGreen);
if(MA_1<MA_2)
ticket=OrderSend(_Symbol,OP_SELL,Lots,Bid,0,Bid+SL*Point,Ask-TP*Point,NULL,0,0,clrRed);

On m'a conseillé d'utiliser la fonction(OrdersTotal()), mais cela ne correspond pas à mon cas. Je l'ai écrit comme ceci

void OnTick()
  {
//---
   double MA_1;
   MA_1=iMA(_Symbol,0,1,0,1,0,0);
   double MA_2;
   MA_2=iMA(_Symbol,0,6,0,1,0,0);
   int ticket=0;
   if(OrdersTotal()<=3)
     {
      if(MA_1>MA_2)
         ticket=OrderSend(_Symbol,OP_BUY,Lots,Ask,0,Ask-SL*Point,Bid+TP*Point,NULL,0,0,clrGreen);
      if(MA_1<MA_2)
         ticket=OrderSend(_Symbol,OP_SELL,Lots,Bid,0,Bid+SL*Point,Ask-TP*Point,NULL,0,0,clrRed);
     }
//---
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }

Il compile bien, sans erreur, mais il n'est pas adapté à mon cas.

 
Citoyens, veuillez me conseiller où trouver un EA (order flipper)...
Sa logique est la suivante :
Le premier ordre est ouvert par une condition, et lorsque d'autres conditions apparaissent, le premier ordre est fermé et le second ordre est ouvert par d'autres conditions ! !! Peut-être existe-t-il un endroit où lire sur ce sujet ?

J'ai fait ce que j'ai pu ! Mais les commandes ne se ferment pas Aidez-nous...

MA1_0 = iMA(_Symbol, _Period, ma1, 0, ma1_method, ma1_Price, 1) ;
MA1_1 = iMA(_Symbol, _Period, ma1, 0, ma1_method, ma1_Price, 2) ;

MA2_0 = iMA(_Symbol, _Period, ma2, 0, ma2_method, ma2_Price, 1) ;
MA2_1 = iMA(_Symbol, _Period, ma2, 0, ma2_method, ma2_Price, 2) ;

if(MA1_0 < MA2_0 && MA1_1 >= MA2_1) //vendre
{
if(tp > 0) TP = NormalizeDouble(Bid - tp * _Point, _Digits) ; sinon TP = NULL ;
ticket = OrderSend(_Symbol, OP_SELL, lot, Bid, slippage, 0, TP, NULL, Magic, 0, clrRed) ; //vente
Print("Erreur lors de l'ouverture d'un ordre de vente") ;
}
sinon
{
Print("Ouverture réussie de l'ordre de vente") ;
}
else if(MA1_0 > MA2_0 && MA1_1 <= MA2_1)//acheter
{
ticket_close = OrderClose (ticket, lot, Bid, slippage, clrRed) ;
Print("Ordre de vente fermé avec succès") ;
}
sinon
{
Print("Erreur lors de la clôture de l'ordre de vente") ;
}
 
Pouvez-vous nous dire pourquoi l'EA ne voit plus ses ordres (ouvre plusieurs ordres au lieu d'un seul) s'il y a d'autres ordres en plus de ses ordres ? Si seulement les ordres d'EA - pas de problèmes. Lors de l'ouverture d'un ordre, le "Medjik" est défini et seuls les ordres avec ce "Medjik" sont sélectionnés selon les conditions d'ouverture de l'ordre.
 
sviter-pro:
Citoyens, veuillez me conseiller où trouver un EA (order flipper)...
Sa logique est la suivante :
Le premier ordre est ouvert par une condition, et lorsque d'autres conditions apparaissent, le premier ordre est fermé et le second ordre est ouvert par d'autres conditions ! !! Peut-être existe-t-il un endroit où lire sur ce sujet ?

J'ai fait ce que j'ai pu ! Mais les commandes ne se ferment pas Aidez-nous...

MA1_0 = iMA(_Symbol, _Period, ma1, 0, ma1_method, ma1_Price, 1) ;
MA1_1 = iMA(_Symbol, _Period, ma1, 0, ma1_method, ma1_Price, 2) ;

MA2_0 = iMA(_Symbol, _Period, ma2, 0, ma2_method, ma2_Price, 1) ;
MA2_1 = iMA(_Symbol, _Period, ma2, 0, ma2_method, ma2_Price, 2) ;

if(MA1_0 < MA2_0 && MA1_1 >= MA2_1) //vendre
{
if(tp > 0) TP = NormalizeDouble(Bid - tp * _Point, _Digits) ; sinon TP = NULL ;
ticket = OrderSend(_Symbol, OP_SELL, lot, Bid, slippage, 0, TP, NULL, Magic, 0, clrRed) ; //vente
Print("Erreur lors de l'ouverture d'un ordre de vente") ;
}
sinon
{
Print("Ouverture réussie de l'ordre de vente") ;
}
else if(MA1_0 > MA2_0 && MA1_1 <= MA2_1)//acheter
{
ticket_close = OrderClose (ticket, lot, Bid, slippage, clrRed) ;
Print("Ordre de vente fermé avec succès") ;
}
sinon
{
Print("Erreur lors de la clôture de l'ordre de vente") ;
}

L'ordre de vente est fermé au prix d'achat

 
Anatoliy Ryzhakov:
Pouvez-vous nous dire pourquoi l'EA ne voit plus ses propres ordres (ouvre plusieurs ordres au lieu d'un seul) s'il y a d'autres ordres à côté des siens ? Si les ordres sont uniquement ceux de l'EA, il n'y a pas de problème. Lors de l'ouverture d'un ordre, le "Medjik" est défini et seuls les ordres avec ce "Medjik" sont sélectionnés selon les conditions d'ouverture de l'ordre.

Vous faites une pause et devez continuer

Raison: