Aide correction script

 

Bonjour a tous , 


je viens vers vous pour un petit coup de main concernant un script .


Donc voici mon problème , j'ai testé une stratégie manuellement , étant donné que celle-ci est opérationnelle j'ai cherché a l'automatisé et j'ai demandé a chatgpt de me programmer ma stratégie, ce qu'il a fait mais le script comporte des erreurs lors de la compilation.

Est-ce que quelqu'un pourrait me corriger les erreurs dans le script svp?


La stratégie de base est :

Je veut que le script ouvre un ordre d'achat et de vente en même temps a une heure souhaité , avec une taille de lots réglable ainsi que le take profit et stoploss , puis lorsque les ordres sont déclenchés le robot place automatiquement  un buy limit au niveau du take profit de l'ordre de vente et inversement placé un sell limit au niveau du take profit de l'ordre d'achat et des paramètres ajustable pour les take profits et stoploss des buy limit et sell limit. Et dernier point que j'ai oublié de préciser a chatgpt est que lorsque un des 2 ordres sell limit ou buy limit est déclenché il supprime automatique celui qui n'a pas déclenché.


j'espère que c'est compréhensible .


Voici ce que j'ai eu en retour :

================================================================================================================================================

#include <Trade\Trade.mqh>


input double lotsize = 0.1;

input int stopLoss = 50; // Stop Loss en points

input int takeProfit = 100; // Take Profit en points

input int sellLimitTakeProfit = 50; // Take Profit pour le Sell Limit en points

input int buyLimitTakeProfit = 50; // Take Profit pour le Buy Limit en points


CTrade trade;


void OnTick()

{

   datetime currentTime = TimeCurrent();


   if(currentTime == D'2021.10.05 10:00:00') // Heure désirée pour l'ordre d'achat

   {

      if(!trade.PositionSelect(_Symbol))

      {

         double currentAsk = SymbolInfoDouble(_Symbol, SYMBOL_ASK);

         double slPrice = currentAsk - stopLoss * _Point;

         double tpPrice = currentAsk + takeProfit * _Point;


         trade.Buy(lotsize, _Symbol, currentAsk, slPrice, tpPrice, 0, 0, "Buy order", 0, 0, clrNONE);

      }

   }


   if(currentTime == D'2021.10.06 15:00:00') // Heure désirée pour l'ordre de vente

   {

      if(!trade.PositionSelect(_Symbol))

      {

         double currentBid = SymbolInfoDouble(_Symbol, SYMBOL_BID);

         double slPrice = currentBid + stopLoss * _Point;

         double tpPrice = currentBid - takeProfit * _Point;


         trade.Sell(lotsize, _Symbol, currentBid, slPrice, tpPrice, 0, 0, "Sell order", 0, 0, clrNONE);

      }

   }


   if(trade.PositionSelect(_Symbol))

   {

      double currentPrice = trade.PositionGetDouble(POSITION_PRICE_CURRENT);


      if(trade.PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY)

      {

         double tpPrice = currentPrice + takeProfit * _Point;

         double sellLimitPrice = tpPrice + sellLimitTakeProfit * _Point;


         trade.SellLimit(lotsize, _Symbol, sellLimitPrice, 0, 0, 0, 0, "Sell Limit order", 0, 0, clrNONE);

      }

      else if(trade.PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL)

      {

         double tpPrice = currentPrice - takeProfit * _Point;

         double buyLimitPrice = tpPrice - buyLimitTakeProfit * _Point;


         trade.BuyLimit(lotsize, _Symbol, buyLimitPrice, 0, 0, 0, 0, "Buy Limit order", 0, 0, clrNONE);

      }

   }

}

==================================================================================================================================================

Merci d'avoir pris le temps de lire et de vos futurs réponses.


Bonne journée

 
Bonjour
il semble que les codes générés ne sont pas autorisé sur le site

Il faut utiliser alt+S pour poster des codes
 
Gerard Willia G J B M Dinh Sy #:
Bonjour
il semble que les codes générés ne sont pas autorisé sur le site

Il faut utiliser alt+S pour poster des codes
Bonjour Gérard, c'est a dire ? Le code n'est donc pas visible ? Merci 
 
Ça veut dire qu'il y a une fonction du site qui permet d'avoir un meilleur formatage des codes et que tu ne l'utilise pas
Raison: