[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 206

 

Tu as perdu... Je me suis avéré être adéquat !

Vous avez bien installé le mt4 BROKO-INVESTOR. Ou vous avez (très probablement) fait une erreur élémentaire de serveur lorsque vous avez ouvert un compte de démonstration.

Il est facile de le voir grâce aux noms des devises. Il n'y a qu'au nom des monnaies que l'on ajoute la terminaison _FX.

Lot minimal = 0.1 et dans la VUE D'ENSEMBLE DU MARCHÉ, seules les devises sont présentes (pas d'instruments boursiers).

Ne soyez pas têtu. Allez sur le site de Broco et téléchargez mt4 depuis la section Broco-trader.

Ou ouvrir un compte de démonstration sur le serveur 87.239.184.73:443

Mais dans ce cas, toutes les mêmes positions ne s'ouvriront pas en ligne et le journal donnera une erreur. Alors, allez découvrir comment ouvrir une position de manière programmatique en 2 étapes.

 

J'ai 10 minutes de temps. Je vais maintenant vous donner un exemple de code sur la façon dont j'ouvre des positions dans BROKO.

À la toute fin du code de votre EA (en dehors de START), vous devez insérer cette fonction :

//Для  открытие позиций в условиях рыночного
 //                    исполнения торговых заявок 
int WHCOrderSend(string symbol, 
                 int cmd, 
                 double volume, 
                 double price, 
                 int slippage, 
                 double stoploss, 
                 double takeprofit, 
                 string comment, 
                 int magic, 
                 datetime expiration, 
                 color arrow_color)
{
   int ticket = OrderSend( symbol, cmd, volume, price, slippage, 0, 0, comment, 
                                                    magic, expiration, arrow_color);   
   int check = -1;
   if ( ticket > 0 && ( stoploss != 0 || takeprofit != 0)) {
    if (!OrderModify( ticket, price, stoploss, takeprofit, expiration, arrow_color)) {
         check = GetLastError();
     if ( check != ERR_NO_ERROR) {
       Print("OrderModify error: ", ErrorDescription( check));
         }}} else {
      check = GetLastError();
      if ( check != ERR_NO_ERROR){
         Print("OrderSend error: ", ErrorDescription( check));
      }}   return ( ticket);}

 

Les arrêts dans les paramètres externes seront alors réglés comme suit

extern int     Magic = 777;
extern int      StopLoss=90;
extern int      TakeProfit=90;

double SL, TP;
int ticket;
//-- Подключаемые модули --
#include <stderror.mqh>
#include <stdlib.mqh>
//---------------------------------
Et les postes eux-mêmes s'ouvrent comme ceci :
 
//если условия соответсвуют заданным, 
// открывем позицию бай 
SL=0; TP=0;
if( StopLoss>0)   SL=Ask-Point* StopLoss;
if( TakeProfit>0) TP=Ask+Point* TakeProfit;   
ticket= WHCOrderSend(Symbol(),OP_BUY, Lots,Ask,3, SL, TP,"Dayria_02", Magic,0,Blue);
if( ticket < 0) { Print("Ошибка открытия ордера BUY #", GetLastError()); 
               Sleep(10000);   return (0); }
De même, pour les positions de vente :
SL=0; TP=0;
if( StopLoss>0)   SL=Bid+Point* StopLoss;
if( TakeProfit>0) TP=Bid-Point* TakeProfit;   
ticket= WHCOrderSend(Symbol(),OP_SELL, Lots,Bid,3, SL, TP,"Dayria_02", Magic,0,Red);
if( ticket < 0){Print("Ошибка открытия ордера SELL #", GetLastError()); 
                Sleep(10000);   return (0);  }
 

rid, merci beaucoup pour le feedback, j'ai vraiment choisi le mauvais serveur. Je suis en train de trier le code.

 

Ne discutez pas le point c) car il est facile de s'y perdre.



Le terminal est de Life et la démo est celle de quelqu'un d'autre... ;)

La priorité est donc le serveur connecté plutôt que le nom du terminal ou de l'entreprise.

Surtout si vous traitez les ambulanciers comme des cafards... )))

 
kombat >> :

....C'est donc le serveur qui est connecté plutôt que le nom du terminal ou de la société.

Surtout une où les ambulanciers sont répartis comme des cafards... )))



Oui, bien sûr.

Mais pour les débutants, il est souvent plus facile de télécharger une nouvelle plate-forme que d'introduire un serveur différent.

 
cdover >> :

rid, merci beaucoup pour le feedback, j'ai vraiment choisi le mauvais serveur. Je suis en train de trier le code.

Au fait. Dans le testeur, l'EA doit fonctionner sans fonction de modification.

Si vous avez besoin d'une vérification rapide d'une idée programmée, utilisez le testeur mt4 (ici il est clairement et intelligemment décrit comment le faire).

Test et optimisation des EA

 
rid писал(а) >>

Au fait. Dans le testeur, le conseiller expert doit fonctionner sans la fonction de modification.

Si vous avez besoin d'une vérification rapide d'une idée programmée, utilisez le testeur mt4 (ici il est clairement et intelligemment décrit comment le faire).

Le testeur est une description simple et claire de la manière de procéder) - "Testing and Optimizing Expert Advisors".

Je travaille avec le testeur et c'est vraiment étrange, tout fonctionne et vous donne les rapports d'optimisation.

 
granit77 >> :

C'est ce que je voulais dire quand j'ai suggéré d'exécuter le même environnement (objets, indicateurs) avec et sans le modèle.

Quant au ralentissement du testeur, c'est un trou noir pour moi. Parfois, des conseillers experts tout à fait inoffensifs font de tels tours de passe-passe que vous avez du mal à le croire, mais tout est OK dans le journal. Je n'oserai donc pas donner de conseils, sauf pour les cas les plus simples. J'aimerais pouvoir le découvrir moi-même :))

... Mais quel plaisir de découvrir la solution :)

 

Bonjour !

Veuillez m'aider à répondre à une question :

J'ai besoin d'écrire une formule pour calculer la garantie pour un instrument.

Je comprends comment extraire le montant total de la garantie - en utilisant une formule,

Mais comment décomposer ce gage en instruments (monnaies) ?

Après tout, il n'y a que l'achat et la vente, et il y en a beaucoup.

MODE_MARGININIT 29 Marge initiale requise pour 1 lot
MODE_MARGINMAINTENANCE 30 Montant de la marge requise pour soutenir les positions ouvertes par 1 lot
MODE_MARGINHED 31 Marge facturée sur les positions chevauchées par 1 lot

J'ai besoin d'utiliser ces formules, mais je ne sais pas exactement quelle est la différence entre elles et quand les utiliser.

Par conséquent, nous devons obtenir la distribution du montant total de la marge pour certains instruments.

En d'autres termes, les lots ouverts d'un instrument utilisent tel ou tel montant du dépôt. un autre instrument utilise tant et tant ... et ainsi de suite.

Peut-être que quelqu'un a des idées ? Merci.