Idées brutes - page 13

 
 

Nouveau système basé sur Fibonacci

Voici un système que j'ai trouvé dans mt3 et que j'ai converti en mt4.

Il semble qu'il soit prometteur, mais actuellement il a un défaut que je vois.

Les lignes ne se recréent pas, donc vous devez supprimer l'indicateur chaque jour puis le réinstaller.

Je crois que l'indicateur a juste besoin d'un code objet de suppression installé, mais je n'ai pas eu le temps, peut-être plus tard dans le mois. Comme je l'ai dit, il fonctionne bien si vous le supprimez du graphique, puis le réinstallez (début de chaque session).

Je dois également ajouter qu'il utilise l'indicateur zig-zag, si vous en avez également besoin dans le répertoire des indicateurs.

Bonne lecture

Dossiers :
 

système de tendance ?

J'envisage de construire un système de trading automatique basé sur l'indicateur APE de C. Youngs. La partie de l'indicateur sur laquelle je veux le baser est l'indicateur "Alpha". En bref, l'indicateur alpha est très similaire à l'ADX ou range action verification index, voir stocks commodities mag avril 2006. Cet indicateur alpha est plus réactif que l'ADX traditionnel, etc. Il entre dans une tendance beaucoup plus rapidement et, plus important encore, il en sort plus rapidement.

Je voudrais concevoir un système de trading automatique qui serait long lorsque l'alpha commence à avoir une tendance, ce qui est généralement autour de 1,0 alpha. Je fais du trading de démonstration avec vttrader, donc je ne peux pas faire de backtest comme avec metatrader, donc je vous demande de me faire des suggestions sur une méthode d'entrée rentable en tendance. Je pense utiliser un croisement de moyenne mobile de base lorsque l'alpha est en tendance. Cependant, je ne suis pas sûr du type de système idéal pour les marchés à tendance. Je pourrais utiliser un indicateur de régression linéaire, cci, stoichastics, macd, en fait les options sont infinies. Je demande simplement des conseils sur le type de système que les traders ont trouvé bon pendant les marchés à forte tendance. Toute suggestion serait compilée et négociée en direct sur vttrader sur des périodes quotidiennes, 4 heures, heures, 15 minutes sur les principaux croisements. J'ai lu beaucoup de livres et je n'ai pas assez d'expérience sur ce qui serait idéal avec cet indicateur. J'ai également constaté qu'une fois que cet indicateur commence à suivre une tendance, une contre-opération à forte probabilité se produit également après la tendance majeure, donc une méthode d'entrée/sortie par retournement serait également appropriée. Veuillez me conseiller, merci, M Rippy.

 

SnapshotI

Bonjour,

J'ai trouvé cet indicateur qui vous permettra de faire des scrrenshoot de votre diagramme.

Cela signifie qu'il peut être attaché à n'importe quel graphique où vous voulez une image

A mettre dans le dossier des indicateurs et des images se trouve dans le dossier :Files

Dossiers :
snapshoti.mq4  2 kb
 

Modification du codage pour l'EA nécessaire

L'EA suivant est basé sur le Sar parabolique. Il fonctionne très bien mais ce qui me pose problème est le suivant. L'EA est basé sur un graphique EUR/USD de 30 minutes. Dans un marché en mouvement rapide, l'EA ouvrira et fermera 2 ou plusieurs transactions sur la même barre. Je veux qu'il n'effectue qu'une seule transaction par barre de 30 minutes. Une fois qu'une transaction a été exécutée et fermée, elle NE DOIT PAS être exécutée pendant les 30 minutes suivantes. Toute aide est la bienvenue. Merci beaucoup.

Une autre chose qui pourrait vraiment améliorer cet EA. Lorsque le premier point apparaît, il entre presque à la fin de la barre (fin des 30 minutes). Si possible, j'aimerais qu'il entre dans la transaction dès que le premier point apparaît au-dessus ou au-dessous de la barre.

