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

 
Roger:

Per qualche ragione, mi viene bene (tranne che per l'alfabeto cirillico)

È giusto? È lo stesso problema del mio.

 

Sì, quindi è un problema tecnico.

Ho trovato un bug. Nella libreria per questa funzione sulla linea

double DecimalArray[17]={ 1.0, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0,  10000000.0, 100000000.0,
                             1000000000.0, 10000000000.0, 100000000000.0, 10000000000000.0, 100000000000000.0,
                             1000000000000000.0, 1000000000000000.0, 10000000000000000.0 };
dovreste cancellare lo zero in ciascuno dei numeri 13, 14 e 15.


Ora correttamente.

2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 15 çíàêàìè ðàâíî 0.201304150854320
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 14 çíàêàìè ðàâíî 0.20130415085432
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 13 çíàêàìè ðàâíî 0.2013041508543
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 12 çíàêàìè ðàâíî 0.201304150854
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 11 çíàêàìè ðàâíî 0.20130415085
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 10 çíàêàìè ðàâíî 0.2013041509
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 09 çíàêàìè ðàâíî 0.201304151
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 08 çíàêàìè ðàâíî 0.20130415
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 07 çíàêàìè ðàâíî 0.2013042
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 06 çíàêàìè ðàâíî 0.201304
2013.04.14 22:54:33     stdlib GBPUSD,H1: loaded successfully
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé SS = 32
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé MM = 54
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé HH = 8
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DD = 15
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé MN = 4
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé YY = 2013
 
Rogergrazie mille!!! Tutto ha funzionato! Ora funziona come dovrebbe!
 

Ciao, qualcuno può dirmi come fare un EA da uno script?

 

Salve. Non sono bravo a programmare, non riesco a trovare un bug, l'EA funziona nel tester ma non si apre nessun trade. Perché? Per favore, aiutatemi.

//---- parametri di ingresso
extern int MA1=85;
extern int MA2=75;
extern int MA3=5;
extern int int fastema=15;
extern int int lowema=26;
extern int sl=15;
extern int tp=15;

/*
extern int vltbars=10; //numero di barre per il calcolo della volatilità
extern double deliter=1.5; //divisore di volatilità corrente
extern double stoppercent=0.50; / da 1 a 99

extern bool timecontrol=false;
extern string starttime = "07:00:00";
extern string stoptime = "17:00:00";
*/

extern double Lots=0.1;

int startb,starts;

doppio stoplevel;
int init()
{
stoplevel=MarketInfo(Symbol(),MODE_SPREAD)+MarketInfo(Symbol(),MODE_STOPLEVEL);
}


int start()
{int comprare, vendere;

comprare=0;vendere=0;
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY){buy=1;}
if(OrderType()==OP_SELL){sell=1;}
}

double wma1 =iMA(NULL,0,MA1,0,MODE_LWMA,PRICE_LOW,1);
double wma2 =iMA(NULL,0,MA2,0,MODE_LWMA,PRICE_LOW,1);
double ema1 =iMA(NULL,0,MA3,0,MODE_EMA,PRICE_CLOSE,1);

double macdcurr =iMACD(NULL,0,fastema,lowema,1,PRICE_CLOSE,MODE_MAIN,1);
double macdlast =iMACD(NULL,0,fastema,lowema,1,PRICE_CLOSE,MODE_MAIN,2);


if(ema1<wma1 && ema1<wma2)startb=1;
if(ema1>wma1 && ema1>wma2)starts=1;

if(ema1>wma1 && ema1>wma2 && startb==1 && (macdcurr>0 || macdcurr>macdlast) && buy==0)
{
Print("BUY Bid: "+Bid+" sl: "+sl+" TakeProfit: "+tp);
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-sl*Point,Ask+tp*Point, "FORTRADER.RU",0,0,0,Red);
startb=0;
}
if(ema1<wma1 && ema1<wma2 && starts==1 && (macdcurr<0 || macdcurr<macdlast)&& sell==0)
{
Print("SELL Bid: "+Bid+" sl: "+sl+" TakeProfit: "+tp);
OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+sl*Point,Bid-tp*Point, "FORTRADER.RU",0,0,0,Red);
inizia=0;
}

ritorno(0);
}


 
qwert2:

Ciao, qualcuno può dirmi come fare un EA da uno script?

Mettetelo nella cartella EA.
 
Zhunko:
Mettilo nella cartella Expert.

Lo script esegue l'azione, se lo spostate nella cartella degli esperti esegue l'azione ad ogni tick, invece di iniziare una nuova azione solo dopo che la vecchia è finita.

 
qwert2:

Lo script esegue l'azione, se solo lo sposti nella cartella Expert esegue l'azione ogni tick, invece di iniziare una nuova azione solo dopo che la vecchia è finita.

Non capisco. Di cosa si tratta? È una domanda?
 
Zhunko:
Non capisco. Di cosa si tratta? È una domanda?

Ho scritto questo su cosa succede se si sposta lo script nella cartella degli esperti. Funziona, ma non nel modo in cui ne abbiamo bisogno. Lo script crea 8 ordini pend enti. Se lo salviamo nella cartella Expert Advisors, crea 8 ordini pendenti dopo ogni tick. Mi serve per piazzare 8 nuovi ordini solo dopo che i vecchi sono stati chiusi.
 
qwert2:
Questo è quello che succede se lo script viene semplicemente spostato nella cartella degli esperti. Funziona, ma non come dovrebbe. Lo script crea 8 ordini pendenti, ma se lo salvi solo nella cartella degli esperti, crea 8 ordini pendenti dopo ogni tick. Mi serve per piazzare 8 nuovi ordini solo dopo che i vecchi sono stati chiusi.
Non ti confondi con niente - forse un pollo sarebbe un MEGLIO (per i pendenti)? :)))
Motivazione: