Comment coder ? - page 245

 

N'est-ce pas un peu inefficace de poster toutes les questions de programmation sous le même lien ?

 

Ordonner une commande en double ?

int start()

{

int ticket,expiration,rp ;

double point,bd ;

point=MarketInfo(Symbol(),MODE_POINT) ;

expiration=CurTime()+PERIOD_D1*60 ;

rp=100 ;

bd=Bid ;

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*1*point,0,0,0, "some comment1",1,expiration,Green) ;

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*2*point,0,0,0, "some comment2",1,expiration,Green) ;

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*3*point,0,0,0, "some comment3",1,expiration,Green) ;

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*4*point,0,0,0, "some comment4",1,expiration,Green) ;

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*5*point,0,0,0, "some comment5",1,expiration,Green) ;

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*6*point,0,0,0, "some comment6",1,expiration,Green) ;

}

Je veux ouvrir seulement six ordres en attente. Pouvez-vous m'aider pls. Merci beaucoup ! !!

 
YenTrader2:
N'est-ce pas un peu inefficace de poster toutes les questions de programmation sous le même lien ?

Aussi inefficace que possible !

 

M. Coders' Guru, pouvez-vous m'aider à créer une ea ?

codersguru:
jdun,

La façon la plus simple d'inverser le code (vendre pour acheter et acheter pour vendre) est de changer :

if(signal0 < signal1 ) GlobalVariableSet("TM0",1);

if(signal0 > signal1) GlobalVariableSet("TM0",0);[/CODE]

To:

[CODE]if(signal0 > signal1 ) GlobalVariableSet("TM0",1);

if(signal0 < signal1) GlobalVariableSet("TM0",0);

La fonction de cette ea est de fermer toutes mes positions ouvertes et les ordres en attente qui ne sont pas exécutés à une heure fixe de temps. L'ea doit fonctionner sur une plateforme commerciale metatrader4. Les spécifications sont les suivantes :

1) au début de l'heure 16:00 (heure de la plateforme interbankfx)

2) fermer la première position ouverte

3) fermer la position ouverte suivante

4) jusqu'à ce que toutes les positions ouvertes soient fermées, aller à

5) fermez le premier ordre en attente

6) fermer le prochain ordre en attente

7) jusqu'à ce que tous les ordres en attente soient fermés

8) fin

Merci à vous

 

Ajout d'ATR à un code existant

J'ai juste besoin de savoir comment ajouter ATR SL, TP, TS à un code existant. Toute aide serait appréciée.

 
EddieRoyals:
J'ai juste besoin de savoir comment ajouter ATR SL, TP, TS à un code existant. Toute aide serait appréciée.

où se trouve le code existant ?

-------------------------------

pour ajouter une valeur atr vous prenez d'abord un

disons double b = iATR(Symbol(),0,5,1) en s'assurant que la valeur qu'il renvoie est multipliée par le Point du courtier donc en avançant dans notre scénario hypothétique ce serait

b = point * iATR(Symbol(),0,3,1) ;

jusqu'ici tout va bien à partir de là vous pouvez faire ce que vous voulez une façon serait de le multiplier par un autre seuil disons par exemple 5

Ainsi, le résultat final est

b = 5 * point * iATR(Symbol(),0,3,1) ;

Voilà, vous pouvez maintenant jouer avec

-guyver

 

Indicateur de modification

HI,

Quelqu'un pourrait-il m'aider et modifier cet indicateur pour vérifier également le haut et le bas en fonction de la barre précédente. Si la bougie actuelle a HH et HL et que la valeur de l'histogramme est < 50 alors la barre d'histogramme est verte, si la bougie actuelle a LH et LL et que la valeur de l'histogramme est aussi < 50 alors la barre d'histogramme est rouge. Tout autre résultat devrait tracer une barre d'histogramme grise.

Merci d'avance pour toute aide !

Dossiers :
 

Merci beaucoup Guyver. Je vais essayer dans la journée. Merci beaucoup !

 
kolesar:
HI,

Quelqu'un pourrait-il m'aider et modifier cet indicateur pour vérifier également le haut et le bas selon la barre précédente. Si la bougie actuelle a HH et HL et que la valeur de l'histogramme est < 50 alors la barre d'histogramme est verte, si la bougie actuelle a LH et LL et que la valeur de l'histogramme est aussi < 50 alors la barre d'histogramme est rouge. Tout autre résultat devrait tracer une barre d'histogramme grise.

Merci d'avance pour toute aide !

Rien. Pas de réponse, rien.

Peut-être que cela vous aidera ?

 

Ajout de stoploss

Quelqu'un pourrait-il me dire comment ajouter un stoploss pour le code suivant.

Merci.

#define MAGIC 20090101

extern double Lots = 0.2 ;

extern double OpenPrice = 92.50 ;

extern double ClosePrice = 92.55 ;

extern bool gaku = 0 ;

int CalculateCurrentOrders()

{ int pos=0 ;

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

{ if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break ;

if(OrderSymbol() == Symbol() && OrderMagicNumber() == MAGIC)

{

if(OrderType() == OP_BUY || OrderType() == OP_BUYLIMIT || OrderType() == OP_BUYSTOP) pos++ ;

if(OrderType() == OP_SELL || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP) pos-- ;

}

}

return(pos);}

int start()

{

if(IsTradeAllowed() == false || CalculateCurrentOrders() != 0) return(0) ;

if(OpenPrice < ClosePrice && gaku == 0) OrderSend(Symbol(),OP_BUYLIMIT,Lots,OpenPrice,0,0,ClosePrice,"",MAGIC,0,Blue) ;

else if(OpenPrice > ClosePrice && gaku == 0) OrderSend(Symbol(),OP_SELLLIMIT,Lots,OpenPrice,0,0,ClosePrice,"",MAGIC,0,Red) ;

else if(OpenPrice < ClosePrice && gaku != 0) {OrderSend(Symbol(),OP_BUYSTOP,Lots,OpenPrice,0,0,ClosePrice,"",MAGIC,0,Blue) ;

}

else if(OpenPrice > ClosePrice && gaku != 0) {OrderSend(Symbol(),OP_SELLSTOP,Lots,OpenPrice,0,0,ClosePrice,"",MAGIC,0,Red) ;

}

return(0) ;

}

Raison: