Questions des débutants MQL5 MT5 MetaTrader 5 - page 301

 
pako:

pour l'achat de

 
PokrovMT5: Je l'ai écrit, le résultat est le même, 10013, j'ai enlevé stop et TP, ça n'aide pas. Retour supprimé, le compilateur se plaint avec la valeur(res.retcode)
MqlTradeRequest Req={0};
MqlTradeCheckResult Check={0}; 
MqlTradeResult Res={0};
ZeroMemory(Req);
ZeroMemory (Check);
ZeroMemory(Res);
   string TradeSmb;
   if(TradeSmb=="") TradeSmb=_Symbol;
   Req.action=TRADE_ACTION_DEAL;
   Req.symbol=TradeSmb;
   Req.volume=0.1;
   Req.type=ORDER_TYPE_BUY;
   Req.type_filling=ORDER_FILLING_RETURN;
   Req.price = sym_ask;
   Req.sl= NormalizeDouble(sym_bid - (StopLoss*sym_point),sym_digits);
   Req.tp= NormalizeDouble(sym_ask + (TakeProfit*sym_point),sym_digits);
   Req.deviation=3;
   Req.comment="777";
if(!OrderSend(Req,Res)|| Res.retcode !=TRADE_RETCODE_DONE) 
     {
      Print("Не удалось открыть BAY позицию по ",Symbol());
     } 

 
PokrovMT5:

mettez ce script dans le dossier des scripts, ouvrez ce script dans un unitor, compilez-le

Lorsque la bourse s'ouvre, faites glisser ce script sur le graphique

Dossiers :
test_buy.mq5  2 kb
 
pako:
c'est ce que ça dit, le dernier extremum
Si je comprends bien, il est impossible de trouver l'avant-dernier extremum du zigzag en utilisant les fonctions standards de mql5 ?
 
<br / translate="no">

Comment faire pour que l'échelle du tableau comporte des multiples et des entiers ? Je ne peux pas me passer d'une calculatrice lorsque j'essaie de calculer un modèle ou de placer des stops.

Et comment calculez-vous les différences entre les cellules, avez-vous également une calculatrice à portée de main ou existe-t-il un paramètre secret dans MT5 ?

L'échelle est spécifique pour ne pas se relâcher !

 
mavar:

Comment faire l'échelle sur un graphique avec quelques multiples et entiers ? Mon cerveau est en ébullition lorsque j'essaie de calculer visuellement une sorte de modèle ou de placer des arrêts, je ne peux pas me passer d'une calculatrice.

Et comment calculez-vous les différences entre les cellules, avez-vous également une calculatrice à portée de main ou existe-t-il un paramètre secret dans MT5 ?

Il n'y a pas de réglage secret. Il n'y a que cinq solutions possibles :

1. faites-le vous-même.

2. rechercher dans la kodobase ce qui est disponible.

3. le commander auprès de l'un des commerçants.

Achetez-le sur le marché.

5.Attendez et espérez que le μl se fasse dans le terminal.

 
Existe-t-il un moyen de lire le numéro de version à partir de #property version?
 

A la vôtre ! Aujourd'hui, j'ai lancé mon premier EA sur MT5 !

La bonne situation sur le marché est arrivée et le conseiller expert a commencé à acheter et à acheter ! !! Au moins, j'ai réussi à réagir à temps. Pouvez-vous me dire ce qui ne va pas dans ce code ? Je pensais qu'il devait acheter un seul lot et définir immédiatement un Stop Loss et un Take Profit. Dès qu'il a acheté quelque chose, la variable Bye_opened doit devenir vraie et ne doit pas lui permettre d'effectuer une transaction ultérieure tant que les stops ne sont pas déclenchés. De même, comment puis-je connaître le prix de la dernière transaction pour y placer des stops ?


Mais il semble que j'ai fait quelque chose de mal. Veuillez signaler mon erreur.


 //--- Do we have positions opened already?
   bool Buy_opened=false;  // variable to hold the result of Buy opened position
   bool Sell_opened=false; // variables to hold the result of Sell opened position

   if(PositionSelect(_Symbol)==true) // we have an opened position
     {
      if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
        {
         Buy_opened=true;  //It is a Buy
        }
      else if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
        {
         Sell_opened=true; // It is a Sell
        }
     }

//+------------------------------------------------------------------+
//|   СОВЕРШАЕМ СДЕЛКУ                                               |
//+------------------------------------------------------------------+
                  
     if(last_tick.last < BBLow[2] && Buy_opened == false)
        {
        int znak = last_tick.last - BBLow[2];

      //--- 1. Создать запрос
         
         MqlTradeRequest Trade_reqst={0};            // Инициализация структуры торгового запроса
         Trade_reqst.action=TRADE_ACTION_DEAL;       // Тип: немедленное совершение сделки
         Trade_reqst.symbol=_Symbol;                 // Инструмент: текущий
         Trade_reqst.volume=Lot;                     // Объём: 1 лот
         Trade_reqst.price=SymbolInfoDouble(_Symbol,SYMBOL_ASK)-TakeProfit*_Point; // Цена исполнения
         Trade_reqst.type=ORDER_TYPE_BUY;            // Тип ордера: на продажу
         Trade_reqst.type_filling=ORDER_FILLING_RETURN; // Политика исполнения 
         Trade_reqst.sl=last_tick.last - StopLoss * _Point;  // Stop Loss
         Trade_reqst.tp=SymbolInfoDouble(_Symbol,SYMBOL_ASK) + TakeProfit * _Point; // Take Profit
      // Trade_reqst.tp=Trade_reqst.price + TakeProfit * 2 * _Point; // Take Profit
      //--- 2. Отправить торговый приказ
         MqlTradeResult Trade_reslt={0};             // Инициализация структуры результата торгового запроса
         OrderSend(Trade_reqst,Trade_reslt);         // Отправка торгового запроса на сервер
   //--- выведем в лог ответ сервера  
   //Print(__FUNCTION__," - : - ",Trade_reslt.comment);
   if(Trade_reslt.retcode==10016) Print("Ответ: ",Trade_reslt.bid,Trade_reslt.ask,Trade_reslt.price);
 
Dans le testeur de stratégie, la commande MarketInfo(Symbol(),MODE_TICKVALUE) = 0 ( !) Cela se produit dans des situations où, par exemple, l'instrument est EURUSD et la devise de la balance est RUR ..... et dans d'autres combinaisons. Si je comprends bien, la devise de la balance doit être la même que le nom de la deuxième devise de la paire de devises. Sinon, il renvoie une valeur nulle (dans le testeur de stratégie), ce qui rend impossible la réalisation de tests avec les combinaisons souhaitées. Comment résoudre ce problème ?
 

MT4 737 est en cours de révision.

Quel est l'historique de MetaQuotes-Demo et depuis combien de temps ?

D1 est presque comme au bon vieux temps, à partir de mai 72, mais les semaines à partir de 95, les mois à partir de 93, les heures en général à partir de 12.