Cordialement

Dossiers :
par5.mq4  9 kb
 

quelqu'un a vu un indicateur d'intervalle de bougie ou de barre ?

Bonjour à tous, Quelqu'un connaît-il un indicateur de bougie ou de barre qui peut être configuré pour alerter si une certaine plage est atteinte pendant cette bougie ou cette barre. Par exemple un doji avec zéro pip entre le prix d' ouverture et de fermeture ou à l'autre extrême cinquante pip dans la bougie ou la barre, et quand la barre ou la bougie se ferme si le nombre défini est atteint une alerte ? Merci Rip

 

Commande en attente

Bonjour,

Code voudrait que l'EA place seulement 3 ordres SELLLIMIT ou BUYLIMIT de chaque fois, en gardant ces ordres pour 3 heures. Ou bien nécessaire d'un limiteur d'ordres suspendus, mon système a placé des ordres de forme ininterrompue et 3 sont seulement nécessaires.

Reconnaissant

 

Exemple de système expert flou

Bonjour

Il suffit d'aller à la page suivante :

http://merlotti.com/EngHome/Computing/software.htm

Vous y trouverez des documents, un exemple et le code source ( modifiable ).....

Bonne exploration.....
DV
 

Aidez-moi s'il vous plaît - Commande en attente

Bonjour,

Code voudrait que l'EA place seulement 3 ordres SELLLIMIT ou BUYLIMIT de chaque fois, en gardant ces ordres pour 3 heures. Ou bien nécessaire d'un limiteur d'ordres suspendus, mon système a placé des ordres de forme ininterrompue et 3 sont seulement nécessaires.

Reconnaissant

Total=OrdersTotal() ;

if(OrdersTotal()==0)

{b1=0;b2=0;b3=0;s1=0;s2=0;s3=0;}

si(OrdersTotal()>0)

{

//Print("Total des commandes :",OrdersTotal()) ;

//Print(b1," ",b2," ",b3," ",s1," ",s2," ",s3) ;

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

{

OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES) ;

si(OrderMagicNumber()==2)

{b1=OrderTicket() ; }

si(OrderMagicNumber()==4)

{b2=OrderTicket() ; }

si(OrderMagicNumber()==6)

{b3=OrderTicket() ; }

si(OrderMagicNumber()==1)

{s1=OrderTicket() ; }

si(OrderMagicNumber()==3)

{s2=OrderTicket() ; }

si(OrderMagicNumber()==5)

{s3=OrderTicket() ; }

}

}

//Acheter 1

double expirar=(CurTime()+PERIOD_H1*120) ;

si(b1==0)

{

if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

if(!IsTrade) {

//Contrôle de la marge libre

if (AccountFreeMargin() < (1000 * Lots)) {

Print("Nous n'avons pas d'argent. Marge libre = ", AccountFreeMargin()) ;

return(0) ;

}

if (StopLossMode) StopLossLevel = Ask - StopLoss * Point ; sinon StopLossLevel = 0.0 ;

if (TakeProfitMode) TakeProfitLevel = Ask + TakeProfit * Point ; sinon TakeProfitLevel = 0.0 ;

Ticket = OrderSend(Symbol(), OP_BUYLIMIT, Lots,B1, Slippage, STPBUY,BS, "Buy(#" + MagicNumber + ")", MagicNumber,expirar, DodgerBlue) ;

if(Ticket > 0)

{

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) Print("Ordre BUY ouvert : ", OrderOpenPrice()) ; else Print("Erreur lors de l'ouverture d'un ordre BUY : ", GetLastError()) ;

{

b1=Ticket ;

Print(Ticket);}

if (EachTickMode) TickCheck = True ;

if (!EachTickMode) BarCount = Bars ;

return(0) ;

}

}

}

}

//Acheter 2

si (b2==0)

{

if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

if(!IsTrade) {

//Contrôle de la marge libre

if (AccountFreeMargin() < (1000 * Lots)) {

Print("Nous n'avons pas d'argent. Marge libre = ", AccountFreeMargin()) ;

return(0) ;

}

if (StopLossMode) StopLossLevel = Ask - StopLoss * Point ; sinon StopLossLevel = 0.0 ;

if (TakeProfitMode) TakeProfitLevel = Ask + TakeProfit * Point ; sinon TakeProfitLevel = 0.0 ;

Ticket = OrderSend(Symbol(), OP_BUYLIMIT, Lots,B2, Slippage, STPBUY,BS-0.0001, "Buy(#" + MagicNumber + ")", MagicNumber,expirar, Blue) ;

if(Ticket > 0)

{

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) Print("Ordre BUY ouvert : ", OrderOpenPrice()) ; else Print("Erreur lors de l'ouverture d'un ordre BUY : ", GetLastError()) ;

{

b2=Ticket ;

Print(Ticket);}

if (EachTickMode) TickCheck = True ;

if (!EachTickMode) BarCount = Bars ;

return(0) ;

}

}

}

}

//Acheter 3

si (b3==0)

{

if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

if(!IsTrade) {

//Contrôle de la marge libre

if (AccountFreeMargin() < (1000 * Lots)) {

Print("Nous n'avons pas d'argent. Marge libre = ", AccountFreeMargin()) ;

return(0) ;

}

if (StopLossMode) StopLossLevel = Ask - StopLoss * Point ; sinon StopLossLevel = 0.0 ;

if (TakeProfitMode) TakeProfitLevel = Ask + TakeProfit * Point ; sinon TakeProfitLevel = 0.0 ;

Ticket = OrderSend(Symbol(), OP_BUYLIMIT, Lots,B3, Slippage, STPBUY,BS-0.0002, "Buy(#" + MagicNumber + ")", MagicNumber,expirar, Aqua) ;

if(Ticket > 0) {

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) Print("Ordre BUY ouvert : ", OrderOpenPrice()) ; else Print("Erreur lors de l'ouverture d'un ordre BUY : ", GetLastError()) ;

{

b3=Ticket ;

Print(Ticket);}

if (EachTickMode) TickCheck = True ;

if (!EachTickMode) BarCount = Bars ;

return(0) ;

}

}

}

}

//Vente-1

si (s1==0)

{

if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

if(!IsTrade) {

//Contrôle de la marge libre

if (AccountFreeMargin() < (1000 * Lots)) {

Print("Nous n'avons pas d'argent. Marge libre = ", AccountFreeMargin()) ;

return(0) ;

}

if (StopLossMode) StopLossLevel = Bid + StopLoss * Point ; sinon StopLossLevel = 0.0 ;

if (TakeProfitMode) TakeProfitLevel = Bid - TakeProfit * Point ; sinon TakeProfitLevel = 0.0 ;

Ticket = OrderSend(Symbol(), OP_SELLLIMIT, Lots, S1, Slippage, STSELL, BS, "Sell(#" + MagicNumber + ")", MagicNumber,0, DeepPink) ;

if(Ticket > 0) {

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) Print("Ordre de vente ouvert : ", OrderOpenPrice()) ; sinon Print("Erreur lors de l'ouverture d'un ordre de vente : ", GetLastError()) ;

{

s1=Ticket ;

Print(Ticket);}

if (EachTickMode) TickCheck = True ;

if (!EachTickMode) BarCount = Bars ;

return(0) ;

}

}

}

}

//Vendre 2

si (s2==0)

