Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Un "robot" è una creatura in cui il suo creatore mette tutto quello che lui (il creatore) vuole ed è bravo a fare. Se pensate che tutti gli altri su questo forum sappiano di cosa è imbottito il vostro "robot", non è del tutto vero.
#include <Trade/Trade.mqh>
#include <Trade/SymbolInfo.mqh>
#include <Trade/PositionInfo.mqh>
CTrade Trade;
CSymbolInfo Sym;
CPositionInfo Pos;
//--- parametri di ingresso
//input double Lots = 0.1; /*Lots*/ //posizione volume
input int Shift = 10; /*Shift*/ //la grandezza del salto di prezzo per aprire la posizione
input int Limit=100; /*Limit*/ //Dimensione della perdita in punti per chiudere la posizione
input int Prof=10;
input int MA_Period=50; // periodo della media mobile
int maHandle; // handle dell'indicatore della media mobile
double maVal[3]; // array statico per memorizzare i valori dell'indicatore Moving Average
bool first;
doppio a,b,lotti;
//+------------------------------------------------------------------+
//| Funzione di inizializzazione dell'esperto |
//+------------------------------------------------------------------+
int OnInit()
{
maHandle=iMA(NULL,0,MA_Period,2,MODE_SMA,PRICE_CLOSE);
se(maHandle<0)
{
Alert("Errore nella creazione di indicatori - numero di errore: ",GetLastError(),"!");
ritorno(-1);
}
first=false;
if(!Sym.Name(_Symbol))
{
Alert("CSymbolInfo initialization error, try again");
ritorno(-1);
}
Print("Inizializzazione dell'Expert Advisor fallita");
ritorno(0);
}
//+------------------------------------------------------------------+
//| Funzione di deinizializzazione dell'esperto |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
IndicatorRelease(maHandle);
}
//+------------------------------------------------------------------+
//| Funzione tick esperto |
//+------------------------------------------------------------------+
void OnTick()
{
se(CopyBuffer(maHandle,0,0,3,maVal)<0)
{
Alert("Indicator buffer copy error - error number:",GetLastError());
ritorno;
}
if(!Sym.RefreshRates())
{
ritorno;
}
se(primo)
{
a=Sym.Ask();
b=Sym.Bid();
first=false;
ritorno;
}
Lotti=AccountInfoDouble(ACCOUNT_FREEMARGIN)*0.66/1000/SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE);
Lotti=MathMin(999,MathMax(1,Lotti));
Lots=NormalizeDouble(Lots,2);
se(Pos.Select(_Symbol))
{
se(Pos.Profit()>2)
{
Trade.PositionClose(_Symbol,Sym.Spread()*2);
}
else
{
se(Pos.PositionType()==POSITION_TYPE_BUY)
{
if((Pos.PriceOpen()-Sym.Ask())/Sym.Point()>Limit)// || Sym.Bid()<maVal[0]-0.0005)
{
Trade.PositionClose(_Symbol,Sym.Spread()*2);
}
}
else if(Pos.PositionType()==POSITION_TYPE_SELL)
{
if((Sym.Bid()-Pos.PriceOpen())/Sym.Point()>Limit)// || Sym.Ask()>maVal[0]+0.0005)
{
Trade.PositionClose(_Symbol,Sym.Spread()*2);
}
}
}
}
else
{
if(b-Sym.Bid()>=Shift*Sym.Point() && maVal[0]>maVal[1] && maVal[1]>maVal[2] && Sym.Bid()<maVal[0])
{
Trade.SetDeviationInPoints(Sym.Spread()*2);
Trade.PositionOpen(_Symbol,ORDER_TYPE_SELL,Lots,Sym.Bid(),0,0,"); //Sym.Bid()+0.0030
// Trade.Sell(Lots,_Symbol,0,0,0,");
Stampa(__FUNCTION__,"():Vendi");
}
if(Sym.Ask()-a>=Shift*Sym.Point() && maVal[0]<maVal[1] && maVal[1]<maVal[2] && Sym.Ask()>maVal[0])
{
Trade.SetDeviationInPoints(Sym.Spread()*2);
Trade.PositionOpen(_Symbol,ORDER_TYPE_BUY,Lots,Sym.Ask(),0,0,"); //Sym.Ask()-0.0030
// Trade.Buy(Lots,_Symbol,0,0,0,");
Stampa(__FUNCTION__,"():Buy");
}
}
a=Sym.Ask();
b=Sym.Bid();
}
//+------------------------------------------------------------------+
avanti666:
Se volete inserire un piccolo pezzo di codice, cliccate su SRC come nell'immagine e inserite il codice. Se c'è tanto codice quanto ne inserisci, allega il file con il codice.
avanti666:
Se volete inserire un piccolo pezzo di codice, cliccate su SRC come mostrato nell'immagine e inserite il codice. Se c'è tanto codice quanto ne inserisci, allega il file con il codice.
Capito!
Non riesco a trovare nulla con il codice, proverò a cercarlo sul mio computer in serata. E cos'è lo "Styler" - guarda il link.
Grazie! Se puoi darmi qualche consiglio, sarebbe fantastico!
Leggerò di più sullo styler.