Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Le code ci-dessus de l'indicateur Spread_of_symbols ... J'ai décidé de le réécrire pour le faire fonctionner plus rapidement.... et le code est apparu, voir ci-dessous ... les données ne sont pas copiées ... si vous copiez les données de 1 à 0 dans le code, l'indicateur dessine très rapidement mais une erreur out of range se produit ... qu'est-ce qui ne va pas dans le code voir ci-dessous ... ?
DH 0 Trades 19:31:10 '***' : annuler l'ordre #3694237 buy stop 0.36 AUDJPY.m à 95.679
FI 0 Trades 19:31:10 '***' : annuler l'ordre #3694239 limite d'achat 0.36 AUDJPY.m à 93.876
FP 0 Trades 19:31:10 '***' : annuler l'ordre #3694236 buy stop 1.10 AUDJPY.m at 95.679 done
QE 0 Trades 19:31:11 '***' : annuler l'ordre #3694238 buy limit 1.10 AUDJPY.m at 93.876 done
CG 0 Trades 19:31:11 '***' : annuler l'ordre #3694237 buy stop 0.36 AUDJPY.m at 95.679 done
OL 0 Trades 19:31:11 '***' : annuler l'ordre #3694239 buy limit 0.36 AUDJPY.m at 93.876 done
Quatre ordres en attente, selon le journal, semblent avoir été supprimés rapidement. Mais surTradeTransaction, les réponses sont arrivées en 15 secondes environ, les ticks arrivaient dans cette période.
***
JG 0 prp5 (EURUSD.m,M1) 19:31:26 TS=6 Delete tp _ OnTrade PENDING id=85 m=3 b/s=SELL Err=Bid completed
***
RL 0 prp5 (EURUSD.m,M1) 19:31:26 TS=6 Delete sl _ OnTrade PENDING id=86 m=3 b/s=SELL Err=Bid completed
***
HK 0 prp5 (EURUSD.m,M1) 19:31:26 TS=6 Delete tp _ OnTrade PENDING id=87 m=3 b/s=SELL Err=Ordre exécuté
Cependant, il y a quelque chose d'étrange ici aussi.
ES 0 prp5 (EURUSD.m,M1) 19:31:29 TS=6 case 8(real) m=3 b/s=SELL Err=Order placed ==>Après OrderSendAsync, 3 sec semble être trop long.
P.S. Il semble qu'il y ait eu des décalages dans l'exécution d'Expert, mais je me demande combien de temps les paquets pour OnTradeTransaction peuvent rester dans la file d'attente.
De la référence :
Référence MQL5 / Bibliothèque standard / Classes pour la création de panneaux et de boîtes de dialogue / CWnd / StateFlagsSet
Quelles propriétés ?
StateFlagsSet non pas les propriétés, mais l'état. Une méthode de groupe pour changer l'état. Juste au-dessus des méthodes de changement des drapeaux d'état individuels.
A utiliser séparément.
J'ai regardé l'"organisation d'accès aux données", j'ai regardé l'exemple de script qui pompe les données et j'ai tout compris, les questions suivantes se sont posées :
1. Pourquoi ne puis-je pas écrire ce code dans l'indicateur dans la fonction OnInit, pour qu'au démarrage l'indicateur télécharge son propre historique et prépare la série temporelle ? Puis-je écrire un tel chèque dans mon conseiller expert ?
2. A quelle fréquence dois-je faire ce contrôle pour : 1 pour les conseillers experts et 2 pour les indicateurs ? Si je ne prépare qu'une seule fois l'historique et les séries chronologiques pour la copie, les erreurs de copie ne se produiront pas à l'avenir ? Ou dois-je vérifier à chaque fois ou de temps en temps si l'historique et les séries chronologiques sont prêts ?
3. cette vérification est-elle nécessaire uniquement pour les indicateurs et les conseillers experts qui utilisent plusieurs délais et symboles, ou est-elle souhaitable pour tous ?
Veuillez noter - l'indicateur n'a pas le droit d'attendre ou de boucler, sinon il tuera le calcul des indicateurs suivants.
Les processus de swap sont asynchrones et l'indicateur n'est pas autorisé à attendre les données. Vous pouvez donc interroger dans l'inite, en aucun cas attendre ou ralentir et seulement dans l'oncalculer pour vérifier la disponibilité et le nombre.
Veuillez noter - l'indicateur n'a pas le droit d'attendre ou de boucler, sinon il tuera le calcul des indicateurs suivants.
1 Alors où dois-je paginer les données ? Si je veux faire un indicateur avec un panier de paires de devises, de nombreux symboles... pour chacun d'eux, je dois vérifier et échanger les données... dois-je exécuter un script à partir de l'indicateur ? Pourquoi un indicateur tuerait-il les calculs des indicateurs suivants ? Dans les indicateurs suivants, il suffit d'utiliser la vérification du calcul de l'indicateur précédent par BarsCalculated(indicator1_Handle), de le laisser calculer et de télécharger les données, ou je me trompe ?
2 Une autre question, d'un autre genre - lorsque je déclare le manche de l'indicateur dans la fonction, il commence à compter ? Ou bien commence-t-il à compter avant que je donne l'ordre de le copier ?