[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 575

 
Sergstuddek:
J'ai besoin de sélectionner les valeurs maximales et minimales de fermeture et d'ouverture de la barre, dans l'intervalle de temps de 1.00 à 10.00, j'ai essayé de le faire, mais ce n'est pas bon. Il donne '[' - l'index du tableau doit être un entier C:\Program Files\InstaTrader\experts\Probase19 EUR-JPY.mq4 (61, 21)
Qu'est-ce qui ne va pas, comment réparer

L'avertissement signifie que l'index du tableau doit être un nombre de type int. Vous devez utiliser iClose() et iOpen(). Déterminez le numéro de la barre dont le temps d'ouverture est égal à 1 heure et sélectionnez dans le cycle, parmi les 10 barres suivantes, celles que vous voulez.


 
Ekburg:

Justement, tout y est normal ! j'ai mis des imprimantes dans ce but, pour pouvoir tracer pendant le test quelles valeurs sont envoyées à la fonction de modification, tout y est normal, le stop est différent, rien de supplémentaire n'est lancé, tout est dans les limites autorisées par le serveur, et les opposants dans le code ci-dessus ne permettent pas d'envoyer les mêmes valeurs.

Je ne sais pas. A moi après a mis le contrôle directement avant OrderModify() après OrderSelect(), l'erreur 1 a cessé de donner, et plus tôt aussi a constamment clignoté.
 
rigonich:

L'avertissement signifie que l'index du tableau doit être un nombre de type int. Vous devez utiliser les fonctions iClose() et iOpen(). Déterminez le numéro de la barre dont le temps d'ouverture est de 1 h et sélectionnez dans la boucle parmi les 10 barres suivantes celles que vous voulez.
Merci pour la réponse. En théorie, je comprends ce que vous voulez dire, mais pour être honnête, je n'arrive pas à trouver comment le faire dans la pratique.
 
Desead:

Besoin de normaliser le graphique des prix, n'importe quelle paire de devises de votre choix. J'en ai besoin pour un indicateur. J'ai essayé de diviser la valeur actuelle par la précédente - j'obtiens une sorte d'oscillateur autour de 1. J'ai eu l'idée de convertir le graphique de valeurs absolues en valeurs relatives, c'est-à-dire que dans ce cas, je pourrai voir le pourcentage de changement de cotation. Elle a été mise en œuvre. Il est déjà meilleur et correspond pratiquement à ce dont nous avons besoin. Cependant, mon souhait ultime est de normaliser les citations dans l'intervalle [0:1] . A propos,voici ce dont j'ai besoin mais en bourgeois - je voudrais la même chose en russe : http://people.revoledu.com/kardi/tutorial/Similarity/Normalization.html.

Je suis déjà fatigué de me battre avec ça. Je n'arrive pas à supprimer tous les ordres en attente normalement, je n'arrive pas à le faire :

J'ai même ajouté à la boucle FOR WHILE les commandes supprimées qui sont toujours là, mais je ne les ai toujours pas supprimées. J'ai beaucoup d'ordres en attente à supprimer, c'est-à-dire environ 20, peut-être est-ce quelque chose de compliqué ?


à votre première question - regardez le stochastique
 
Desead:

Besoin de normaliser le graphique des prix, n'importe quelle paire de devises de votre choix. J'en ai besoin pour un indicateur. J'ai essayé de diviser la valeur actuelle par la précédente - j'obtiens une sorte d'oscillateur autour de 1. J'ai eu l'idée de convertir le graphique de valeurs absolues en valeurs relatives, c'est-à-dire que dans ce cas, je pourrai voir le pourcentage de changement de cotation. Elle a été mise en œuvre. Il est déjà meilleur et correspond pratiquement à ce dont nous avons besoin. Cependant, mon souhait ultime est de normaliser les citations dans l'intervalle [0:1] . A propos,voici ce dont j'ai besoin mais en bourgeois - je voudrais la même chose en russe : http://people.revoledu.com/kardi/tutorial/Similarity/Normalization.html.

Je suis déjà fatigué de me battre avec ça. Je n'arrive pas à supprimer tous les ordres en attente normalement, je n'arrive pas à le faire :

J'ai même ajouté à la boucle FOR WHILE les commandes supprimées qui sont toujours là, mais je ne les ai toujours pas supprimées. J'ai beaucoup d'ordres en attente à supprimer, c'est-à-dire environ 20, peut-être est-ce quelque chose de compliqué ?


J'ai déjà essayé de mettre et de supprimer tous les ordres en attente de la même manière, mais je ne veux pas le faire autrement. Si quelqu'un le sait, pouvez-vous me dire pourquoi ?
 
Sergstuddek:
J'ai besoin de sélectionner les valeurs maximum et minimum de la fermeture et de l'ouverture de la barre, dans l'intervalle de temps de 1.00 à 10.00, j'ai essayé de le faire, mais ce n'est pas ça. Cela donne '[' - l'index du tableau doit être un entier C:\Program Files\InstaTrader\experts\Profiler19 EUR-JPY.mq4 (61, 21)
Ce qui ne va pas, comment le réparer

Je l'ai refait comme suit

int MAX()
{
if (Hour()==10)
        {
      
        for(i=0; i<=9; i++)
        double MAX1 = High [iHighest(Symbol(), PERIOD_H1,MODE_CLOSE,i,0)];
        }
        return(MAX1);
        
}

Je ne reçois pas d'erreurs, mais le prix ne fonctionne pas, ou plutôt il ne fonctionne pas correctement, quel est le problème ?

 
Sergstuddek:

Je l'ai remanié comme suit

Il ne donne plus d'erreurs, mais il ne détecte pas le prix, ou plutôt il le fait, mais pas correctement, quel est le problème ?

Il recherchera l'indice de barre avec le prix maximum dans les 9 dernières barres, à condition que vous exécutiez le programme à 10 heures. Hour() est l'heure de début du programme (heure du serveur).

P.S. Plus précisément, pas l'indice, mais le prix maximum (High) de cette barre.

Dossiers :
 

S'il vous plaît aider, dès que je mets d'autres sl et tp ne fonctionne pas l'achat, ouvre le lot seulement avec la vente.

#define MAGIC 1234
#define IDENT "mo_bidir"

extern int lots = 1;
extern int stop_loss = 76; //
extern int take_profit = 750; //
extern int steps = 5;// Шаг отложенных ордеров

int start(){

if (OrdersTotal() == 0){
OrderSend(Symbol(), OP_BUY, lots ,Ask, 3, Ask - stop_loss * Point, Bid + take_profit * Point, IDENT, MAGIC, 0, Blue);
OrderSend(Symbol(), OP_SELL, lots ,Bid, 3, Bid + take_profit * Point, Ask - take_profit * Point, IDENT, MAGIC, 0, Red);
OrderSend(Symbol(), OP_BUYSTOP, 0.05*lots,Ask+steps*Point, 3, Ask + stop_loss * Point, Bid + take_profit * Point, IDENT, MAGIC, 0, Blue);
OrderSend(Symbol(), OP_SELLSTOP, 0.05*lots,Bid-steps*Point, 3, Bid - take_profit * Point, Ask - take_profit * Point, IDENT, MAGIC, 0, Red);
}
return(0);
} 
 
samaelfess:

S'il vous plaît aider, dès que je mets l'autre sl et tp ne fonctionne pas l'achat, ouvre le lot seulement avec la vente.



Vous avez Bid + stop_loss au lieu de Bid + take_profit. Et en attente pour OP_BUYSTOP Ask + stop_loss, au lieu deAsk - stop_loss et pour OP_SELLSTOP -- Bid - take_profit au lieu de Bid + take_profit.

Et tous les prix ne sont pas normalisés.

P.S. Je me demande si cela fonctionne avec d'autres sl et tp ?

 
Merci, je ferai plus attention.