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

 
alsu >> :

perché iHighest funziona solo con le serie temporali. Per altri array l'analogo ArrayMaximum

Quindi, dovrò creare problemi con gli array :( Grazie per l'aiuto!

 

Ciao!!!

Potete dirmi come implementare il menu "Parametri" negli indicatori personalizzati quando li chiamate?

Voglio dire che so come creare variabili esterne e inserire i loro valori nel menu "Parametri di ingresso", ma voglio creare un menu proprio come negli indicatori specifici con sostituzione di variabili e spiegazioni russe di quale valore introduciamo, invece di vedere solo un nome di variabile senz'anima e ricordare quale numero è codificato nel corpo del programma (per esempio "Applicare all'indicatoreapply to" nel codice dell'indicatore è un numero intero che viene controllato su condition switch, e si sceglie da una lista "open, close, ecc.д")...

 

Ciao, aiuto per favore non riesco a capire... Ho un EA che lavora sui segnali dell'oscillatore, apre le posizioni dopo aver attraversato lo zero. Voglio fargli aprire una posizione quando la barra corrente si è chiusa e il segnale si è formato. Può aprire e chiudere una posizione alcune volte in un minuto :) Finché il segnale non si regola.

Ecco il codice:


extern double Lot = 0.1;
extern double Per = 14;
bool gi_84 = TRUE;
int gi_88 = 366;
double gd_92 = 0.02;
double gd_100 = 0.2;
int g_period_108 = 14;
int gi_112 = 50;
int g_slippage_116 = 0;



void start() {
int l_cmd_52;
int l_ticket_56;

string l_symbol_0 = Symbol();
double l_isar_8 = iCustom(NULL,0, "daytrend-t01",Per,0,0);
double l_isar_9 = iCustom(NULL,5, "daytrend-t01",Per,0,0);
int l_cmd_40 = -1;
int l_ord_total_44 = OrdersTotal();
Lot = MathMax(Lot, MarketInfo(l_symbol_0, MODE_MINLOT))
for (int li_48 = l_ord_total_44; li_48 > 0; li_48--) {
if (OrderSelect(li_48 - 1, SELECT_BY_POS) == TRUE) {
l_cmd_52 = OrderType();
if (OrderSymbol() != l_symbol_0 || l_cmd_52 < OP_BUY || l_cmd_52 > OP_SELL) continua;
l_ticket_56 = OrderTicket();
RefreshRates();
if (l_cmd_52 < OP_SELL) {
if (l_isar_8 > 0) {
while (OrderClose(l_ticket_56, Lot, Bid, g_slippage_116) == 0) FunError(gi_112);
l_cmd_40 = -1;
continue;
}
} else {
if (l_isar_8 < 0 ) {
while (OrderClose(l_ticket_56, Lot, Ask, g_slippage_116) == 0) FunError(gi_112);
l_cmd_40 = -1;
continue;
}
}
l_cmd_40 = l_cmd_52;
}
}
if (l_cmd_40 < OP_BUY && g_period_108 == 0 || DayOfYear() < gi_88) {
RefreshRates();
if (l_isar_8 < 0 && l_isar_9 < 0 ) while (OrderSend(l_symbol_0, OP_BUY, Lot, Ask, g_slippage_116, 0, 0) == 0) FunError(gi_112);
else
if (l_isar_8 > 0 && l_isar_9 > 0 ) while (OrderSend(l_symbol_0, OP_SELL, Lot, Bid, g_slippage_116, 0, 0) == 0) FunError(gi_112);
}
}

void FunError(int ai_0) {
Sleep(ai_0);
RefreshRates();
}

void deinit() {
}
 
nikkola >> :

Chiedete all'autore.

 
TheXpert >> :

Chiedete all'autore.

Vorrei poterlo trovare :)

 
buon pomeriggio, scaricando la storia dal 1999, appare questo errore

2009.09.15 15:49:05	HistoryBase: not enough memory 'USDJPY1' [3231513 bars]
2009.09.15 15:49:05	Memory handler: cannot allocate 142197836 bytes of memory


non c'è abbastanza memoria, qualcuno sa che tipo di errore è questo?
 
nikkola >> :

Vorrei poterlo trovare :)

Cercatelo, non mostrate qui il vostro codice decompilato e sperate in un aiuto gratuito.

 
NEKSUS_ >> :
Che tipo di memoria è, qualcuno sa che tipo di errore è in primo luogo?

RAM, non riesco a ricordare come risolvere il problema, ma ridurre la profondità della storia dovrebbe aiutare.

 
TheXpert >> :

>> Cercalo, non mostrare il tuo codice decompilato qui intorno e sperare in un aiuto gratuito.

Non l'ho decompilato, l'ho preso così...

 
TheXpert >> :

ridurre la profondità della storia dovrebbe aiutare.

Questo è il problema, non si può, il sistema ha bisogno di tutta la storia

Motivazione: