[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 1095
Non ho scritto subito un EA senza indicatori, non ci sono indicatori, solo ordini di acquisto e vendita e così via--- e poi i periodi che sono cambiati nel tester e il risultato finale è ancora nulla non capisco
5drakon: Non ho scritto subito un EA senza indicatori, non ci sono indicatori, solo ordini di acquisto e vendita e così via--- e poi i periodi che sono cambiati nel tester e il risultato finale è ancora nulla non capisco
Non si può dire nulla senza l'Expert Advisor stesso. Sto solo tirando a indovinare.
5drakon: Non ho scritto subito un EA senza indicatori, non ci sono indicatori, solo ordini di acquisto e vendita e così via--- e poi i periodi che sono cambiati nel tester e il risultato finale è ancora nulla non capisco
Sì, dovremmo guardare il codice stesso. Non ha nessuna strategia, in base ai cui calcoli apre e chiude gli ordini?
Può dirmi dov'è l'errore? Se c'è un ordine di mercato per vendere il nostro strumento finanziario, allora chiudilo e se non c'è un ordine di acquisto, allora apri un ordine di acquisto. Qui tutto è normale con la chiusura, ma li apre non una volta, ma ad ogni spunta.
extern double LOT = 0.01; //-------------------------------------------------------------------------------------------- int start() { int sells=0; for (int i=0; i<OrdersTotal(); i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue; OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White); Alert (GetLastError()); // Выводит сообщение об ошибке sells++; } } if (sells==0) { OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green); Alert (GetLastError()); // Выводит сообщение об ошибке return(0); } } //--------------------------------------------------------------------------------------------
Puoi dirmi dov'è l'errore? Se c'è un ordine di mercato per vendere il nostro strumento finanziario, allora chiudilo e se non c'è un ordine di acquisto, allora apri un ordine di acquisto. Qui tutto è normale con la chiusura, ma li apre non una volta ma ad ogni spunta.
extern double LOT = 0.01; //-------------------------------------------------------------------------------------------- int start() { int sells=0; for (int i=0; i<OrdersTotal(); i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue; OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White); Alert (GetLastError()); // Выводит сообщение об ошибке sells++; } } if (sells==0) { OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green); Alert (GetLastError()); // Выводит сообщение об ошибке return(0); } } //--------------------------------------------------------------------------------------------
O è meglio farlo? Se non ci sono ordini di vendita, non apriremo un ordine di acquisto.
extern double LOT = 0.01; //-------------------------------------------------------------------------------------------- int start() { for (int i=0; i<OrdersTotal(); i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue; OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White); Alert (GetLastError()); // Выводит сообщение об ошибке OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green); Alert (GetLastError()); // Выводит сообщение об ошибке return(0); } } } //--------------------------------------------------------------------------------------------
Quando si passa il controllo all'istruzione for, esegue Expression_1. Mentre la condizione dell'istruzione for è vera: passare il controllo alla prima istruzione del corpo del ciclo, e dopo che tutte le istruzioni del corpo del ciclo sono state eseguite, eseguire Expression_2 e passare il controllo all'intestazione per controllare se la condizione è vera. Se la condizione dell'istruzione for è falsa: passa il controllo all'istruzione che segue l'istruzione for.
Dimmi: è arrivato un tick, la condizione dell'operatore for è vera, il controllo è passato oltre - tutto questo accadrà durante un tick, cioè tutti questi operatori saranno eseguiti durante 1 tick oppure no.
extern double LOT = 0.01; //-------------------------------------------------------------------------------------------- int start() { for (int i=0; i<OrdersTotal(); i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue; OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White); Alert (GetLastError()); // Выводит сообщение об ошибке OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green); Alert (GetLastError()); // Выводит сообщение об ошибке return(0); } } } //--------------------------------------------------------------------------------------------
O esattamente quali operatori saranno eseguiti durante questo tick? Tutti i precedenti o quali saranno eseguiti durante il prossimo tick? Spiegare...
Quando si passa il controllo all'istruzione for, esegue Expression_1. Mentre la condizione dell'istruzione for è vera: passare il controllo alla prima istruzione del corpo del ciclo, e dopo che tutte le istruzioni del corpo del ciclo sono state eseguite, eseguire Expression_2 e passare il controllo all'intestazione per controllare se la condizione è vera. Se la condizione dell'istruzione for è falsa: passa il controllo all'istruzione che segue l'istruzione for.
Dimmi: è arrivato un tick, la condizione dell'operatore for è vera, il controllo è passato oltre - tutto questo accadrà durante un tick, cioè tutti questi operatori saranno eseguiti durante 1 tick oppure no.
O esattamente quali operatori saranno eseguiti durante questo tick? Tutti i precedenti o quali saranno eseguiti durante il prossimo tick? Spiegare...
La funzione start() viene eseguita quando arriva il primo tick. Se arrivano altri tick mentre la funzione è in esecuzione, saranno saltati.
La funzione di avvio sarà eseguita completamente secondo la sua logica
Quando si passa il controllo all'istruzione for, eseguire l'espressione_1. Mentre la condizione dell'istruzione for è vera: passare il controllo alla prima istruzione del corpo del ciclo, e dopo che tutte le istruzioni del corpo del ciclo sono state eseguite, eseguire l'espressione_2 e passare il controllo all'intestazione per controllare se la condizione è vera. Se la condizione dell'istruzione for è falsa: passa il controllo all'istruzione che segue l'istruzione for.
Dimmi: è arrivato un tick, la condizione dell'operatore for è vera, il controllo è passato oltre - tutto questo accadrà durante un tick, cioè tutti questi operatori saranno eseguiti durante 1 tick oppure no.
extern double LOT = 0.01; //-------------------------------------------------------------------------------------------- int start() { for (int i=0; i<OrdersTotal(); i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue; OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White); Alert (GetLastError()); // Выводит сообщение об ошибке OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green); Alert (GetLastError()); // Выводит сообщение об ошибке return(0); } } } //--------------------------------------------------------------------------------------------
O esattamente quali operatori saranno eseguiti durante questo tick? Tutti i precedenti o quali saranno eseguiti durante il prossimo tick? Spiegare...
L'ho capito. Tutti gli operatori saranno eseguiti se la condizione è esaurita.
Come faccio a far sì che questo codice controlli se abbiamo già un ordine di acquisto o meno prima di comprare. Se non ci sono ordini di acquisto sul mercato, allora solo allora eseguite l'acquisto?
Non ho scritto subito un EA senza indicatori, non ci sono indicatori, solo ordini di acquisto e vendita e così via--- e poi i periodi che sono cambiati nel tester e il risultato finale è ancora nulla non capisco
Non si può dire nulla senza l'Expert Advisor stesso. Sto solo tirando a indovinare.
Cosa devo fare con Ilan6 per farlo iniziare a commerciare? Con quanti soldi comincia a funzionare e funziona anche con un centesimo?
Non ho scritto subito un EA senza indicatori, non ci sono indicatori, solo ordini di acquisto e vendita e così via--- e poi i periodi che sono cambiati nel tester e il risultato finale è ancora nulla non capisco
Sì, dovremmo guardare il codice stesso. Non ha nessuna strategia, in base ai cui calcoli apre e chiude gli ordini?
Può dirmi dov'è l'errore? Se c'è un ordine di mercato per vendere il nostro strumento finanziario, allora chiudilo e se non c'è un ordine di acquisto, allora apri un ordine di acquisto. Qui tutto è normale con la chiusura, ma li apre non una volta, ma ad ogni spunta.
//--------------------------------------------------------------------------------------------
extern double LOT = 0.01;
//--------------------------------------------------------------------------------------------
int start()
{
int sells=0;
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue;
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White);
Alert (GetLastError()); // Выводит сообщение об ошибке
sells++;
}
}
if (sells==0)
{
OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green);
Alert (GetLastError()); // Выводит сообщение об ошибке
return(0);
}
}
//--------------------------------------------------------------------------------------------
Puoi dirmi dov'è l'errore? Se c'è un ordine di mercato per vendere il nostro strumento finanziario, allora chiudilo e se non c'è un ordine di acquisto, allora apri un ordine di acquisto. Qui tutto è normale con la chiusura, ma li apre non una volta ma ad ogni spunta.
//--------------------------------------------------------------------------------------------
extern double LOT = 0.01;
//--------------------------------------------------------------------------------------------
int start()
{
int sells=0;
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue;
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White);
Alert (GetLastError()); // Выводит сообщение об ошибке
sells++;
}
}
if (sells==0)
{
OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green);
Alert (GetLastError()); // Выводит сообщение об ошибке
return(0);
}
}
//--------------------------------------------------------------------------------------------
O è meglio farlo? Se non ci sono ordini di vendita, non apriremo un ordine di acquisto.
extern double LOT = 0.01;
//--------------------------------------------------------------------------------------------
int start()
{
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue;
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White);
Alert (GetLastError()); // Выводит сообщение об ошибке
OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green);
Alert (GetLastError()); // Выводит сообщение об ошибке
return(0);
}
}
}
//--------------------------------------------------------------------------------------------
Regola per l'esecuzione dell'istruzione for
Dimmi: è arrivato un tick, la condizione dell'operatore for è vera, il controllo è passato oltre - tutto questo accadrà durante un tick, cioè tutti questi operatori saranno eseguiti durante 1 tick oppure no.
extern double LOT = 0.01;
//--------------------------------------------------------------------------------------------
int start()
{
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue;
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White);
Alert (GetLastError()); // Выводит сообщение об ошибке
OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green);
Alert (GetLastError()); // Выводит сообщение об ошибке
return(0);
}
}
}
//--------------------------------------------------------------------------------------------
O esattamente quali operatori saranno eseguiti durante questo tick? Tutti i precedenti o quali saranno eseguiti durante il prossimo tick? Spiegare...
Regola per l'esecuzione dell'istruzione for
Dimmi: è arrivato un tick, la condizione dell'operatore for è vera, il controllo è passato oltre - tutto questo accadrà durante un tick, cioè tutti questi operatori saranno eseguiti durante 1 tick oppure no.
O esattamente quali operatori saranno eseguiti durante questo tick? Tutti i precedenti o quali saranno eseguiti durante il prossimo tick? Spiegare...
La funzione start() viene eseguita quando arriva il primo tick. Se arrivano altri tick mentre la funzione è in esecuzione, saranno saltati.
La funzione di avvio sarà eseguita completamente secondo la sua logica
Regola di esecuzione degli statement for
Dimmi: è arrivato un tick, la condizione dell'operatore for è vera, il controllo è passato oltre - tutto questo accadrà durante un tick, cioè tutti questi operatori saranno eseguiti durante 1 tick oppure no.
extern double LOT = 0.01;
//--------------------------------------------------------------------------------------------
int start()
{
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue;
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White);
Alert (GetLastError()); // Выводит сообщение об ошибке
OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green);
Alert (GetLastError()); // Выводит сообщение об ошибке
return(0);
}
}
}
//--------------------------------------------------------------------------------------------
O esattamente quali operatori saranno eseguiti durante questo tick? Tutti i precedenti o quali saranno eseguiti durante il prossimo tick? Spiegare...
L'ho capito. Tutti gli operatori saranno eseguiti se la condizione è esaurita.