Beh, ho un obiettivo diverso dal risparmio di denaro.
Ho degli EAs sui grafici, e aprire ulteriori copie di finestre per fare trading dal pannello non è la cosa giusta da fare. Ecco perché ho scritto il pannello di trading sotto forma di indicatore - puoi metterne molti su un grafico.
Questo è un piccolo estratto, il codice è un po' troncato, ma la logica è chiara:
Indicatore
// Открыть позиции// Открыть позицию Buyif(sparam==prefix+"_openBuy") {
BroadcastEvent(gMagic,edLots,_symbol);
ObjectSetInteger(0,prefix+"_openBuy",OBJPROP_STATE,false);
ChartRedraw();
}
// Открыть позицию Sellif(sparam==prefix+"_openSell") {
BroadcastEvent(gMagic,edLots,_symbol);
ObjectSetInteger(0,prefix+"_openSell",OBJPROP_STATE,false);
ChartRedraw();
}
//===============================================================================================//------------------ Функция посылает сообщение всем открытым графикам -------------------------+//===============================================================================================void BroadcastEvent(long lparam,double dparam,string sparam) {
ushort eventID=9784-CHARTEVENT_CUSTOM;
long currChart=ChartFirst();
int i=0;
while(i<CHARTS_MAX) // у нас наверняка не больше CHARTS_MAX открытых графиков
{
EventChartCustom(currChart,eventID,lparam,dparam,sparam);
currChart=ChartNext(currChart); // на основании предыдущего получим новый график if(currChart==-1) break; // достигли конца списка графиков
i++; // не забудем увеличить счетчик
}
}
Sì, stavo anche pensando di far scrivere all'EA il ChartID del mio grafico in una variabile globale del terminale, quindi tutti gli indicatori sanno dove inviare l'evento. Spot senza BroadcastEvent.
Aleksei Stepanenko: Sì, sto pensando di scrivere il ChartID del mio grafico nella variabile globale del terminale, poi tutti gli indicatori sanno dove inviare l'evento. Spot senza BroadcastEvent.
Glob.variable è lo stesso file, il terminale ci lavora molto e uccide il disco, e non è utile controllarlo in modo statico, è lo stesso ciclo ma nel profilo :)
Glob.variable è lo stesso file, il terminale ci lavora molto e uccide il disco, e non è utile controllarlo in modo statico, è lo stesso ciclo ma nel profilo :)
No, no. Una volta all'inizio dell'Expert Advisor, scrive il numero del suo grafico nella variabile globale. Poi una volta all'avvio l'indicatore legge questa variabile, e ogni volta che l'oggetto viene creato, invia l'evento solo al grafico con l'EA.
Glob.variable è lo stesso file, il terminale ci lavora molto e uccide il disco, e non è ragionevole controllarlo in modo statico, è lo stesso ciclo, ma nel profilo :)
lo stesso file se si forza il risciacquo, altrimenti la ram funziona per lo più
In generale, un normale trasmettitore tra EAs/indicatori funzionerebbe:
non normale, da 8 byte ciascuno, sarete stanchi di trasferire qualcosa
anche se funzionerà -@fxsaber ha fatto una bibloo, sembra che TypeToByte usi per scambiare strutture più complesse
ZS: collisioni come gestire? - imho, tutte le strade portano al database sullo scambio di dati, il 90% del lavoro è fatto per voi e molto qualitativamente
Beh, ho un obiettivo diverso dal risparmio di denaro.
Ho degli EAs sui grafici, e aprire ulteriori copie di finestre per fare trading dal pannello non è la cosa giusta da fare. Ecco perché ho scritto il pannello di trading sotto forma di indicatore - puoi metterne molti su un grafico.
Questo è un piccolo estratto, il codice è un po' troncato, ma la logica è chiara:
Indicatore
Consulente esperto
Dov'è l'indicatore? Per favore, allegalo qui, così non dovrai vagare per i thread del forum.
Sì, sto pensando di scrivere il ChartID del mio grafico nella variabile globale del terminale, poi tutti gli indicatori sanno dove inviare l'evento. Spot senza BroadcastEvent.
Glob.variable è lo stesso file, il terminale ci lavora molto e uccide il disco, e non è utile controllarlo in modo statico, è lo stesso ciclo ma nel profilo :)
indicatore
indicatore
Semmai, preso da qui
Glob.variable è lo stesso file, il terminale ci lavora molto e uccide il disco, e non è utile controllarlo in modo statico, è lo stesso ciclo ma nel profilo :)
Glob.variable è lo stesso file, il terminale ci lavora molto e uccide il disco, e non è ragionevole controllarlo in modo statico, è lo stesso ciclo, ma nel profilo :)
lo stesso file se si forza il risciacquo, altrimenti la ram funziona per lo più
Generalmente un normale trasmettitore tra EAs/indicatori risulta essere
ricevitore:
trasmettitore:
Nessun carico sul processore.
In generale, un normale trasmettitore tra EAs/indicatori funzionerebbe:
non normale, da 8 byte ciascuno, sarete stanchi di trasferire qualcosa
anche se funzionerà -@fxsaber ha fatto una bibloo, sembra che TypeToByte usi per scambiare strutture più complesse
ZS: collisioni come gestire? - imho, tutte le strade portano al database sullo scambio di dati, il 90% del lavoro è fatto per voi e molto qualitativamente