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

 
доброго времени! помогите! на МТ4 в тестере эксперт на паре GBPCHF на периодах М1,М15,М30 показывает результаты.
а на демо счете вооще ни как себя не проявляет во вложенгии посмотрите. зарание благодарен с уважением Егор! lenok_lenin@inbox.ru
Dossiers :
ugvymodb.txt  4 kb
 
alfasolo писал(а) >>
comment puis-je vous contacter

Je n'écris pas pour commander
 
Tous montrent des pertes car je ne les ai pas ajustés dans le testeur ! S'il y a un EA normal, envoyez-moi un email.
 
egor78 >>:
народ помогите не могу найти ни одного нормального советника перепробовал очень много! все показывают убыток как я не подгонял их тестере! если есть нормальный скинте эл я написал. зарание благодарен
Pourquoi avez-vous besoin d'un bon conseiller et de tous ces maux de tête ? Vous feriez mieux de demander une presse à imprimer.
 

Aide à la mise en place et au fonctionnement de l'EA. Réduit au minimum. Cycles incorrects et erreur 130.

extern int period_EMA = 233,

période_SMA = 233,

stoploss = 200,

Magie = 55 ;

extern double Lot = 0.01 ;

extern string TimeEnd = "22:00" ; //heure limite pour Hai ou Low

extern string TimeSetOrders = "00:30" ; // Heure de passation des commandes.

extern string TimeDelOrders = "13:00" ; // Heure de suppression des commandes

extern int LevelWLoss = 1 ; // Niveau d'équilibre (Breakeven)

extern inttern LevelProfit = 40 ; // Niveau de profit

extern bool AllSymbols = True ; // Regarder les positions de tous les symboles

extern int Ticket = -1 ; // Identificateur de position (corrigé !!!)

extern bool TSProfitOnly = True ; // Profit du chalut uniquement

extern intStop.Buy = 1000 ; // Taille du chalut en points pour l'achat

extern int TStop.Sell = 1000 ; // Taille du chalut en points pour la vente

extern int TrailingStep = 100 ; // Pas de traînage en points


int HiTime,LoTime ;

int time ; // à la prochaine barre, les valeurs du rouleau sont affichées

int currDay,i=0 ;

void start() {

if (TimeToStr(CurTime(), TIME_MINUTES)==TimeSetOrders) SetLimOrd() ; // Heure =00.30, puis passer des ordres

si (TimeToStr(CurTime(), TIME_MINUTES)==TimeDelOrders) DelLim() ; // Temps ==13.00, supprimer les ordres en attente

retour (0) ;

}

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

//| suppression des limiteurs non déclenchée |

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

void DelLim()

{

for (int i=0;i<OrdersTotal();i++)

{

si (OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()==2||3)

OrderDelete(OrderTicket()) ;

}

retour (0) ;

}

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

//| Réglage des ordres en attente |

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

