[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 420

 

dichiarare una variabile

bool ret;

prima del ciclo

 

pupazzo di neve647, eh?)

non c'è niente di sbagliato nella compilazione, c'è qualcosa di sbagliato nell'algoritmo.

 
Summer писал(а) >>

pupazzo di neve647, eh?)

Non c'è niente di sbagliato nella compilazione, c'è qualcosa di sbagliato nell'algoritmo.

Probabilmente bisogna guardare come vengono aperte le nuove posizioni.

 
Gente che può darmi un suggerimento. Ieri stavo facendo un EA sui livelli di Murray. L'idea è di vendere/comprare dai livelli 8/0 e 0/8 e dal TP al pivot. Ho usato ObjectGet() per ottenere le linee perché non ho trovato altro modo. Il problema è che se la volatilità diminuisce, i livelli vengono ridisegnati e la cosa più importante è che il TP cambia automaticamente. Ma secondo TS non dovrebbe cambiare. Ma come mantenere invariato il TP? Sono grato per l'aiuto in anticipo.
 
Vinin >>:

Наверно надо смотреть как открываются новые позиции

si apre, ma non vuole chiudersi)

Ci deve essere qualcosa di sbagliato nell'algoritmo di chiusura.

Il codice è il più semplice, nessuno dei programmatori esperti può capire cosa c'è di sbagliato)?

 
Buona giornata a tutti! Sto testando un EA in tempo reale su un conto demo (il terminale funziona 24 ore al giorno). Ho una domanda: Metatrader è in grado di emettere statistiche su EA realmente funzionanti sulla base di quelle operazioni, che ha fatto (naturalmente non intendo back test qui)? GRAZIE A TUTTI!
 
Summer писал(а) >>

si apre, ma non vuole chiudersi)

Ci deve essere qualcosa di sbagliato nell'algoritmo di chiusura.

Il codice è semplice, nessuno dei programmatori esperti può capire cosa c'è di sbagliato).

Se l'apertura non usa Magik, allora come si può chiudere con Magik. Ecco perché si pone la domanda.

 

Vinin, mio buon uomo) il mago vale la pena))

extern double Lots=0.1;

int start()
{

bool ret;

double Ind11=iMA(NULL,0,12,0,0,0,0);
double Ind12=iMA(NULL,0,12,0,0,0,1);

if(Ind11>Ind12)
{

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"",16384,0,Green);

}

if(Ind11<Ind12)
{



for(ic=OrdersTotal()-1;ic>=0;ic--)
{
if(OrderSelect(ic,SELECT_BY_POS,MODE_TRADES)==false) continue;
if (OrderSymbol()==Symbol() && OrderMagicNumber()==16384)
{
if (OrderType()==OP_BUY)
OrderClose(OrderTicket(),OrderLots(),Bid,5,CLR_NONE);

if (OrderType()==OP_SELL)
OrderClose(OrderTicket(),OrderLots(),Ask,5,CLR_NONE);
}}



}

return(0);

}

 
Necron >>:
Народ, кто может подсказать. Вчера делал советника по уровням Мюррея. Там смысл такой, что от уровней 8/0 и 0/8 надо продавать/покупать, а TP на пивот. Я использовал ObjectGet() чтобы получить линии, т.к. другого способа не нашел. Проблема в том, что если снижается волатильность, то уровни перерисовываются, и что самое главное автоматически меняется и TP. А менятся по ТС не должен. А вот как сделать чтоб TP не менялся? Заранее благодарен за помощь.

fissare l'algoritmo per il calcolo delle linee e dei pivot

 
Summer >>:

Vinin, уважаемый) магик то стоит))

extern double Lots=0.1;

int start()
{

bool ret;

double Ind11=iMA(NULL,0,12,0,0,0,0);
double Ind12=iMA(NULL,0,12,0,0,0,1);

if(Ind11>Ind12)
{

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"",16384,0,Green);

}

if(Ind11<Ind12)
{



for(ic=OrdersTotal()-1;ic>=0;ic--)
{
if(OrderSelect(ic,SELECT_BY_POS,MODE_TRADES)==false) continue;
if (OrderSymbol()==Symbol() && OrderMagicNumber()==16384)
{
if (OrderType()==OP_BUY)
OrderClose(OrderTicket(),OrderLots(),Bid,5,CLR_NONE);

if (OrderType()==OP_SELL)
OrderClose(OrderTicket(),OrderLots(),Ask,5,CLR_NONE);
}}



}

return(0);

}

Date NormalizeDouble(Ask, Digits) invece di Ask, NormalizeDouble(Bid, Digits) invece di Bid, e funzionerà

Motivazione: