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

 

Lester:
Il s'agit d'un modèle avec des fonctions intégrées d'ouverture, de fermeture et de modification.
L'ouverture et la clôture sont écrites par Nikolay Kositsin.

Je les ai facilement changés et ajouté des modifications.

Je pense que la façon de les appeler est claire, donc pour votre confort.

Désolé pour ça - j'ai mélangé lesfichiers.

Документация по MQL5: Файловые операции / FileMove
Документация по MQL5: Файловые операции / FileMove
  • www.mql5.com
Файловые операции / FileMove - Документация по MQL5
Dossiers :
schablon_1.mq5  13 kb
 
papaklass:

Essayez de cette façon :

Malheureusement, les commandes ne se ferment pas du tout. Je pense que je devrais y réfléchir pendant un moment ;)
 
mario065:

Lester:
Ce modèle comporte des fonctions intégrées d'ouverture, de fermeture et de modification.
L'ouverture et la clôture sont écrites par Nikolay Kositsin.

Je les ai facilement changés et ajouté des modifications.

Je pense que la façon de les défier est claire, donc pour votre commodité.

Comment ouvrir ces fichiers avec un éditeur ?
 
Lester:
Comment ouvrir de tels fichiers avec un éditeur ?

Tu ne peux pas les ouvrir. ))

Essayez de lire quelques articles. Il y a beaucoup de choix, des plus petits aux plus grands. ))

 
Lester:
Malheureusement, les commandes ne se ferment pas du tout. Je pense que je devrais y réfléchir un peu).

J'ai changé le fichier, désolé.

J'ai mélangé les fichiers, désolé.

 
papaklass:

Whoa. Qu'est-ce que cela a à voir avec les mandats ? Nous parlons d'une position depuis le début. Une position et des ordres en attente sont des choses différentes. Ils doivent être fermés différemment !

Les ordres en attente ne sont pas fermés mais supprimés. Les positions sont fermées en ouvrant un ordre de marché de volume égal et de direction opposée à la position ouverte.

Le code que vous avez cité n'a pas été conçu pour supprimer les ordres en attente.

Vous pouvez utiliser cette fonction pour supprimer des commandes :


Je l'ai. Rien sur les ordres - seulement les positions.

J'ai prescrit PositionSelect le soir - il semble que cela m'ait permis de reprendre mon souffle. Il envoie (ferme) des positions de temps en temps, mais je pense que les conditions sont déjà impliquées ici.

Je ne comprends pas autre chose. Il ne forme pas de stop et de profit loss, dont les valeurs sont prescrites dans les paramètres d'entrée. Si je prescris ces valeurs dans l'envoi, la même chose se produit - c'est-à-dire rien.

input int StopLoss=60;      // Stop Loss
input int TakeProfit=170;   // Take Profit
int OnInit()
 ...
   STP = StopLoss;
   TKP = TakeProfit;
   if(_Digits==5 || _Digits==3)
     {
      STP = STP*10;
      TKP = TKP*10;
     }
   return(0);
  }
