Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 538

 
Valerius:
Ho appena messo il testo e il codice, e il codice è elencato come codice. Non so come funziona il resto del codice. Se deve essere evidenziato, non è una domanda per me ma per gli sviluppatori del sito.
Fate così:inserite il codice correttamente nel forum o lo fate diversamente?
 
Sì, è così. Ma forse il mio browser è vecchio!
 
Karputov Vladimir:
Ho una contro-domanda: come fate a inserire il codice? Guarda, ho inserito il codice correttamente - gli operatori sono evidenziati. E che dire di te prima? Ci sono linee inutili, gli operatori non sono evidenziati. Sono curioso, cosa fai con il codice, prima di incollarlo?

La sequenza delle operazioni è la seguente:

1. Inserire il codice copiato da ME

2. Selezionalo

3. Seleziona il tipo di testo

код

/******************Expert deinitialization function******************/
void OnDeinit(const int reason)
{
     Comment("");
}/*******************************************************************/

E nessuna evidenziazione...

O si seleziona il codice di tipo testo e poi si incolla lì il codice copiato.

E con la CRS è evidenziato.

/******************Expert deinitialization function******************/
void OnDeinit(const int reason)
{
  if(IsTesting())
   {
    FolderClean("test", FILE_COMMON);
    FolderDelete("test", FILE_COMMON);
   }
   Comment("");
}/*******************************************************************/
 
Alexey Viktorov:

La sequenza delle operazioni è la seguente:

1. Inserire il codice copiato da ME

2. Selezionalo

3. Seleziona il tipo di testo

код

/******************Expert deinitialization function******************/
void OnDeinit(const int reason)
{
     Comment("");
}/*******************************************************************/

E nessuna evidenziazione...

Oppure seleziona il codice di tipo testo e poi incolla lì il codice copiato.

E con SRC con evidenziazione.

Spero che tu abbia capito da solo che l'unico modo corretto è l'ultimo: via SRC.
 
Karputov Vladimir:
Spero che vi siate resi conto che l'unico modo corretto è l'ultimo - via SRC.

Vladimir, non dipende da me. Mi è capitato di provare questo modo di inserimento per caso una volta, ho visto come funzionava e non l'ho mai usato senza osservazioni. E ora ho appena spiegato a tutti come può funzionare.

Forse gli amministratori del forum ci penseranno su e riassegneranno l'azione di tipo testo "codice" per chiamare la finestra di inserimento del codice, o cambieranno qualcos'altro.

 
Alexey Viktorov:

Vladimir, non dipende da me. Mi è capitato di provare questo modo di inserimento per caso una volta, ho visto come funzionava e non l'ho mai usato senza osservazioni. E ora ho appena spiegato a tutti come può funzionare...

Forse gli amministratori del forum ci penseranno e riassegneranno l'azione di tipo testo "codice" per chiamare la finestra di inserimento del codice, o cambieranno qualcos'altro.

Più tutte le zampe. Cat.
 
ndkmak:
Perché non c'è una conferma manuale negli Advisors ora? Non li usi?
Non sono certo un battitore, ma non importa. Quindi dovrei fidarmi di tutti gli EA ora? Dopo tutto, i test non sono una garanzia al 100%.
 
ndkmak:
Non sono un battitore, ovviamente, ma non importa. Quindi dovrei fidarmi di tutti i consulenti ora? Dopo tutto, i test non sono una garanzia al 100%.
Che senso ha avere un Expert Advisor se devi sederti davanti al monitor e confermare i trade ogni volta? Lavorare con un Expert Advisor completamente automatizzato presuppone che una persona non sia coinvolta, l'eccezione è un semi-automatico.
 
aiutami a risolvere l'errore '}'. - fine inaspettata del programmatma2.mq41245

{' - parentesi sbilanciate tma2.mq4 48 1


extern int TakeProfit =100;
extern int StopLoss =50;
extern double Lots = 0.01;
extern int Slippage =5;
extern string comment ="Sell";
extern int Megic = 123;
extern string Indi = "dati dell'indicatore";
extern string TimeFrame = "current time frame";//current time frame
extern int HalfLength = 56;
extern int Price = PRICE_CLOSE;
extern double ATRMultiplier = 2.0;
extern inttern ATRPeriod = 100;
extern bool Interpolate = true;

doppio PriceHigh, PriceLow, SL, TP;
biglietto int;

int init()
{0
if(Digits==3|| Digits==5)
{


TakeProfit*=10;
StopLoss*=10;
Scivolamento*=10;


}

ritorno(0);

}

int start()

{0
PriceHigh= iCustom(Symbol(),0, "TMA with Distancer",TimeFrame,HalfLength,Price, ATRMultiplier,ATRPeriod, Interpolate,1,0);
PriceLow= iCustom(Symbol(),0, "TMA with Distancer",TimeFrame,HalfLength,Price, ATRMultiplier,ATRPeriod, Interpolate,2,0);

if(Bid>=(PriceHigh);
{
SL=NormalizeDouble(Bid+StopLoss*Point,Digits);
TP=NormalizeDouble(Bid-TakeProfit*Point,Digits);


ticket=OrderSend(Simbol(),OP_SELL,Lots,Bid,Slippage,0,0,comment,123,0,Maroon);




se(biglietto>0);

{
se (OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==true);

OrderModify(ticket,OrderOpenPrice,ST,TP,0);

}
}


se(Ask<0);
{
ST=NormalizeDouble(Ask-StopLoss*Point,Digits);
TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);

ticket=OrderSend(Simbol(),OP_BUY,Lots,Ask,Slippage,0,0,comment,123,0,clrDarkBlue);



se(biglietto>0);

{
se (OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==true);

OrderModify(ticket,OrderOpenPrice,ST,TP,0);

}
ritorno(0);

}

int CountSell()
{
int count=0;
for(int trede=OrdersTotal()-1;tred>=0;tread--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Megic)
{
if(OrderType()==OP_SELL)count==;
}
}
return(count);
}


int CountBuy()
{
int count=0;
for(int trede=OrdersTotal()-1;tred>=0;tread--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Megic)
{
if(OrderType()==OP_BUY)count==;
}
}
return(count);
}0
 

Puoi per favore dirmi come fare in modo che quando il prezzo raggiunge il livello SL, l'ordine inizia la media?

void OnTick()

{

doppio ma;//dichiarare una variabile

doppio start_lot;//dichiarare una variabile

ma=iMA(Symbol(),0,10,0,0,0,1);//assegnare alla variabile una media mobile

if(Ask>ma)//se il prezzo è superiore alla variabile

{

if(OrdersTotal()==0)//se(nessun ordine aperto

{

OrderSend(Symbol(),OP_BUY,lot,Ask,30,Bid-StopLoss*Point,Ask+TakeProfit*Point,"",0,0,clrGreen);

}

}

se(Bid<ma)//

{

se(OrdiniTotali()==0)

{

OrderSend(Symbol(),OP_SELL,lot,Bid,30,Ask+StopLoss*Point,Bid-TakeProfit*Point,",0,0,clrRed);

}

//if(Bid)=StopLoss)

{

// lot=NormalizeDouble(start_lot*MathPow(koeficient,sumbay),2)

}

}

}