Trading News

Voir le sujet précédent Voir le sujet suivant Aller en bas

Trading News

Message par Xavier56780 le Mer 28 Déc - 13:06

Petit exemple d'algo de trading paramétrable

Xavier56780
Admin

Messages : 1308
Date d'inscription : 27/12/2016

http://trading-options.forumactif.com

Revenir en haut Aller en bas

Re: Trading News

Message par Xavier56780 le Mer 28 Déc - 13:08

//+------------------------------------------------------------------+
//| Trading News.mq4 |
//| Copyright 2016, Xavier |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, Xavier"
#property link "http://www.mql5.com"
#include <stdlib.mqh>
#include <WinUser32.mqh>

#define MAGICMA 2016092801

#define PROGRAM_EXPERT "Trading News"
#define VERSION_PROG "1.0"

#define ENTETE StringConcatenate(PROGRAM_EXPERT," V ",VERSION_PROG," ",Symbol()," ")


//+------------------------------------------------------------------+
//| script "trading for all money" |
//+------------------------------------------------------------------+

extern bool GMT = true;

extern int HeureNews = 14; // Heure de la news
extern int MinuteNews = 29; // Minute News
extern int HeureFinValid = 14; // Heure de fin de validité de l'ordre
extern int MinuteFinValid = 38; // minute de fin de validité de l'ordre

extern double LimA = 6; //point d'entrée à l'achat (en point)
extern double LimV = 16; //point d'entrée à la vente (en point)

extern double SLA = 21; //Stop loss achat
extern double SLV = 29; //Stop loss vente
extern double TPA = 10; //take profit achat
extern double TPV = 30; //take profit vente

extern double Lot = 10.0;

int i = 0;
int ticket;
int HeureNewsGMT;
int HeureFinValidGMT;
int error;

//+------------------------------------------------------------------+
//| Début |
//+------------------------------------------------------------------+

int start()
{


// vérification qu'il n'y ait pas d'ordre encours sinon sortie

i = OrdersTotal() - 1;
while (i >= 0)
{
ticket = OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if (OrderMagicNumber() == MAGICMA && OrderType() == OP_SELL && OrderSymbol() == Symbol()) return(true);
if (OrderMagicNumber() == MAGICMA && OrderType() == OP_SELLSTOP && OrderSymbol() == Symbol()) return(true);
if (OrderMagicNumber() == MAGICMA && OrderType() == OP_BUY && OrderSymbol() == Symbol()) return(true);
if (OrderMagicNumber() == MAGICMA && OrderType() == OP_BUYSTOP && OrderSymbol() == Symbol()) return(true);
i--;
}

if (TimeDayOfWeek(Time[0]) == 0 || TimeDayOfWeek(Time[0]) == 6) return(true); // pas le weekend !

// calcul de l'heure GMT suivant la période de l'année

HeureNewsGMT = HeureNews;
HeureFinValidGMT = HeureFinValid;

if (GMT == true)
{
if (TimeMonth(Time[1]) > 3 && TimeMonth(Time[1]) < 11)
{
HeureNewsGMT = HeureNews - 2;
HeureFinValidGMT = HeureFinValid - 2;
}
else
{
HeureNewsGMT = HeureNews - 1;
HeureFinValidGMT = HeureFinValid - 1;
}
}

int News = HeureNewsGMT * 60 + MinuteNews;
int FinValid = HeureFinValidGMT * 60 + MinuteFinValid;

if (TimeHour(Time[0])*60+TimeMinute(Time[0]) < News) return(true); //avant l'heure, c'est pas l'heure...
if (TimeHour(Time[0])*60+TimeMinute(Time[0]) > News) return(true); //après l'heure, c'est plus l'heure...


// passage d'ordre

int Nbr = 0;
while (OrderSend(Symbol(),OP_BUYSTOP,Lot,Ask + LimA,5,Ask + LimA - SLA,Ask + LimA + TPA,ENTETE,MAGICMA,TimeCurrent()+MinuteFinValid*60,CLR_NONE) == EMPTY)
{

error=GetLastError();
Alert(ENTETE,"Erreur = ",error, " Achat lots : ", Lot," OpenPrice = ",Ask+LimA," SL = ",Ask + LimA - SLA," TP = ",Ask+LimA+TPA);
if (error == 130 || error == 3)
{
LimA++;
}
Nbr++;
if (Nbr > 50) break;
}
Nbr = 0;
while (OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid - LimV,5,Bid - LimV + SLV,Bid - LimV - TPV,ENTETE,MAGICMA,TimeCurrent()+MinuteFinValid*60,CLR_NONE) == EMPTY)
{
error=GetLastError();
Alert(ENTETE,"Erreur = ",error, " Vente lots : ", Lot," OpenPrice = ",Bid - LimV," SL = ",Bid - LimV + SLV," TP = ",Bid-LimV-TPV);
if (error == 130 || error == 3)
{
LimV++;
}
Nbr++;
if (Nbr > 50) break;
}

return(true);
}

//+------------------------------------------------------------------+
//| Fin |
//+------------------------------------------------------------------+

Xavier56780
Admin

Messages : 1308
Date d'inscription : 27/12/2016

http://trading-options.forumactif.com

Revenir en haut Aller en bas

Re: Trading News

Message par Xavier56780 le Jeu 29 Déc - 21:35

Tu l'utilises encore ?

Xavier56780
Admin

Messages : 1308
Date d'inscription : 27/12/2016

http://trading-options.forumactif.com

Revenir en haut Aller en bas

Re: Trading News

Message par Giton le Ven 30 Déc - 14:20

je ne l'utilise plus depuis que mon ancien pc est tombé en rad, je me concentre sur les strategies options car je doute qu'il est est quoi que ce soit de profitable à long terme avec des robots, il faut sans cesse les modifier pour les adapter si on veux toujours continuer à les utiliser vu que je ne sais pas programmer je me concentre sur ce que je sais faire

Giton

Messages : 935
Date d'inscription : 28/12/2016

Revenir en haut Aller en bas

Re: Trading News

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum