Erreurs, bugs, questions - page 771

 
maryan.dirtyn:

C'est ce que je fais))... 6ème heure... et je n'arrive pas à trouver est l'erreur

la réticence à utiliser les bibliothèques standard est due au fait que les drapeaux et les variables globales sont utilisés dans les fonctions, et qu'il ne semble pas raisonnable de démonter trade.mqh et d'autres parties

Et quelle erreur est renvoyée ? )))
 
maryan.dirtyn:

MetaQuotes-Démo

Connexion : 1219233

EURUSD

Je viens d'essayer sur la fourrière, même histoire. Pas d'arrêt. Je fais tout dans le testeur.

Build 655 (si cela peut aider)

Ecrivez une initialisation explicite des structures :

   MqlTradeRequest request={0};
   MqlTradeResult  result={0};

Sans cela, les champs de la structure sont remplis de déchets et vous ne remplissez pas tous les champs.

 

Merci...

c'est comme ça que je lâche prise :

void OnTick(){ if(PositionsTotal()<1)OPEN(); }

bool OPEN(){
             MqlTradeRequest request={0};  ZeroMemory(request);
             MqlTradeResult  result={0};   ZeroMemory(result);
             

             request.symbol       = _Symbol;
             request.action       = TRADE_ACTION_DEAL;
             request.type_filling = ORDER_FILLING_FOK;
             request.deviation    = 100;
             request.volume       = NormalizeDouble(2,2);
             request.type         = ORDER_TYPE_BUY;
             request.price        = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
             request.tp           = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK) + 500*_Point,_Digits);
             request.sl           = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK) - 500*_Point,_Digits);

             OrderSend(request,result);     
                        
             if(result.retcode==10009 || result.retcode==10008)  Print("Succsesful open");
             else                                               Print("Error open: ",DoubleToString(GetLastError(),0),"  response code: ",result.retcode);
    
   return(true);}
 
ZeroMemory() est déjà superflue, car une mise à zéro plus économique et plus simple sur ={0} existe déjà ;
 

comment puis-je vérifier cela d'une autre manière ? ce modèle refuse de fonctionner correctement

if(PositionGetDouble(POSITION_PRICE_OPEN)!=PositionGetDouble(POSITION_SL)){ ... }
 

Quand y aura-t-il des paramètres dans OnTrade ? Nous devons faire un tel gâchis...

Il faut au moins savoir quels paramètres seront présents. Sinon, je devrai en refaire beaucoup d'ici le championnat.

 
pronych:

Quand y aura-t-il des paramètres dans OnTrade ? Nous devons faire un tel gâchis...

Il faut au moins savoir quels paramètres seront présents. Sinon je vais devoir en refaire beaucoup d'ici le championnat((.

Ce sera dans la construction d'aujourd'hui demain. Ajout d'un autre point d'entrée :

void OnTradeTransaction(const MqlTradeTransaction& trans,const MqlTradeRequest& request,const MqlTradeResult& result)
  {
      
  }
 

Ce qui doit être : instrument, prix, lot, type de transaction, etc. est clair.

Mais la manière de connaître le prix de la transaction n'est pas claire.

J'ai peut-être manqué quelque chose, j'étais absent pendant un moment...

 
Renat:

Sera déjà dans la construction d'aujourd'hui. Un autre point d'entrée a été ajouté :

Merci beaucoup. Enfin)))

J'ai vraiment hâte d'y être.

 

Chers développeurs ! Étant donné que le terminal ne dispose pas d'un historique des cours vendeur, serait-il judicieux de lier les ordres stop (Buy stop, Sell stop) au cours acheteur ? Ou pour permettre à l'utilisateur de choisir à quel prix un ordre doit être déclenché (Bid ou Ask). Je veux dire le forex.

Raison: