Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 218

 
Zolotai:
Les amis, pouvez-vous me dire le code, le code qui a montré le solde qui était au début du mois...

oui, il y a une feuille de papier avec un stylo =))
 
Oh, et j'ai oublié le calendrier.
 
FEAR:
Oh, et j'ai oublié le calendrier.

Je ne comprends pas bien... Où voulez-vous en venir ?
 

Bonjour ! Désolé si ce n'est pas le bon endroit, mais je pense que ça l'est. J'ai récemment commencé à étudier la programmation des conseillers experts et j'ai choisi la méthode Puria à titre expérimental.

Voici le conseiller expert lui-même :

#define MAGICMA 1111
//Paramètres d'entrée
extern int TP=150 ;
extern int SL=150 ;
extern int MP1=5 ;
extern int MP2=75 ;
extern int MP3=85 ;
double macd,macdS,ma1,ma1S,ma2,ma3 ;
bool buy =false ;
bool sell =false ;
//bool buy_ma=false ;
/*****************************************************************************/
int init()
{
return(0) ;
}
/*****************************************************************************/
int deinit()
{
return(0) ;
}
/*****************************************************************************/
void start()
{
//double sl,tp ;
ma1=iMA(NULL,0,MP1,0,MODE_EMA,PRICE_CLOSE,1)
ma1S=iMA(NULL,0,MP1,0,MODE_EMA,PRICE_CLOSE,2) ;
ma2=iMA(NULL,0,MP2,0,MODE_LWMA,PRICE_LOW,1) ;
ma3=iMA(NULL,0,MP3,0,MODE_LWMA,PRICE_LOW,1) ;
macd=iMACD(NULL,0,19,27,1,PRICE_CLOSE,MODE_MAIN,1);//1526.1
//macdS=iMACD(NULL,0,19,27,1,PRICE_CLOSE,MODE_MAIN,2) ;

if( ma1 > ma2 && ma1>ma3){
if( ma1S<ma2 && ma1S<ma3){
buy=true ;
}
}
if ( ma1 < ma2 && ma1 < ma3){
if (ma1S > ma2 && ma1S > ma3)
sell=true ;
}
for(int i=0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break ;
if(OrderMagicNumber()!=MAGICMA || OrderSymbol() !=Symbol()) continue ;
if(OrderType()==OP_BUY){
buy=false ;
}
if(OrderType()==OP_SELL){
sell=false ;
}
//else sell=false ;
}
if (macd > 0 && buy){
OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Ask-SL*Point,Ask+TP*Point,"",MAGICMA,0,Blue) ;
buy=false ;
}
if (macd < 0 && sell){
OrderSend(Symbol(),OP_SELL,0.01,Bid,3,Bid+SL*Point,Bid-100*Point,"",MAGICMA,0,Red) ;
sell=false ;
}

}

Un certain nombre de questions ont été soulevées :

1) Comment faire travailler un expert sur différentes méthodes de cotation ( 4 ou 5 signes)

2) Je voudrais écrire un trailing stop au lieu d'un take profit (comment le mettre en œuvre ou lien utile).

 

S'il vous plaît dites-moi s'il vous plaît, je veux commander deux scripts pour vendre tous les ordres dans le terminal d'achat et vendre tous les ordres dans le terminal de vente sans avoir besoin d'aucune interface, seulement de mettre sur les touches de raccourci. Combien coûtera-t-il et où le commander ?

Je veux les mettre dans la base de code, et les outils de l'auteur resteront si nécessaire.

Je comprends ce que je dois faire dans le terminal pour sélectionner les ordres, puis sélectionner par type et ensuite exécuter un cloSed, mais je ne peux pas le faire pendant longtemps à cause des deux scripts simples.

Merci.

 
bambastik:

S'il vous plaît dites-moi s'il vous plaît, je veux commander deux scripts pour vendre tous les ordres dans le terminal d'achat et vendre tous les ordres dans le terminal de vente sans avoir besoin d'aucune interface, seulement de mettre sur les touches de raccourci. Combien coûtera-t-il et où le commander ?

Merci.

Avez-vous regardé dans la base de données des chats?
 
artmedia70:
Avez-vous regardé dans la base de données des chats?

Oui, je l'ai fait, dans la kotobase, il n'y a que ceux qui conviennent dans l'essence https://www.mql5.com/ru/code/8602 mais ils sont difficiles à comprendre pour moi, j'ai très peu de cervelle. là, vous devez mettre le type au lieu du profit mais comment le faire, je ne peux pas comprendre.
 
bambastik:
J'ai regardé, dans la cotbase, il y a seulement ces scripts appropriés https://www.mql5.com/ru/code/8602 mais ils sont difficiles à comprendre pour moi, j'ai très peu de cervelle.
De quel type de script avez-vous besoin ? Que doit-elle faire ?
 

En fait. Sélectionnez tous les achats sur le graphique et fermez-les et c'est tout. Et le même, mais avec la vente.

J'ai refait celui-ci, mais le compilateur dit qu'il y a un problème avec la fin.

//+------------------------------------------------------------------+
//| CloseAllProfit.mq4 |
//| Copyright © 2008, PRMQuotes Software Corp. |
//| Jedimedic77@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, PRMQuotes Software Corp."
#property link ""

//+------------------------------------------------------------------+
//| global variables to program: |
//+------------------------------------------------------------------+
double Price[2];
bool closesell = true;


void start() {
int iOrders=OrdersTotal()-1, i;

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && (OrderType() >= 0)) {
if((OrderType()==OP_SELL) {
OrderClose(OrderType());
}

}

Je n'ai jamais regardé le profil, mais je l'ai vu dans le forum. Je ne l'avais jamais vu avant et c'est une longue histoire, donc je suppose que ça s'est passé comme ça.
 
bambastik:

En fait. Sélectionnez tous les achats sur le graphique et fermez-les et c'est tout. Et il en va de même pour la vente.

Tout acheter et tout vendre sont deux scripts différents. Cela a été clair depuis le début. La question est de savoir s'il faut fermer absolument tous les postes. Ou doit-il fermer uniquement les positions qui se trouvent sur le graphique où le script est exécuté ? Doit-il fermer les positions ouvertes manuellement ou les positions ouvertes par un conseiller expert, ou les deux ?