void SetLimOrd() {

//------- prix quotidiens, Fibs et temps de tirage Hi-Low--------------+

int shift = iBarShift(NULL,1440,Time[0]) + 1 ;

double HiPrice = iHigh(NULL,1440,shift) ; /Prix élevé

double LoPrice = iLow(NULL,1440,shift) ; // prix bas

double OpPrice = iOpen (NULL,1440,shift) ; //prix d'ouverture

double ClPrice = iClose (NULL,1440,shift) ; // Prix de clôture

datetime StTime = iTime(NULL,1440,shift) ;

double Pivot =(HiPrice+LoPrice+ClPrice)/3 ;

double Range =HiPrice-LoPrice ;

double Fibo138 =1.382*Range ;

double Fibo162 =1.618*Range ;

double Fibo262 =2.618*Range ;

double Fibo_138 =(LoPrice-1.382*Range)-Range ;

double Fibo_162 =(LoPrice-1.618*Range)-Range ;

double Fibo_262 =(LoPrice-1.218*Range)-Range ;

// ? ?

if(TimeDayOfWeek(StTime)==0/*Sunday*/){ //Ajouter le haut et le bas du vendredi

HiPrice = MathMax(HiPrice,iHigh(NULL,1440,shift+1)) ;

LoPrice = MathMin(LoPrice,iLow(NULL,1440,shift+1)) ;

OpPrice = iOpen(NULL,1440,shift+1) ;

ClPrice = iClose(NULL,1440,shift+1) ;

Pivot =(HiPrice+LoPrice+ClPrice)/3 ;

Gamme =HiPrice-LoPrice ;

Fibo138 =1.382*Range ;

Fibo162 =1.618*Range ;

Fibo262 =2.618*Range ;

Fibo_138 =(LoPrice-1.382*Range)-Range;

Fibo_162 =(LoPrice-1.618*Range)-Range;

Fibo_262 =(LoPrice-1.218*Range)-Range;

}

//---------------- temps hai et bas-----------------------------------------+

if (time!=Time[0]){HiTime=0;LoTime=0;time=Time[0];}

si (High[0]>HiPrice)HiTime=TimeCurrent() ;

si (Low[0]<LoPrice)LoTime=TimeCurrent() ;

Comment("Sur cette barre : "+"\n Time High Point="+HiTime+"\n Time Low Point="+LoTime) ;

//-----------------Ценовой диапазон Демарка-------------------------------+

si (currDay!=TimeDay(Time[i])){

si (ClPrice<OpPrice) double x=(HiPrice + LoPrice + ClPrice + LoPrice)/2 ;

si (ClPrice>OpPrice) x=(HiPrice + LoPrice + ClPrice + HiPrice)/2 ;

si (ClPrice==OpPrice) x=(HiPrice + LoPrice + ClPrice + ClPrice)/2 ;

i++ ;

}

double MaxDay = x - LoPrice ;

double MinDay = x - HiPrice ;

//----------Скользящие средние---------------------------------------------+

double EMA = iMA(15,0,period_EMA,0,MODE_EMA, PRICE_CLOSE,0)

double SMA = iMA(15,0,period_SMA,0,MODE_SMA,PRICE_CLOSE,0) ;

double EMA1 = iMA(60,0,period_EMA,0,MODE_EMA,PRICE_CLOSE,0) ;

double SMA1 = iMA(60,0,period_SMA,0,MODE_SMA,PRICE_CLOSE,0) ;

//----------Ордера---------------------------------------------------------+

HiPrice=NormalizeDouble(HiPrice,Digits) ;

LoPrice=NormalizeDouble(LoPrice,Digits) ;

Pivot=NormaliserDouble(Pivot,Chiffres) ;

Fibo138=NormaliserDouble(Fibo138,Chiffres) ;

Fibo162=NormaliserDouble(Fibo162,Chiffres) ;

Fibo_138=NormaliserDouble(Fibo_138,Chiffres) ;

Fibo_162=NormaliserDouble(Fibo_162,Chiffres) ;

double poi=MarketInfo(OrderSymbol(),MODE_POINT) ;

si (HiTime>LoTime){

int ticket1 =OrderSend(Symbol(),OP_SELLLIMIT,Lot,HiPrice,0,HiPrice+stoploss*poi,Pivot,NULL,Magic,0,Red) ;

int ticket2 =OrderSend(Symbol(),OP_SELLLIMIT,Lot,Fibo138,0,Fibo138+stoploss*poi,HiPrice,NULL,Magic,0,Red) ;

int ticket3 =OrderSend(Symbol(),OP_SELLLIMIT,Lot,Fibo162,0,Fibo162+stoploss*poi,HiPrice,NULL,Magic,0,Red) ;

}

si (HiTime<LoTime){

int ticket4=OrderSend(Symbol(),OP_BUYLIMIT,Lot,LoPrice,0,LoPrice-stoploss*poi,Pivot,NULL,Magic,0,Red) ;

int ticket5=OrderSend(Symbol(),OP_BUYLIMIT,Lot,Fibo_138,0,Fibo_138-stoploss*poi,LoPrice,NULL,Magic,0,Red) ;

int ticket6=OrderSend(Symbol(),OP_BUYLIMIT,Lot,Fibo_162,0,Fibo_162-stoploss*poi,LoPrice,NULL,Magic,0,Red) ;

}

if (HiTime>LoTime && ClPrice>Pivot) {

int ticket7=OrderSend(Symbol(),OP_BUYLIMIT,Lot,Pivot,0,Pivot-stoploss*poi,HiPrice,NULL,Magic,0,Red) ;

}

if (HiTime<LoTime && ClPrice<Pivot) {

int ticket8=OrderSend(Symbol(),OP_SELLLIMIT,Lot,Pivot,0,Pivot+stoploss*poi,LoPrice,NULL,Magic,0,Red) ;

}

}

 

Salut.

Veuillez écrire un EA pour acheter sur la rupture du haut de la bougie précédente et vendre sur la rupture du bas de la bougie précédente.

Le TP et le SL sont de 15 pips.

 

Lorsque cet EA est exécuté sur un compte réel, l'erreur 146 apparaît très souvent.

Est-il possible de faire en sorte que le conseiller expert fasse plusieurs tentatives d'ouverture d'un ordre, par exemple avec une pause d'une demi-minute ?


 

Bonsoir chers programmeurs, Pourriez-vous écrire un EA automatique sans Stop Loss et Take Profit, qui utilise une MA et des lignes horizontales(qui peuvent être appliquées sur le graphique lui-même) l'algorithme du conseiller : Par exemple, nous mettons sur le graphique 8 lignes horizontales-1.500;1.540;1.580;1.620;1.660, etc....Lorsque la MA (5) franchit la ligne1.500 vers le haut depuis le bas, elle ouvre un Achat (pour la première ou la deuxième barre) ; Puis la MA (5) franchit la ligne inférieure vers le haut 1.540, fermant l'Achat précédent et rouvrant l'Achat ; Puis la MA (5) hésite à nouveau et franchit la ligne1.540 vers le bas, fermant l'Achat précédent et ouvrant le Shell ; ; et ainsi de suite jusqu'à l'infini ...Respectueusement à vous ...

 
pavedoroga:

МА(5) franchit la ligne1.500 de bas en haut et ouvre un Achat (sur la première ou la deuxième barre) ; Puis МА(5) casse la ligne1.540 de bas en haut, l'Achat précédent est fermé et rouvre un Achat ; Puis МА(5) après avoir hésité revient et casse la ligne1.540 de haut en bas, l'Achat précédent est fermé et Shell ouvre ......


.... Г-О-О-О-О-О-О-О-О-Л-Л-Л-Л!!!!!!!!!!!
 
...et ainsi de suite jusqu'à l'infini. L'éternel haut... :)