{

if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

if(!IsTrade) {

//Contrôle de la marge libre

if (AccountFreeMargin() < (1000 * Lots)) {

Print("Nous n'avons pas d'argent. Marge libre = ", AccountFreeMargin()) ;

return(0) ;

}

if (StopLossMode) StopLossLevel = Bid + StopLoss * Point ; sinon StopLossLevel = 0.0 ;

if (TakeProfitMode) TakeProfitLevel = Bid - TakeProfit * Point ; sinon TakeProfitLevel = 0.0 ;

Ticket = OrderSend(Symbol(), OP_SELLLIMIT, Lots,S2, Slippage, STSELL, BS+0.0001, "Sell(#" + MagicNumber + ")", MagicNumber,0, DeepPink) ;

if(Ticket > 0) {

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) Print("Ordre de vente ouvert : ", OrderOpenPrice()) ; sinon Print("Erreur lors de l'ouverture d'un ordre de vente : ", GetLastError()) ;

{

s2=Ticket ;

Print(Ticket);}

if (EachTickMode) TickCheck = True ;

if (!EachTickMode) BarCount = Bars ;

return(0) ;

}

}

}

}

//Vendre 3

si (s3==0)

{

if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

if(!IsTrade) {

//Contrôle de la marge libre

if (AccountFreeMargin() < (1000 * Lots)) {

Print("Nous n'avons pas d'argent. Marge libre = ", AccountFreeMargin()) ;

return(0) ;

}

if (StopLossMode) StopLossLevel = Bid + StopLoss * Point ; sinon StopLossLevel = 0.0 ;

if (TakeProfitMode) TakeProfitLevel = Bid - TakeProfit * Point ; sinon TakeProfitLevel = 0.0 ;

Ticket = OrderSend(Symbol(), OP_SELLLIMIT, Lots, S3, Slippage, STSELL, BS+0.0002, "Sell(#" + MagicNumber + ")", MagicNumber,0, DeepPink) ;

if(Ticket > 0) {

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) Print("Ordre de vente ouvert : ", OrderOpenPrice()) ; sinon Print("Erreur lors de l'ouverture d'un ordre de vente : ", GetLastError()) ;

{

s3=Ticket ;

Print(Ticket);}

if (EachTickMode) TickCheck = True ;

if (!EachTickMode) BarCount = Bars ;

return(0) ;

}

}

}

}

if (!EachTickMode) BarCount = Bars ;

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;

si(OrderType()==OP_BUYLIMIT))

{

OrderDelete(OrderTicket()) ;

if(OrderTicket()==b1) {b1=0 ; return;}

if(OrderTicket()==b2) {b2=0 ; return;}

if(OrderTicket()==b3) {b3=0 ; return;}

}

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;

if(OrderType()==OP_SELLLIMIT)

{

OrderDelete(OrderTicket()) ;

if(OrderTicket()==s1) {s1=0 ; return;}

if(OrderTicket()==s2) {s2=0 ; return;}

if(OrderTicket()==s3) {s3=0 ; return;}

}

OrderSelect(b1,SELECT_BY_TICKET) ;

si(OrderClosePrice()>0) {b1=0;}

OrderSelect(b2,SELECT_BY_TICKET) ;

si(OrderClosePrice()>0) {b2=0;}

OrderSelect(b3,SELECT_BY_TICKET) ;

si(OrderClosePrice()>0) {b3=0;}

OrderSelect(s1,SELECT_BY_TICKET) ;

si(OrderClosePrice()>0) {s1=0;}

OrderSelect(s2,SELECT_BY_TICKET) ;

si(OrderClosePrice()>0) {s2=0;}

OrderSelect(s3,SELECT_BY_TICKET) ;

si(OrderClosePrice()>0) {s3=0;}

}

Où se trouve mon erreur ?

 

Exemples et démos d'Icustoms

Salut Code Guru et programmeurs

Je voudrais vous remercier d'avoir mis en place votre cours de programmation. Pouvez-vous donner quelques exemples d'experts Icustoms et comment écrire à partir de zéro.

Au hasard, choisissez n'importe quel indicateur comme trois. Expliquez-moi comment je peux en ajouter d'autres et les activer ou les désactiver pour pouvoir essayer différentes choses.

Merci d'avance

Dr. Gaines