Aide au codage - page 113

 

Merci mladen,

Oui, je l'ai fait... ça marche trop bien ! À ce stade, j'ai décidé que je n'avais aucune idée de ce que je faisais et j'ai recommencé à essayer de gagner de l'argent.

Dossiers :
 
hughesfleming:
Merci mladen,

Oui, je l'ai fait... ça marche trop bien ! À ce moment-là, j'ai décidé que je n'avais aucune idée de ce que je faisais et j'ai recommencé à essayer de gagner de l'argent.

Alex

Vous avez simplement toutes les lignes horizontales de toutes les croix visibles. Peut-être devriez-vous simplement limiter l'affichage des croisements au dernier croisement (enlevez le "+Time" de la définition du nom, et vous n'aurez qu'un seul croisement - vraisemblablement le dernier - visible).

 

Amélioration du codage MT4

Quelqu'un peut-il m'aider à faire fonctionner ce code correctement ?

Bonjour, j'ai un défi à relever pour que le code MT4 ci-dessous fonctionne bien pour mes clients.

Je veux que la partie achat et vente fonctionne afin que les alertes ne se répètent pas à chaque tick ou au début de chaque nouvelle bougie.

début de chaque nouvelle bougie.

Je veux également que l'alerte d'achat et de vente stop fonctionne de sorte que lorsque les conditions sont remplies selon le code,

les alertes sonnent pour arrêter la transaction.

Veuillez cliquer sur l'image du code pour l'agrandir.

Dossiers :
mt4code.png  28 kb
 

Merci mladen, c'est beaucoup mieux et les lignes apparaissent dans la liste des objets avec les valeurs correctes.

Salutations,

Alex

 
gringoh:
Chers codeurs,

J'ai utilisé le code suivant d'un autre indicateur afin d'afficher le nombre de pips des ordres ouverts.

Sur les comptes de démonstration, l'indicateur fonctionne bien mais sur les comptes réels, l'indicateur ne fonctionne pas. Toute aide serait très appréciée.

Merci d'avance.

//+--------------------------------------------------------------------------+

//| ! - i-Pips count.mq4 |

//+--------------------------------------------------------------------------+

// Propriétés de l'indicateur

#property indicateur_chart_window

extern bool Corner_of_Chart_RIGHT_TOP = TRUE ;

extern int Shift_UP_DN = 0 ;

extern int Adjust_Side_to_side = 0 ;

extern color CommentLabel_color = Orange ;

extern color Spread_color = Gold ;

int g_order_total_120 = 0 ;

//+--------------------------------------------------------------------------+

//| Fonction d'initialisation de l'indicateur personnalisé |

//+--------------------------------------------------------------------------+

int init() {

retourne (0) ;

}

//+--------------------------------------------------------------------------+

//| Fonction personnalisée de désinitialisation de l'indicateur.

//+--------------------------------------------------------------------------+

int deinit() {

ObjectsDeleteAll(0, OBJ_LABEL) ;

return (0) ;

}

//+--------------------------------------------------------------------------+

//| Fonction de démarrage de l'indicateur personnalisé |

//+--------------------------------------------------------------------------+

int start() {

Montrer_Trade_Pips () ;

retour (0) ;

}

//-----------------------------------------------------------------------------

// fonction : Show_Trade_Pips()

// Description : Nombre de pips par ordre ouvert

//-----------------------------------------------------------------------------

void Show_Trade_Pips(){

double ld_0 = 0 ;

int pos_8 = 0 ;

int count_12 = 0 ;

int order_total_16 = 0 ;

//if (Show_Trade_Pips == TRUE) {

order_total_16 = OrdersTotal() ;

g_order_total_120 = order_total_16 ;

count_12 = 0 ;

for (pos_8 = 0 ; pos_8 < order_total_16 ; pos_8++) {

OrderSelect(pos_8, SELECT_BY_POS, MODE_TRADES) ;

if (Symbol() == OrderSymbol()) {

if (OrderType() == OP_BUYSTOP || OrderType() == OP_BUYLIMIT || OrderType() == OP_SELLSTOP || OrderType() == OP_SELLLIMIT) continue ;

compte_12++ ;

si (OrderType() == OP_BUY) {

si (Chiffres == 2 || Chiffres == 4) ld_0 = (OrderClosePrice() - OrderOpenPrice()) / Point ;

si (Chiffres == 3 || Chiffres == 5) ld_0 = (OrderClosePrice() - OrderOpenPrice()) / Point / 10.0 ;

ObjectCreate("BPTrade_lbl" + pos_8, OBJ_LABEL, 0, 0, 0) ;

ObjectSetText("BPTrade_lbl" + pos_8, "Trade " + count_12 + " Pips ", 10, "Arial", CommentLabel_color) ;

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_CORNER, Corner_of_Chart_RIGHT_TOP) ;

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_XDISTANCE, Adjust_Side_to_side + 58) ;

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_YDISTANCE, 15 * count_12 + 1 + Shift_UP_DN) ;

ObjectCreate("BPTrade_val" + pos_8, OBJ_LABEL, 0, 0, 0) ;

ObjectSetText("BPTrade_val" + pos_8, DoubleToStr(ld_0, 1), 10, "Arial Bold", Spread_color) ;

ObjectSet("BPTrade_val" + pos_8, OBJPROP_CORNER, Corner_of_Chart_RIGHT_TOP) ;

ObjectSet("BPTrade_val" + pos_8, OBJPROP_XDISTANCE, Adjust_Side_to_side + 10) ;

ObjectSet("BPTrade_val" + pos_8, OBJPROP_YDISTANCE, 15 * count_12 + 1 + Shift_UP_DN) ;

continue ;

}

