Écrire des EA gratuites - page 5

 
S'il vous plaît, écrivez un EA sur les fractales.
Des photos détaillées de la stratégie sont jointes.


ACHETEZ VENDRE

L'emplacement des fractales est strictement comme sur l'image.
Le TP est calculé selon le schéma de l'image.
Le SL est placé sous la fractale pour l'ACHAT et au-dessus de la fractale pour la VENTE.
Le slippage et le spread sont pris en compte dans le code du conseiller expert.
Dans les variables d'entrée de l'Expert Advisor : Lot
 
yura droba:
S'il vous plaît, écrivez un EA sur les fractales.
Des photos détaillées de la stratégie sont jointes.



L'emplacement des fractales est strictement comme sur l'image.
Le TP est calculé selon le schéma de l'image.
Le SL est placé sous la fractale pour l'ACHAT et au-dessus de la fractale pour la VENTE.
Le slippage et le spread sont pris en compte dans le code du conseiller expert.
Dans les variables d'entrée de l'Expert Advisor : Lot

Vous avez spécifié l'égalité comme en géométrie, mais sur le marché réel, l'égalité n'est presque jamais atteinte. Vous devez accepter des déviations acceptables comme un minimum.

 
Bonjour !
Les gars, quelqu'un peut m'aider ?
J'ai une stratégie avec un EA semi-automatique. Je dois y ajouter l'ouverture automatique d'ordres dans des directions opposées au même moment. Et l'EA doit entrer sur le marché dès que le dernier ordre est fermé. C'est-à-dire que si le dernier ordre d'achat a été fermé, il ouvre l'ordre d'achat immédiatement. Si le dernier ordre de vente est fermé, il ouvre immédiatement un ordre de vente.

En ce qui concerne la fonctionnalité, ajoutez des boutons : acheter - on/off

Vendre - on/off

 

Veuillez me dire ce qui ne va pas dans ce code. Il se compile mais ne s'échange pas dans le testeur.


extern double StopLoss =0 ;

extern double TakeProfit =0 ;

extern double Lots =0.1 ;

extern double Prots =0.0 ;

bool Work=true ;

string Symb ;


extern int Bands_period = 20 ;

extern double Bands_deviation = 2 ;





int

Total, // Nombre de commandes dans la fenêtre

Tip=-1, // Type de commande sélectionné (B=0,S=1)

Ticket ; // Numéro de commande

double

MA_1_t, // Valeur. MA_1 valeur actuelle".

Lot, // Nombre de lots dans l'ordre sélectionné

Lts, // Numéro de lot dans l'ordre ouvert

Min_Lot, // Nombre minimum de lots

Étape, // Étape de la modification de la taille du lot

Libre, // Fonds libres actuels

One_Lot, // Valeur d'un lot

Prix, // Prix de la commande sélectionnée

SL, // Prix SL de l'ordre sélectionné

TP ; // TP de l'ordre sélectionné

bool

Ans =false, // Réponse du serveur après la fermeture

Cls_B=false, // Critère de fermeture de l'Achat

Cls_S=false, // Critère de fermeture Vendre

Opn_B=false, // Critère d'ouverture d'Achat

Opn_S=false ; // Critère d'ouverture de Sell

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

int start()

