[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 - 2. - page 112
Sur mon ordinateur personnel, je fais une mise en page graphique. Comment le transférer sur un autre ordinateur - quel fichier doit être écrasé ?
Je ne peux pas utiliser la sortie consistant à copier l'ensemble du dossier MT4 puis à le copier sous un nouveau nom sur un autre ordinateur, car c'est trop compliqué. Ce qui est intéressant, c'est que si je laisse le dossier sur un autre ordinateur avec l'ancien nom, il n'y a rien de nouveau sur les graphiques...
BBSL,j'avais l'habitude d'écrire "start() ;" - c'est comme ça que tu l'as écrit ? Tu n'as pas besoin de deux points ici. Peut-être qu'il n'y a pas de crochets.
kiimar, l'avez-vous fermé ? Si oui, vous devez voir le code
Pour quelle raison, l'EA, après l'initialisation, ne peut pas aller à start() ; ?
Peut-être quelqu'un a-t-il été confronté à un tel problème ?
De init() ; I exit return(0) ; .
Merci d'avance pour la réponse !
La réponse est encore plus simple : la présence de l'opérateur return(0) à la fin du corps d'une fonction ne signifie pas que cet opérateur sera jamais exécuté.
Pour quelle raison, l'EA, après l'initialisation, ne peut pas aller à start() ; ?
Peut-être que quelqu'un a été confronté à ce problème ?
Parfois, il y a des calculs complexes ou le chargement de l'historique dans init(), ou le terminal a beaucoup d'indicateurs et d'EAs qui suspendent le terminal ou...
mais si, pendant l'initialisation du code, le terminal interrompt le code, l'erreur suivante apparaîtra dans le journal : "....". délai d'attente en expert ...."
Si le journal ne montre aucune erreur, cela signifie que l'initialisation s'est déroulée avec succès. La fonction start() elle-même est facile à vérifier - écrivez start() : Print("new tick") dans la première ligne ;
Comment puis-je vérifier si un ordre est déclenché par TakeProfit ou StopLoss ? Merci pour la réponse !
Vérifier l 'historique des ordres, si le prix de clôture est égal au SL ou TP - alors ..., mais je pense qu'il serait plus facile de vérifier le profit d'un ordre fermé - si > 0 alors prendre sinon ...
voici un morceau de code similaire et significatif :
double history(){
int time = 0;double profit = 0;//обьявляем необходимые нам переменные куда мы положим интересующие нас характеристики ордераfor(int i = OrdersHistoryTotal();i>=0;i--){// Перебираем все закрытые ордераif(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){//если ордер с таким номером (i) в списке закрытых ордеров есть ( не путать с тикетом)if(OrderSymbol() == Symbol()){//если выбранный ордер был открыт по нашей валютной пареif(time<OrderCloseTime()){//(сравниваем его с хранящимся в пероеменной time)
time=OrderCloseTime();//если время закрытия ордера больше - ложим его в переменную
profit=OrderProfit();//и заодно запоминаем прибыль ордера
}
}
}
}
//по окончании этой процедуры в наших переменных будут сидет наибольшее время закрытия, и его профит. Или по нулям если история чистая.//теперь мы можем выставлять условия в зависимости от результата процедурыif(profit == 0 &&time == 0){//действия если история чистая
}
if(profit >= 0){//действия если последний ордер был прибыльным, или нулевым
}
if(profit < 0 ){//действия если последний ордер был убыточным
}
return(0);
}
Bonsoir !
J'ai une question simple.
Pour quelle raison, l'EA, après l'initialisation, ne peut pas aller à start() ; ?
Peut-être quelqu'un a-t-il été confronté à un tel problème ?
De init() ; I exit return(0) ; .
Merci d'avance pour la réponse !
Bonsoir !
J'ai une question simple.
Pour quelle raison, l'EA, après l'initialisation, ne peut pas aller à start() ; ?
Peut-être quelqu'un a-t-il été confronté à un tel problème ?
De init() ; I exit return(0) ; .
Merci d'avance pour la réponse !
Salut à tous et profits !
J'ai un tel problème.
Sur mon ordinateur personnel, je fais une mise en page graphique. Comment le transférer sur un autre ordinateur - quel fichier doit être écrasé ?
Je ne peux pas utiliser la sortie consistant à copier l'ensemble du dossier MT4 puis à le copier sous un nouveau nom sur un autre ordinateur, car c'est trop compliqué. Ce qui est intéressant, c'est que si je laisse le dossier sur un autre ordinateur avec l'ancien nom, il n'y a rien de nouveau sur les graphiques...
Qui sait, à l'aide !
BBSL ,j'avais l'habitude d'écrire "start() ;" - c'est comme ça que tu l'as écrit ? Tu n'as pas besoin de deux points ici. Peut-être qu'il n'y a pas de crochets.
kiimar, l'avez-vous fermé ? Si oui, vous devez voir le code
Bonsoir !
J'ai une question simple.
Pour quelle raison, l'EA, après l'initialisation, ne peut pas aller à start() ; ?
Peut-être quelqu'un a-t-il été confronté à un tel problème ?
De init() ; I exit return(0) ; .
Merci d'avance pour la réponse !
Comment puis-je vérifier si un ordre est déclenché par TakeProfit ou StopLoss ? Merci pour votre réponse !
Pour quelle raison, l'EA, après l'initialisation, ne peut pas aller à start() ; ?
Peut-être que quelqu'un a été confronté à ce problème ?
Parfois, il y a des calculs complexes ou le chargement de l'historique dans init(), ou le terminal a beaucoup d'indicateurs et d'EAs qui suspendent le terminal ou...
mais si, pendant l'initialisation du code, le terminal interrompt le code, l'erreur suivante apparaîtra dans le journal : "....". délai d'attente en expert ...."
Si le journal ne montre aucune erreur, cela signifie que l'initialisation s'est déroulée avec succès. La fonction start() elle-même est facile à vérifier - écrivez start() : Print("new tick") dans la première ligne ;
Comment puis-je vérifier si un ordre est déclenché par TakeProfit ou StopLoss ? Merci pour la réponse !
Vérifier l 'historique des ordres, si le prix de clôture est égal au SL ou TP - alors ..., mais je pense qu'il serait plus facile de vérifier le profit d'un ordre fermé - si > 0 alors prendre sinon ...
voici un morceau de code similaire et significatif :