if (OrderType() == OP_SELL) {

if (Digits == 2 || Digits == 4) ld_0 = (OrderOpenPrice() - OrderClosePrice()) / Point ;

si (Chiffres == 3 || Chiffres == 5) ld_0 = (OrderOpenPrice() - OrderClosePrice()) / Point / 10.0 ;

ObjectCreate("BPTrade_lbl" + pos_8, OBJ_LABEL, 0, 0, 0) ;

ObjectSetText("BPTrade_lbl" + pos_8, "Trade " + count_12 + " Pips ", 10, "Arial", CommentLabel_color) ;

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_CORNER, Corner_of_Chart_RIGHT_TOP) ;

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_XDISTANCE, Adjust_Side_to_side + 58) ;

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_YDISTANCE, 15 * count_12 + 1 + Shift_UP_DN) ;

ObjectCreate("BPTrade_val" + pos_8, OBJ_LABEL, 0, 0, 0) ;

ObjectSetText("BPTrade_val" + pos_8, DoubleToStr(ld_0, 1), 10, "Arial Bold", Spread_color) ;

ObjectSet("BPTrade_val" + pos_8, OBJPROP_CORNER, Corner_of_Chart_RIGHT_TOP) ;

ObjectSet("BPTrade_val" + pos_8, OBJPROP_XDISTANCE, Adjust_Side_to_side + 10) ;

ObjectSet("BPTrade_val" + pos_8, OBJPROP_YDISTANCE, 15 * count_12 + 1 + Shift_UP_DN) ;

}

}

}

}

gringoh

Auriez-vous par hasard le code original ?

C'est un code décompilé

 

Salut Mladen,

En effet, je pense qu'il s'agit d'un code de décompilation. J'ai trouvé cet indice sur un autre forum et j'ai essayé de le modifier pour qu'il fonctionne en direct mais sans succès.

Je comprends le problème. Désolé pour le dérangement, poste édité et supprimé.

Meilleur,

 

Chers codeurs,

J'ai utilisé le code suivant d'un autre indicateur afin d'afficher le nombre de pips des ordres ouverts.

Sur les comptes de démonstration, l'indicateur fonctionne bien mais sur les comptes réels, l'indicateur ne fonctionne pas. Toute aide serait très appréciée.

Merci d'avance.

 

Le paramètre 5 de la fonction"iCustom" est un nombre entier invalide.

Je reçois cette erreur :

invalid integer number as parameter 5 for 'iCustom' function (nombre entier invalide comme paramètre 5 de la fonction 'iCustom')

Le code d'appel de la fonction est :

double EUF = iCustom(Symbol(),0, "TOTAL-SHIT-CORREL", "EURUSD.pro", "USDCHF.pro",0) ;

TOTAL-SHIT-CORREL prend 2 entrées Paire1 et Paire2 de type chaîne de caractères

aide

`

 
junglelion:
J'obtiens cette erreur :

Le paramètre 5 de la fonction 'iCustom' est un nombre entier invalide.

Le `code' d'appel de la fonction est :

double EUF = iCustom(Symbol(),0, "TOTAL-SHIT-CORREL", "EURUSD.pro", "USDCHF.pro",0) ;

TOTAL-SHIT-CORREL prend 2 entrées Paire1 et Paire2 de type chaîne de caractères

aide

`

junglelion

Cela signifie que "USDCHF.pro" devrait être en fait un nombre entier et non une chaîne de caractères.

 

Cher Mladen ;

pouvez-vous convertir cet indic en EA ? (uniquement pour les positions longues et courtes, sans TP ni SL).

Merci de votre compréhension.

Dossiers :
_test.mq4  2 kb
Raison: