Domande da un "manichino" - pagina 238

 
forward666: Quando eseguo il robot, apre immediatamente una posizione che ovviamente non riflette la realtà del grafico, quindi va in profondo rosso. Come faccio a fare in modo che questa posizione non si apra subito quando lancio il robot?
"Il robot è una creatura in cui il suo creatore mette tutto ciò che lui (il creatore) vuole, e tutto ciò che lui (il creatore) è bravo a fare. Se pensate che tutti gli altri su questo forum sappiano di cosa è imbottito il vostro "robot", non è del tutto vero.
 
Yedelkin:
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.
buon punto:)sono completamente d'accordo:)
 
non c'è niente di complicato! ma la domanda rimane:)
 
forward666: non c'è niente di complicato! ma la domanda rimane:)
Potresti applicarelo Styler nell'editor e poi incollare il codice correttamente (pulsante SRC)? Altrimenti, senza editor a portata di mano, è difficile da leggere.
MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • 2010.02.23
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
 
forward666:
#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.

MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • 2010.02.23
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
 
paladin800:

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!
 
forward666:
Capito!
Chi ha uno styler a portata di mano, può dirmi dov'è l'errore, che la posizione si apre immediatamente, non è chiaro in quale direzione e non è chiaro perché?
 
forward666: Chi ha uno styler a portata di mano, può dirmi dov'è l'errore, che la posizione si apre immediatamente, non è chiaro in che direzione e non è chiaro perché?
Proverò a cercarlo sul mio computer in serata. Cos'è lo "Styler" - guarda il link automatico nel tuo messaggio.
 
Yedelkin:
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.