Ogni coppia di valute deve avere la propria GlobalVariable, per esempio "MyEA_EURUSD".
Se si sta limitando l'EA a un trade al giorno il codice sarebbe:
stringa sCheck = "MyEA_" + Symbol();
datetime t = TimeCurrent();
datetime tTrade = t - TimeHour(t)*60*60 - TimeMinute(t)*60 - TimeSeconds(t);
if(!GlobalVariableCheck(sCheck)) GlobalVariableSet(sCheck, tTrade -PERIOD_D1 * 60);
if(GlobalVariableGet(sCheck) < tTrade) {
OrderSend(......);
GlobalVariableSet(sCheck, tTrade);
}
Scusate se riporto questo in cima, ma sto avendo lo stesso problema in questo momento. Purtroppo sxTed non mi ha risposto alla domanda. Perché descrivere un tempo di trading è qualcosa di diverso dalla quantità di ordini per ogni coppia di valute.
Ho provato a modificare le linee di sxTed ma credo di aver fallito terribilmente nel risolvere questo problema:
string sCheck = "MyEA_" + Symbol(); // already the first error in the code, second quotes should be at the end of the line. //I would correct this one to: string sCheck = "MyEA_ + Symbol()"; //However symbol() is not a function anymore ?? int start () { // Closing Orders here if(!GlobalVariableCheck(sCheck)) //checking Globalvariable, GV available so it becomes true (independently of what kind of GV we have)... GlobalVariableSet(sCheck, Symbol() ); //.. assigning a new GlobalVariable to the function of the current symbol the EA is attached on (does it actually work like this?) if(GlobalVariableGet(sCheck) == Symbol()) { // checking if our Symbol is the one which the EA is attached on --> becomes true... // Order Criteria (Open trades here) // What now? Actually i'm missing any kind of numbers or smth that limits the open orders per currency pair.
PER FAVORE: non collegatemi a nessuna letteratura in questo posto o ditemi di assumere qualcuno, sto studiando il libro in questo momento e sono rimasto bloccato!!!
Per ogni coppia di valute uso un EA separato.
Per verificare se una posizione deve essere aperta, verifico se non c'è un ordine aperto "if (OrdersTotal<1)" ma questo bloccherà tutte le altre coppie di valute per aprire posizioni e perdo opportunità.
In altre parole: Voglio aprire solo una posizione per coppia di valute = posizioni multiple dovrebbero essere possibili ma in diverse coppie di valute.
Quale codice dovrei usare al posto del "if (OrdersTotal<1)"? Qualcuno può aiutarmi? Grazie in anticipo per il vostro aiuto.
int total=OrdersTotal(); int count = 0; int magno = 12345; for(int pos=0;pos<totale;pos++) { if(OrderSelect(pos,SELECT_BY_POS) == false) continua; if (OrderMagicNumber() != magno) continua; if (OrderSymbol() != Symbol()) continua; count++; } // Ora sai quanti ordini per questo simbolo sono aperti da questo EA. if (count < 1) { // fai qualcosa - apri l'ordine forse }Questo ti aiuta?
Questo aiuta?
Questo aiuta?
int total=OrdersTotal();
limita il totale degli openorder di TUTTE le coppie di valute o no?
Ho inserito il tuo codice come segue
int total=OrdersTotal(); int count = 0; for(int pos=0;pos<total;pos++) { if(OrderSelect(pos,SELECT_BY_POS) == false) continue; if (OrderSymbol() != Symbol()) continue; count++; } if (Sell_1_1 < Sell_1_2 && CloseSell1_1 > CloseSell1_2 && count < 1) Order = SIGNAL_SELL; // Trigger for Sell if (Buy_1_1 > Buy_1_2 && CloseBuy1_1 < CloseBuy1_2 && count < 1) Order = SIGNAL_BUY; // Trigger for Buy if (order == SIGNAL_BUY) { OrderSend(...) }
e continua ad aprire un solo trade in tutto. Cosa stava cercando di dirci sxTed con la sua variabile globale?
limita il totale degli ordini aperti di TUTTE le coppie di valute o no?
Ho inserito il tuo codice come segue
e continua ad aprire un solo trade in tutto. Cosa stava cercando di dirci sxTed con la sua variabile globale?
Su quanti grafici hai il tuo EA?
Per testare il codice ho aperto 5 grafici ma voglio aprire N grafici. La quantità non ha importanza.
Per ogni coppia di valute uso un EA separato.
Per verificare se una posizione deve essere aperta, verifico se non c'è un ordine aperto "if (OrdersTotal<1)" ma questo bloccherà tutte le altre coppie di valute per aprire posizioni e perdo opportunità.
In altre parole: Voglio aprire solo una posizione per coppia di valute = posizioni multiple dovrebbero essere possibili ma in diverse coppie di valute.
Quale codice dovrei usare al posto del "if (OrdersTotal<1)"? Qualcuno può aiutarmi? Grazie in anticipo per il vostro aiuto.
Codificalo in questo modo :
int Total_Order = OrdersTotal(); for (pos = 0; pos <= Total_Order; pos ++) { if (OrderSelect (pos, SELECT_BY_POS) == true) { if (OrderSymbol () == Symbol ()) { Print (":( Sorry already have that symbol opened "); // get outta here do something else break ; } else { Print ("No order opened for this symbol"); Print ("Let\'s call waitress and order some drink :)"); // do some order then break out and get out } } }
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Per ogni coppia di valute uso un EA separato.
Per verificare se una posizione deve essere aperta, verifico se non c'è un ordine aperto "if (OrdersTotal<1)" ma questo blocca tutte le altre coppie di valute per aprire posizioni e perdo delle opportunità.
In altre parole: Voglio aprire solo una posizione per coppia di valute = posizioni multiple dovrebbero essere possibili ma in diverse coppie di valute.
Quale codice dovrei usare al posto del "if (OrdersTotal<1)"? Qualcuno può aiutarmi? Grazie in anticipo per il vostro aiuto.