Questions d'un "mannequin - page 222

 
TVA_11: Il n'est pas dans le terminal (fenêtre du navigateur). Tout y semble standard, comme avant la compilation.

Conseillers

conseiller

exemples

plus...

Terminal => Ctrl+N (Navigateur) => Ouvrir un des dossiers (Indicateurs, Expert Advisors ou Scripts) => Rechercher le nom du programme requis.
 
TVA_11: https://www.mql5.com/ru/code/103 ce conseiller expert. Tout d'abord, j'ai créé ce que j'ai dans les conseillers experts. Puis j'y ai inséré le texte du programme.

Avez-vous exécuté le conseiller expert initialement dans le testeur ?

TVA_11 : Pas une seule transaction dans aucune variante. Qu'est-ce qu'il y a ?

Que disent les fichiers journaux ?

 

On dirait que ce conseiller-expert ne fait pas de transactions du tout.

Je l'ai mis à partir d'autres, où il s'échange de deux barres quelconques à l'endroit où il va, et ça a marché.

Maintenant, j'essaie de comprendre comment négocier correctement.

Chaque conseiller expert a sa propre approche).

20_200 expert_v4.2_AntS.mq5

J'essaie de comprendre comment il fonctionne et s'il fonctionne correctement.

 
TVA_11:

...

Ce qui n'est pas un expert, vous avez votre propre approche ;).

...

Experts dans la base de code juste comme un exemple d'implémentation. Pas toujours de haute qualité et avec toutes les fonctionnalités, bien sûr. Pour tout ce qui dépasse ce cadre, il faut soit le faire soi-même, soit le commander.
 

Je ne comprends pas la signification de la possibilité, dans MetaEditor, d'ouvrir de nouvelles fenêtres de code(menu contextuel => Nouvelle fenêtre). Si vous modifiez l'une des fenêtres, la même chose se produira dans l'autre.

Dans l'aide, il est écrit seulement ceci :

  • Nouvelle fenêtre - ouvre une copie de l'onglet actuel dans une nouvelle fenêtre. Le numéro de série de la copie sera alors ajouté au nom de l'onglet;

A quoi servent les nouvelles fenêtres ?

 

Bonjour, quelqu'un peut-il expliquer l'api win. Création d'une boîte de dialogue, fonction CreateDialog(). Pourquoi la fonction fenêtre n'est pas exécutée de manière atomique, même en utilisant la section critique ?

INT_PTR CALLBACK DialogProc(HWND hWnd,
                            UINT uMsg,
                            WPARAM wParam,
                            LPARAM lParam)
{
        lock.LockObject();              // Далее нужно атомарное выполнение.
        MessageBoxA(NULL, "", "", MB_OK);               // При запуске программы, вылетает пачка сообщений (одновременно).
        lock.UnlockObject();    // Переводим в свободное состояние (критическая секция).

    return FALSE;
}
 

Dans les indicateurs MC standard, nous avons ajouté !IsStoped() dans le cas de.

for(int i=pos;i<rates_total && !IsStopped();i++)

Pouvez-vous me dire pourquoi c'est fait, à quoi ça sert ?

 
paladin800:

Si la boucle est longue (ou perpétuelle), comment l'interrompre sans mettre fin au processus terminal? Lorsque l'utilisateur a donné une commande - supprimer le script du graphique, la fonction retournera vrai (faux avant cet événement). En conséquence, les conditions des itérations suivantes ne seront pas remplies.

Ордерa, позиции и сделки в MetaTrader 5
Ордерa, позиции и сделки в MetaTrader 5
  • 2011.01.05
  • MetaQuotes Software Corp.
  • www.mql5.com
Надежный торговый робот не может быть создан без понимания механизмов работы торговой системы MetaTrader 5. Клиентский терминал получает от торгового сервера информацию о позициях, ордерах и сделках. Чтобы правильно обработать эти данные средствами MQL5 необходимо хорошо представлять как происходит взаимодействие mql5-программы и среды исполнения терминала.
 
220Volt:

Si la boucle est longue (ou perpétuelle), comment l'interrompre sans mettre fin au processus terminal? Lorsque l'utilisateur a donné la commande - pour supprimer le script du graphique, la fonction retournera vrai (faux avant cet événement). En conséquence, les conditions des itérations suivantes ne seront pas remplies.

Ok, ça a du sens pour moi maintenant. Je viens de le comparer à MQL4 et je n'ai pas pu voir la différence.

Bonne année !

 

S'il vous plaît aidez-moi, envoyez-moi un exemple de la façon de travailler avecORDER_TIME_SPECIFIED, je ne peux pas faire le temps d'expiration d'un ordre correctement.

Voici un extrait de code

int need_year_AUDUSD=mqldt.year;
int need_mon_AUDUSD=mqldt.mon;
int need_day_AUDUSD=mqldt.day;
int need_hour_AUDUSD=mqldt.hour;
int need_min_AUDUSD=mqldt.min+15;
int need_sec_AUDUSD=mqldt.sec;
string need_year2_AUDUSD=IntegerToString(need_year_AUDUSD,0,' ');
string need_mon2_AUDUSD=IntegerToString(need_mon_AUDUSD,0,' ');
string need_day2_AUDUSD=IntegerToString(need_day_AUDUSD,0,' ');
string need_hour2_AUDUSD=IntegerToString(need_hour_AUDUSD,0,' ');
string need_min2_AUDUSD=IntegerToString(need_min_AUDUSD,0,' ');
string need_sec2_AUDUSD=IntegerToString(need_sec_AUDUSD,0,' ');
string date_AUDUSD=(need_year2_AUDUSD+".0"+need_mon2_AUDUSD+".0"+need_day2_AUDUSD+" "+need_hour2_AUDUSD+":"+need_min2_AUDUSD+":"+need_sec2_AUDUSD);
datetime b_AUDUSD=StringToTime(date_AUDUSD);


trade.BuyStop(0.1,SymbolInfoDouble(qwerty,SYMBOL_ASK)+D,qwerty,SymbolInfoDouble(qwerty,SYMBOL_ASK)+D-SL,SymbolInfoDouble(qwerty,SYMBOL_ASK)+D+TP,ORDER_TIME_SPECIFIED,b_AUDUSD);

c'est très tordu, je sais, mais je n'ai pas pu trouver d'exemple à l'époque, j'ai dû le faire moi-même, maintenant c'est ennuyeux

Raison: