Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 766
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
Êtes-vous sûr queArraySetAsSeries()renvoie ce dont vous avez besoin ? Ou peut-être que vous pensez que c'est ce dont vous avez besoin. Peut-être qu'il n'y a même pas de calcul.
Le calcul a lieu, l'alerte n'est jamais déclenchée, tous les appels à ArraySetAsSeries() retournent True. Seules les dernières barres du nombre BarsAtOnce sont affichées, et de plus, après le premier retour de la fonction OnCalculate, le terminal pense que toutes les barres sont calculées (selon le log).
La solution est simple - créer une variable similaire à prev_calculated, mais je me demande pourquoi la variable habituelle ne fonctionne pas ?
L'effet est observé sur les versions 711 et 745 (pas d'autres disponibles).
Les indicateurs semblent tout simplement consommer des ressources. Il y a d'autres calculs. Bien qu'ils ne soient pas vraiment nécessaires, ils sont requis.
J'ai besoin de lots doubles = 0,01 ;
retour(0) ;
}
Le conseiller met en œuvre une sorte de stratégie. La stratégie implique des conditions d'entrée et de sortie du marché. Par conséquent, nous ne devrions pas nous demander : Comment écrire un EA pour les ordres en attente ? On peut se demander : comment écrire une procédure d'ouverture des ordres en attente ? Et en outre, les commandes en cours - qu'est-ce que c'est ? Eh bien, nous avons ici une réponse : les ordres en attente sont fixés à une certaine distance du prix actuel. Par conséquent,nous ne pouvons pas définir le prix actuel (Ask/Bid) dans les variables de la commande/fonctionOrderSend() pour les ordres en attente. Vous devez fixer le prix à une certaine distance du prix actuel en tenant compte des exigences/limitations de votre centre de négociation.
J'ai essayé de mettre PRICE_OPEN mais comment préciser la distance à parcourir ?
C'est la question principale de la stratégie, votre stratégie que vous voulez mettre en œuvre sous la forme d'un EA. Par exemple, il y a le prix actuel d'un instrument (par exemple EURUSD). Selon votre stratégie, par exemple, on suppose que si le prix augmente de 20 points, alors ( !) le prix commencera certainement à baisser. Vous placez donc un ordre en suspens à une distance de 20 pips du prix actuel.
Bien joué. Cinq points.
C'est la question principale de la stratégie, votre stratégie que vous voulez mettre en œuvre en tant qu'EA. Par exemple, il y a le prix actuel d'un instrument (par exemple EURUSD). Selon votre stratégie, par exemple, on suppose que si le prix augmente de 20 points, alors ( !) le prix commencera certainement à baisser. Vous placez donc un ordre en suspens à une distance de 20 pips du prix actuel.
Attendez-vous à un barrage de questions. Qu'est-ce qu'un point, qui est le cours vendeur, le cours acheteur, qui est le centre de négociation, quelle est la stratégie ... en bref, c'est le bordel... Vous pouvez poser des questions, mais la question est la suivante : qu'est-ce qu'un point et qu'est-ce qu'un Bid ?
J'ai besoin de lots doubles = 0,01 ;
retour(0) ;
}
J'ai essayé de mettre PRICE_OPEN mais comment spécifier la distance ?
Je peux vous aider ? Je suis bon à ça ! Insérez votre code avec le bouton SRC et regardez comme c'est beau !
Tout ce que vous avez à faire est d'utiliser les connaissances du Tutoriel et de la Documentation pour compléter toutes les pièces manquantes ! Tout le monde a toujours commencé de la même façon, et vous ne faites pas exception. Je vous souhaite de réussir dans vos études !
Et avant de répéter les bêtises de quelqu'un d'autre, ne pouvez-vous pas vérifier ?
Peu importe l'heure à laquelle la fonction StringToTime() compte les secondes à partir du 01.01.1970 00:00:00 GMT, UTC, heure du serveur ou heure locale, tant que le temps écoulé entre la date spécifiée et l'heure spécifiée est de XXX secondes. Et lorsque vous définissez l'heure de vérification, elle est également calculée à partir du 01.01.1970 00:00:00 selon l'heure spécifiée par vous. En d'autres termes, dans la condition if(TimeCurrent() >= StringToTime("23:15"), cela signifie que si l'heure du serveur du 01.01.1970 00:00:00 a passé autant ou plus de secondes que l'heure de vérification spécifiée deXXX secondes. Et il n'y a aucune confusion à ce sujet.
Spécialement pour vous, j'ai fait une capture d'écran, lu le commentaire et ensuite expérimenté.
Votre problème est peut-être que la transaction peut se terminer à 23 heures.
Je n'ai pas remarqué la réponse tout de suite. Pour être honnête, je n'ai pas bien compris ce que vous voulez dire en affirmant qu'il n'y a pas de confusion à ce sujet.
Que voulez-vous dire par "l'heure à laquelleStringToTime() compte les secondes écoulées n'a pas d'importance" ?
La fonction prend essentiellement une date à gauche(je crois que la date du PC local est à gauche) et compare l'heure actuelle du serveur du courtier à celle-ci, pourquoi cela n'aurait-il pas d'importance ?
Sur la capture d'écran ci-dessus, le commentaire indique que l'heure de votre PC local est en avance d'une heure sur l'heure du courtier, c'est-à-dire que le décalage GMT est plus important. Si c'était X heures de moins, ce serait critique, comme dans le cas dont j'ai parlé vendredi.
Quant à la fin de la période de négociation. Je suppose que pour la fonctionStringToTime(), le moment où le courtier termine sa journée ou sa semaine de négociation ne devraitpas avoir d'importance...