[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 66

 
Eh bien, oui... Alors comment se fait-il que je ne puisse pas assigner des valeurs à un tableau ? Je veux dire, j'ai déjà imprimé tout ce que je peux...
 
Je suis assez nouveau sur le marché des changes, mais j'ai quand même un peu d'expérience sous la forme de quelques Expert Advisors bruts. L'un d'eux a donné de bons résultats (pour moi) sur l'historique de 2010, 2011 et 2012. Bien sûr, j'ai apporté des corrections à l'histoire. La question suivante s'est posée. Existe-t-il des statistiques sur la durée de vie des stratégies TF Day ? Peut-on continuer à profiter de la stratégie sans être gourmand, en l'ajustant (la stratégie) aux changements du marché pendant une longue période ? Si vous avez de l'expérience, donnez votre avis. Je vous en serais très reconnaissant !
 
Dimka-novitsek:
Eh bien, oui... Alors comment se fait-il que je ne puisse pas assigner des valeurs à un tableau ? Je veux dire, j'ai déjà imprimé tout ce que je peux...


Les réservations de commandes...
 
Merci ! !!
 
Dimka-novitsek:

J'ai donné un exemple de fonction utilisant un tableau dynamique (p.64).

dim=ArrayResize(Buy,Raz); - устанавливает размерность Raz для массива Buy. Только после этого можно что-то запомнить в элементе массива с номером Raz-1
 
Merci ! Désolé, je n'ai pas fait attention à la fonction !
 

Aide pour refaire à la fermeture du bar

Fermer les positions au prix du marché

//| Paramètres :|

//| sy - nom de l'instrument (" - tout symbole,|
//|NULL - symbole actuel)|
//| op - opération(-1 - toute position) |
//||mn - MagicNumber (-1 - toute magie)|
//+----------------------------------------------------------------------------+
void ClosePositions(string sy="", int op=0, int mn=-1) {
if(last>=Time[0]) return ; // si l'heure de la barre a déjà été vérifiée, alors quittez immédiatement, c.-à-d.c'est-à-dire attendre la nouvelle barre
last=Time[0] ; //
int i, k=OrdersTotal() ;

if (sy=="0") sy=Symbol() ;
for (i=k-1 ; i>=0 ; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) {
if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (mn<0 || OrderMagicNumber()==mn) ClosePosBySelect() ;
}
}
}
}
}
 
Macros:

Vous ne devez pas retravailler les fonctions de quelqu'un d'autre - Kim les a bien faites. Il suffit de les utiliser correctement.

Comment savez-vous que le bar a déjà été fermé avant qu'un nouveau ne s'ouvre ? Vous devez donc appeler la fonction pour clôturer l'ordre lorsque la nouvelle barre commence à se former. La manière de détecter ce moment a été montrée à de nombreuses reprises : dans le tutoriel, dans la FAQ et sur le forum. Lis quelque chose, s'il te plaît.

 
Sepulca:


Tout d'abord, il est tout à fait réaliste d'entasser 6 gigas en dix minutes. Vous obtenez une empreinte pour chaque tique, pourquoi en avez-vous besoin ?

Et deuxièmement, tu es sûr que ça change ?

Il faudrait utiliser une sorte de sémaphore pour qu'il s'imprime une fois...

quelque part comme ceci....


merci les gars pour votre aide, mais je n'ai pas pu trouver ce dont il a besoin. la boucle s'accroche, crache sur les conditions, "raccroche" l'ordinateur et charge des gigaoctets de logs.....

a dû être amputé !

Je l'ai remplacé par une série de "si"... et j'ai mis des drapeaux là où c'était nécessaire... ...et ça a marché. Le code est juste devenu plus long et plus moche...

au revoir pendant le fonctionnement. Nous ne nous reverrons plus jamais !

:))))

 
lottamer:


adieu à la fonction "while". Nous ne nous reverrons plus jamais !

Tout d'abord, while n'est pas une fonction.
Et, de manière générale, un programme n'est pas un programme sans boucles.
Écrivez un fragment qui fonctionne.
Je veux vous rendre votre foi en cet opérateur.