{

double PercentBB1 ;

double PercentBB2 ;

double ma ;

int cnt, total ;



//------------------------------------------Protection contre les erreurs et les bugs--------------------------------------///

if(Bars<100) //si le nombre de chandeliers est inférieur à 100

{

Print("Le nombre de barres est trop faible") ;

retour(0) ;

}

if (Volume[0] < 1.0) // if(Volume< 1.0) // si négocié alors le volume est supérieur à 0

{

Comment("Pas de transactions... En attente d'une nouvelle barre...") ;

retour(0) ;

}

si (AccountFreeMargin()<(1000*Lots))

{

Comment("Pas assez d'argent. Le niveau de marge est inférieur à ...") ;

retour(0) ;

}


//-----------------------------------------Конец защиты от косяков-----------------------------------------//


PercentBB1 = iCustom(NULL,PERIOD_H1, "cBB",Bands_period,0,Bands_deviation,0 ) ;

PercentBB2 = iCustom(NULL,PERIOD_M15, "cBB",Bands_period,0,Bands_deviation,0) ;

ma = iMA(NULL,PERIOD_M15,20, 0, 0, PRICE_CLOSE, 0) ;


total=OrdersTotal() ;

//-------------------------------------------Закрытие позиций------------------------------------------

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;

si(OrderType()<=OP_SELL &&

OrderSymbol()==Symbol())

{

si(OrderType()==OP_BUY)

{

if(PercentBB1 <=30.0000 && PercentBB1 >=70.0000 && Bid == ma)

{

Ticket=OrderClose(OrderTicket(),OrderLots(),Bid,50,Violet) ;

retour(0) ;

}

}

si(OrderType()==OP_SELL)

{

if(PercentBB1 <=30.0000 && PercentBB1 >=70.0000 && Ask == ma )

{

Ticket=OrderClose(OrderTicket(),OrderLots(),Ask,50,Violet) ;

retour(0) ;

}

}

}

}

//-----------------------------------------------Конец закрытия позиции------------------------------------

if(total==0) // s'il n'y a pas de positions

{

//ouverture d'une position longue

if(PercentBB1 >=30.0000 && PercentBB1 <=70.0000 && PercentBB2 <=0.0000 )

{

Ticket=OrderSend(Symbol(), OP_BUY,Lots,Ask,50,0, "Position longue",16384,0,Red) ;

retour(0) ;

}

//ouverture d'une position courte

if(PercentBB1 >= 30.0000 && PercentBB1 <=70.0000 && PercentBB2 >= 100.0000)

{

Ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,50,0, "Short Position",16384,0,Red) ;

retour(0) ;

}

}

retour(0) ;


 
Юра Юра:

Veuillez me dire ce qui ne va pas dans ce code. Compile mais n'échange pas dans le testeur.


PercentBB1 = iCustom(NULL,PERIOD_H1, "cBB",Bands_period,0,Bands_deviation,0 ) ;

PercentBB2 = iCustom(NULL,PERIOD_M15, "cBB",Bands_period,0,Bands_deviation,0) ;

personne n'aide
aucun indicateur

 
Олег Новицкий:
Bonjour à tous ! !! est-il possible d'écrire un advisor sur un indicateur flèche avec un stop personnalisable et prendre sur le signal inverse de l'indicateur....

vous ne pouvez pas, vos indicateurs sont décompilés

 

Prêt à accepter un cahier des charges avec une description détaillée de la stratégie de trading pour une exécution GRATUITE. Conseiller expert ou indicateur pour le terminal MT4.

Les stratégies de type "modèle" ne sont pas soumises à révision. Par conséquent, je me réserve le droit de sélectionner indépendamment le RPT avec une exécution ultérieure.

En ce qui concerne les délais, veuillez ne pas les mentionner. Temps pour le codage 2-3 heures par jour. En fait, c'est le prix à payer pour une exécution gratuite.

***

 
Evgenii Voroshilov:

Prêt à accepter un cahier des charges avec une description détaillée de la stratégie de trading pour une exécution GRATUITE. Conseiller expert ou indicateur pour le terminal MT4.

Les stratégies de type "modèle" ne sont pas soumises à révision. Par conséquent, je me réserve le droit de sélectionner indépendamment le RPT avec une exécution ultérieure.

En ce qui concerne les délais, veuillez ne pas les mentionner. Temps pour le codage 2-3 heures par jour. En fait, c'est le prix à payer pour une exécution gratuite.

***

Si tu veux le faire gratuitement, tu devras le faire publiquement.

 
Bonjour, je ne connais rien à l'écriture des EA, c'est pourquoi je pose cette question. Est-il possible d'écrire un EA basé sur un indicateur sans code source ?
 
Alexey Olhovikov:
Bonjour, je ne connais rien à l'écriture d'EAs, c'est pourquoi j'ai cette question. Est-il possible d'écrire un EA basé sur un indicateur sans code source ?

Vous pouvez.

Raison: