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
 

salut, j'ai un script avec pleins d'erreurs, j'aimerais qu'on m'aide à les corriger svp

 

OK je ne trade pas avec Ctrade mais j'ai mis le code dans mon éditeur et il y a peu d'erreurs : il semblerait que le problème vienne de selllimit et de variables non reconnues.

C'est un problème de classe, tu n'as pas la bonne. Il va te falloir trouver un moyen d'adapter le code en lisant la classe Ctrade dans include de MQL5.

 

Bon ce n'est pas un pb de classe c'est ChatGPT : je t'invite à lire cette video youtube :"Comment coder un robot de trading en Mql4 avec ChatGPT (basé sur la stratégies des Fractals)"

En fait ChatGPT fait plein d'erreurs donc il faut repréciser les points qui vont pas comme dans la video en procédant par étapes et en regardant les prototypes des fonctions (paramètres attendus).

ChatGPT rend pas mal de services mais il faut s'appuyer sur la doc MQL5 et affiner les questions pour améliorer le code.