...
 mrequest.action = TRADE_ACTION_DEAL;                                  // немедленное исполнение
         mrequest.price = NormalizeDouble(Ask,_Digits);    // последняя цена ask
         mrequest.sl = StopLoss; // Stop Loss
         mrequest.tp = TakeProfit; // Take Profit
         mrequest.symbol = _Symbol;                                            // символ
         mrequest.volume = Lot;                                                // количество лотов для торговли
         mrequest.magic = EA_Magic;                                            // Magic Number
         mrequest.type = ORDER_TYPE_BUY;                                       // ордер на покупку
         mrequest.type_filling = ORDER_FILLING_FOK;                            // тип исполнения ордера - все или ничего
         mrequest.deviation=10;                                               // проскальзывание от текущей цены
         //--- отсылаем ордер
         OrderSend(mrequest,mresult);
         // анализируем код возврата торгового сервера
         if(mresult.retcode==10009 || mresult.retcode==10008) //запрос выполнен или ордер успешно помещен
           {
            Alert("Ордер Buy успешно помещен, тикет ордера #:",mresult.order,"!!");
           }
         else
           {
            Alert("Запрос на установку ордера Buy не выполнен - код ошибки:",GetLastError());
            return;

 

Bonjour. Pouvez-vous me dire ce que je dois faire dans MT4 après m'être abonné aux signaux, afin que la synchronisation puisse avoir lieu ? J'ai trouvé dans les instructions ce qu'il faut faire avec MT5, je n'ai pas trouvé les instructions pour MT4. Je me suis abonné au signal de MT4.

Je me suis inscrit pour recevoir le signal de MT4. Merci.

Торговые сигналы
Торговые сигналы
  • www.mql5.com
Торговые Сигналы для MetaTrader: копирование сделок, мониторинг счета, автоматическое исполнение сигналов и социальный трейдинг
 
Lester:

Compris. Aucune mention des ordres - seulement des positions.

J'ai prescrit PositionSelect la nuit - il semble respirer. Il envoie (ferme) des positions de temps en temps, mais je pense que les conditions sont déjà impliquées ici.

Je ne comprends pas autre chose. Il ne forme pas de Stop et de Profit Loss, dont les valeurs sont prescrites dans les paramètres d'entrée. Si je prescris ces valeurs dans l'envoi, la même chose se produit - c'est-à-dire rien.

Les Stops et les Profits ne sont pas spécifiés correctement.
Здес указали целое число
input int StopLoss=60;      // Stop Loss
input int TakeProfit=170;   // Take Profit

...
   STP = StopLoss;
   TKP = TakeProfit;
   if(_Digits==5 || _Digits==3)
     {
      STP = STP*10;
      TKP = TKP*10;
     }
   return(0);
  }
...

mrequest.action = TRADE_ACTION_DEAL;                                  // немедленное исполнение
         mrequest.price = NormalizeDouble(Ask,_Digits);    // последняя цена ask
         mrequest.sl = NormalizeDouble(Ask - StopLoss*_Points,_Digits); // Stop Loss
         mrequest.tp = NormalizeDouble(Ask + TakeProfit*_Points,_Digits);  // Take Profit

На места для стоп и профит нужна цена!
 
papaklass:

La raison pour laquelle les stops ne sont pas fixés lors de l'ouverture d'une position peut dépendre du mode de trading. Il existe trois modes : Exécution sur demande, Exécution instantanée et Exécution sur le marché.

Si votre courtier utilise le mode d'exécution du marché, vous devez d'abord ouvrir une position, puis la modifier (fixer des stops) au tick suivant. En même temps, c'est-à-dire en un seul ordre, avec ce mode de trading il n'est pas possible d'ouvrir une position avec des stops.

En général, regardez la structure d'une demande de transaction :Référence MQL5 / Constantes, énumérations et structures standard / Structures de données / Structure d'une demande de transaction. Je pense que cela vous aidera à poursuivre votre étude de la langue.

En effet, il y a l'exécution du marché chez Alpari . Existe-t-il une structure de modification de l'ordre elle-même ? Comme il n'y a pas de modification dans le forum tant qu'il y a un ordre de vente ou d'achat ouvert.

Si je ne me trompe pas, le "poisson" de la modification ressemble à ceci.

if(PositionSelect(_Symbol)==true) // есть открытая позиция
     {
      if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
        { ModifyPosition(стоплосс на покупку)
        }
      else if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
        {
         { ModifyPosition(стоплосс на продажу)
        }
return


 
Lester:
En effet, dans Alpari Market Execution . Existe-t-il une structure de modification de l'ordre elle-même ? Comme il n'y a pas de modification dans le forum tant qu'il y a un ordre de vente ou d'achat ouvert.

Si je ne me trompe pas, le "poisson" de la modification ressemble à ceci.

Utilisez la solution toute prête de la bibliothèque standard(classe CTrade- méthode PositionModify). C'est une bonne solution pour un début. À tout moment, vous pouvez créer votre propre classe similaire et apporter les modifications nécessaires.
Raison: