[Archive] Rédiger un conseiller gratuitement - page 71

 

Je demande de l'aide pour écrire un robot de trading simple basé sur l'indicateur i-Regr. Si c'est bien fait, je garantis un paiement raisonnable.

Si quelqu'un est intéressé, veuillez écrire à ma.gog@mail.ru

 
Chers messieurs les programmeurs ! Je demande de l'aide pour écrire un EA, puisque je ne parle pas encore MQL. Si l'EA est rentable, je suis prêt à partager mes bénéfices avec la personne qui l'a écrit, ou à décrire vos conditions. Je pense que cela devrait être rentable.

L'idée générale est la suivante :


1. Le conseiller expert doit placer des ordres stop et limite en attente sur les fractales (stop d'achat, stop de vente, limite d'achat, limite de vente), le délai d'expiration des ordres doit être défini (heures, minutes).

2.
Les types d'ordres doivent être commutables (soit les ordres stop et les ordres à cours limité ensemble, soit séparément : ordres stop uniquement, ordres à cours limité uniquement),

3. La distance entre l'ordre placé et la fractale doit être définie en pips, et pour les ordres stop séparément, et pour les ordres à cours limité séparément.

4. Le StopLoss et le TakeProfit sont fixes, fixés immédiatement.


5. Vous voulez avoir un stop suiveur d'un pip et le désactiver.

6. Le lot devrait être réparé. Mais il est également possible de créer une gestion de l'argent.


7. Le spread doit être pris en compte dans les ordres : (ordre d'achat + spread, ordre de vente - spread)


Pour tout contact : Cashinroman@yandex.ru
 

Quelqu'un peut-il comprendre ce code, pourquoi dans la livre de test USD H4 fonctionne super
Et sur la démo et sur le réel ne verse quelque chose pour le changer spas peut-être il regarde dans l'histoire

extern double Init_line1 = 1.9620 ;

extern double Init_line2 = 1.9630 ;

extern double Init_line3 = 1.9640 ;

extern double Init_line4 = 1.9650 ;

extern int Step_line = 40 ;

extern double Lots = 1 ;

extern int ColUr = 2 ;


int i, j ;

int a[4][4];//1-buy, 2-sell, 3-buystop, 4-sellstop


double minlot ;

datetime LastWork ;


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

//| fonction d'initialisation de l'expert |

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


//********************************************************************

//vérifier s'il y a des postes ouverts,

//imprime le nombre de positions ouvertes dans le tableau a[4][4].

bool Pred()

{

int NL ; //quelles lignes sont dans le tableau

pour (i=0 ; i<=4 ; i++)

pour (j=0 ; j<=4 ; j++)

a[i][j]=-1;//tous en -1

for (i=0 ; i<OrdersTotal() ; i++) //inverser tous les ordres

{

si (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)//sélectionner l'ordre si ce n'est pas possible

pause ;

si (OrderSymbol()==Symbol())//il existe des positions pour ce symbole

if (OrderComment()=="a1")//y a-t-il une marque ?

NL=0 ;

else if (OrderComment()=="a2")//est notre étiquette ?

NL=1 ;

else if (OrderComment()=="a3")//est notre étiquette ?

NL=2 ;

else if (OrderComment()=="a4")//est-ce notre balise ?

NL=3 ;

sinon

continuer;//non ? alors continuer la recherche

//nous avons nos ordres, occupons-nous en.

si (OrderType()==OP_BUY)//si la position est BUY

a[NL][0]=OrderTicket();//se souvenir de son numéro

else if (OrderType()==OP_SELL)//si la position est en vente

a[NL][1]=OrderTicket();//se souvenir de son numéro

else if(OrderType()==OP_BUYSTOP)//si la position est en suspens acheter

a[NL][2]=OrderTicket();//se souvenir de son numéro

else if (OrderType()==OP_SELLSTOP)//si la position est en suspens, vendre

a[NL][3]=OrderTicket();//se souvenir de son numéro

}//fin de la boucle

}



//********************************************************************

//Exemple :

//niveau de contrôle 1.9420, prix actuel 1.9277 ou 1.9537 trouver près du niveau inférieur

//а)|1.9420-1.9277|*10000/40=3.575

//3.575-3=0.575 ; 0.575*40=23 ; 1.9277-0.0023=1.9255 niveau supérieur le plus proche

//б)|1.9420-1.9537|*10000/40=2.925

// 2.925-2=0.925 ; 0.925*40=37 ; 1.9537-0.0037=1.9500 Niveau bas le plus proche

int init()

{

Dernier travail = -1 ;

}

//********************************************************************

int deinit()

{

retour(0) ;

}


//********************************************************************

int start()

{

si (CurTime() - LastWork < 5)

return(0) ; // pas plus d'une fois toutes les 5 secondes

LastWork = CurTime() ;

Pred();//toutes les données collectées

Comment("a[1][1]=",a[0][0]," a[0][2]=",a[0][1]," a[1][3]=",a[0][2]," a[1][4]=",a[0][3],"\n",

"a[2][1]=",a[1][0], "a[2][2]=",a[1][1], "a[2][3]=",a[1][2], "a[2][4]=",a[1][3], "\n"

"a[3][1]=",a[2][0], "a[3][2]=",a[2][1], "a[3][3]=",a[2][2], "a[3][4]=",a[2][3], "\n"

"a[4][1]=",a[3][0]," a[4][2]=",a[3][1]," a[4][3]=",a[3][2]," a[4][4]=",a[3][3],"\n")

commentaire de chaîne ;

double Init_line,qw,qw1,uo,w, sl, op ;

for(i=0;i<ColUr;i++)//exécuter le tableau a[4][4]

{

//nécessité d'aller plus loin

coment=" ;

si (i==0)

{

coment="a1" ;

Init_line=Init_line1 ;

}

sinon si(i==1)

{

coment="a2" ;

Init_line=Init_line2 ;

}

sinon si(i==2)

{

coment="a3" ;

Init_line=Init_line3 ;

}

sinon si(i==3)

{

coment="a4" ;

Init_line=Init_line4 ;

}

//recherche le niveau le plus proche

w=(MathAbs(Bid-Init_line)*1/Point)/Step_line;//coefficient

si (Bid>=Init_line)

qw=Step_line*(w-MathFloor(w));//nombre de points vers le bas au niveau le plus proche

sinon

qw=Step_line-Step_line*(w-MathFloor(w));//nombre de points vers le bas au niveau le plus proche

qw1=Step_line-qw;//nombre de points jusqu'au niveau le plus proche

// Commentaire("Ligne1 ",Init_line," w=",((Bid-Init_line)*1/Point)/Step_line," qw=",qw," NewLine",Bid-(qw)*Point) ;

if ((a[i][0]==-1)&&(a[i][1]==-1)&&(a[i][2]==-1)&&(a[i][3]==-1))//нету открытых

{

//passer des commandes

si (qw+4>=15)// nous pouvons placer une attente de vente

OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid-(qw)*Point,0,Bid-Point*(qw-2*Step_line),0,0,CLR_NONE) ;

else //set the next level down

OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid-Point*(qw+Step_line),0,Bid-Point*(qw+Step_line-2*Step_line),0,coment,0,0,CLR_NONE) ;

if (qw1>=15)//peut mettre une attente d'achat

OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask+(qw1-4)*Point,0,Ask+Point*(qw1-4-2*Step_line),0,coment,0,0,CLR_NONE) ;

else/// le mettre au niveau supérieur suivant

OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask+Point*(qw1-4+Step_line),0,Ask+Point*(qw1-4+Step_line-2*Step_line),0,coment,0,0,CLR_NONE) ;

}

// !!!!!!!!!!!!!

else if (a[i][0]!=-1)// valeur d'achat

{//ouvert acheter

OrderSelect(a[i][0],SELECT_BY_TICKET, MODE_TRADES);//sélectionne un ordre ouvert

uo=OrderOpenPrice();//son prix d'ouverture - niveau

op=uo ;

si (uo<(Ask-(qw-4)*Point))//le prix d'ouverture est inférieur au bas actuel

//vérifier que SL est ouvert, si nécessaire modifier

si (OrderStopLoss()<(Ask-Point*(qw+4+2*Step_line)))//SL est inférieur à 2 niveaux vers le bas du prix actuel

OrderModify(a[i][0],NULL,Ask-Point*(qw+4+2*Step_line),NULL,NULL,CLR_NONE) ;

sl=OrderStopLoss() ;

//décider de l'attente

if (a[i][3]!=-1)//stands sellstop

{

OrderSelect(a[i][3],SELECT_BY_TICKET, MODE_TRADES);//position sur l'attente

uo=OrderOpenPrice();//prix d'ouverture - niveau

if(uo!=sl)//(Bid-Point*(qw+2*Step_line)))//le niveau ouvert est égal au stop BUY

OrderModify(a[i][3],sl, sl+Point*(2*Step_line),NULL,NULL,CLR_NONE)

// OrderModify(a[i][3],Bid-Point*(qw-2*Step_line),Bid+qw*Point,NULL,NULL,NULL) ;

}

else if (a[i][3]==-1)//le tour d'achat a été ouvert, le sellstop doit être activé.

OrderSend(Symbol(), OP_SELLSTOP, Lots, sl,0,sl+Point*(2*Step_line),NULL,coment,0,0,CLR_NONE) ;

// OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid-(qw+2*Step_line)*Point,0,Bid-Point*(qw),NULL,coment,0,0,0) ;

}

// !!!!!!!!!!!!!

else if (a[i][1]!=-1)//stand sell

{

OrderSelect(a[i][1],SELECT_BY_TICKET, MODE_TRADES);//sélectionne l'ordre ouvert

uo=OrderOpenPrice();//prix d'ouverture - niveau

op=uo ;

si (uo>(Bid+(qw1)*Point))//le prix d'ouverture est supérieur au niveau supérieur actuel

//vérifier que SL est ouvert, si nécessaire modifier

si (OrderStopLoss()>(Bid+Point*(qw1+2*Step_line)))//SL est supérieur à 2 niveaux au-dessus du prix actuel

OrderModify(a[i][1],NULL,Bid+Point*(qw1+2*Step_line),NULL,NULL,CLR_NONE) ;

sl=OrderStopLoss() ;

//prendre un report

si (a[i][2]!=-1)// coût du buystop

{

OrderSelect(a[i][2],SELECT_BY_TICKET, MODE_TRADES);//position sur le suspens

uo=OrderOpenPrice();//prix d'ouverture - niveau

si (uo!=sl)//le niveau ouvert est égal au stop VENTE

OrderModify(a[i][2],sl,sl-(2*Step_line)*Point,NULL,NULL,CLR_NONE) ;

// OrderModify(a[i][2],Ask+Point*(qw1-4+2*Step_line), Ask+(qw1-4)*Point,NULL,NULL,NULL) ;

}

else if (a[i][2]==-1)//le tour de vente a été ouvert, nous devons définir le buystop

OrderSend(Symbol(), OP_BUYSTOP, Lots, sl,0,sl-Point*(2*Step_line),NULL,0,0,CLR_NONE) ;

//OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask+(qw1-4+2*Step_line)*Point,0,Ask+Point*(qw1-4),NULL,coment,0,0,0) ;

}

}

retour (0) ;

}

 
Cashin:
Chers messieurs les programmeurs ! Je voudrais demander de l'aide pour écrire un EA. Je ne parle pas encore MQL. Si mon EA est rentable, je suis prêt à partager mes bénéfices avec la personne qui l'a écrit, ou à décrire vos conditions. Je pense que cela devrait être rentable.

A propos de "partager le prix" - c'est digne)

Mais il est plus intéressant de "décrire les termes".

Mes conditions : j'écris pour l'argent maintenant, je ne prétends pas faire du profit.

Contacts dans le profil

 
Chers visiteurs de ce site. Un conseiller expert très simple doit être écrit. J'ai une suggestion. Je vous donne une condition, vous me donnez le conseiller expert. Vous serez également en mesure d'utiliser ma stratégie simple. J'apprécierais que vous m'expliquiez comment modifier le volume des ordres dans l'EA, lorsque cela est nécessaire. Je donnerai les conditions lors de la correspondance personnelle ou ICQ 300333834 ou mail forexbmf@yandex.ru Andrew.
 
october:
Chers visiteurs de ce site. Un conseiller expert très simple doit être écrit. J'ai une suggestion. Je vous donne une condition, vous me donnez le conseiller expert. Vous serez également en mesure d'utiliser ma stratégie simple. J'apprécierais que vous m'expliquiez comment modifier le volume des ordres dans l'EA, lorsque cela est nécessaire. Je donnerai les conditions lors de la correspondance personnelle ou ICQ 300333834 ou mail forexbmf@yandex.ru Andrew.

Si vous voulez faire des transactions gratuitement (de préférence en réel ou en démo pendant 1 ou 2 mois).

Sinon, voici https://www.mql5.com/ru/job

 
sergeev sur la stratégie qui nécessite un EA - le trading manuel est très difficile, presque impossible (prend beaucoup de temps et difficile de faire un pari dans le temps). Cependant, après avoir écouté la condition, vous vous rendrez compte que ce type de commerce a du sens.
 

Однако выслушав условие вы поймёте, что действительно имеет смысл такая торговля.

Octobre, tu n'as aucune idée du nombre de personnes avant toi qui ont dit à peu près les mêmes mots et se sont découragées.

 
october:
Chers visiteurs du site. Il faut écrire une EA très simple.

Voir l'assistant EA en ligne : http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/

Support de la langue russe disponible

 
la tâche ici, et justifier que cela ne fonctionnera pas ;)