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

 
Il risultato è il seguente. Ho aperto e chiuso un sacco di ordini, ma ne serve solo uno ed è tutto. Forse, tutto può essere elementare, ma mi sono bloccato. Ho cercato di fare in modo che, quando una certa condizione (incrocio) è soddisfatta, un ordine viene aperto e la variabile ottiene un certo valore. Poi ho incluso questa variabile nella condizione di apertura degli ordini ma non succede niente. Si apre un ordine, poi il secondo, poi il terzo...
 
prom18:
Il risultato è il seguente. Tu apri e chiudi un sacco di ordini, mentre a te ne basta uno solo. Forse, tutto può essere elementare, ma non ho una soluzione. Ho provato a fare in modo che un solo ordine sia aperto e che la variabile ottenga un certo valore quando una certa condizione è soddisfatta (incrocio). Poi ho incluso questa variabile nella condizione di apertura degli ordini ma non succede niente. Si apre un ordine, poi il secondo e il terzo.


Ho bisogno di codice o di un pezzo di codice - senza codice solo a livello di scheda

e non ci sono molti consigli:

1) controlla il numero di ordini aperti su questo segnale

2) controllare il tempo del segnale (collegarsi alla barra corrente, se c'è solo un segnale all'interno della barra)

3) congiuntamente 1) e 2)

 
abolk:


Ho bisogno di un codice o di un pezzo di codice - senza codice solo a livello di scheda

e non ci sono molti consigli:

1) controlla il numero di ordini aperti su questo segnale

2) controllare il tempo del segnale (collegarsi alla barra corrente se c'è solo un segnale all'interno della barra)

3) congiuntamente 1) e 2)

Grazie! Lo proverò.

 
Grazie per la dritta sul debugging dell'EA. A proposito, sono ancora nuovo del forum e non sempre capisco lo slang. Cos'è IMHO? :)
artmedia70:

Non ricordo di averti detto come accedere al forum... :)

Non credo che nessuno sarà in grado di aiutarti qui senza l'EA stesso dalle sole voci di log dell'ottimizzazione. I sensitivi hanno riposato per un decennio... :)

E perché stai cercando di ottimizzarlo? Basta eseguire prima il test e cercare gli errori.

L'ottimizzazione, se del caso, è necessaria nella fase finale di test dell'Expert Advisor e della strategia nel suo complesso

per trovare i valori ottimali delle variabili. Tuttavia, personalmente, IMHO, credo che sia solo uno stupido adattamento ai dati storici,

Quindi cerco di fare tutto dinamicamente nei miei EA affidandomi all'EA stesso nel calcolo dei valori ottimali delle variabili.

 
boris.45:
Cos'è IMHO? :)
Potresti semplicemente dire: "Secondo me".
 

mentre o se ?

Professionisti, per favore spiegate i pro e i contro.

L'ho testato su GBPUSD il 2 febbraio 2010.

№1

int start()
{ if(OrdersTotal()==0) //quando non ci sono ordini
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-60*Point,Ask+30*Point);
return; }

Questo funziona, ha aperto e chiuso 4 ordini.

№2

int start()
{ while(OrdersTotal()==0) //quando non ci sono ordini
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-60*Point,Ask+30*Point);
return; }
Questo non vuole funzionare; ecco cosa dice nel log:

Modificato un po', ha funzionato.

№3

int start()
{ while(OrdersTotal()==0) //quando non ci sono ordini
OrderSend(Symbol(),OP_BUY,0.1,NormalizeDouble(Ask,4),3,
NormalizeDouble(Ask-60*Point,4),NormalizeDouble(Ask+30*Point,4));
return; }

In realtà, domande:

Perché con " if " (#1) tutti i prezzi di apertura/chiusura con quotazioni a quattro cifre, ma in chiusura l'ultimo ordine è a cinque cifre?

Perché "mentre" (#2) non vuole funzionare, cosa c'è di sbagliato nel prezzo?

Perché "while" (#3) quando si specifica il prezzo di apertura attraverso NormalizeDouble (Ask,4) causa l'apertura del primo ordine e la chiusura dell'ultimo ordine in quotazioni a cinque cifre?

Qual è la differenza fondamentale tra if e while in questo caso (#1 e #2)?

P.S. E se eseguo separatamente 8.02.10, tutti e tre funzionano.

Sarei molto grato per risposte o link.

 

Qualcuno può dirmi come scrivere in un EA "se il profitto dell'ordine è +5%, allora ........"?

 
FoxUA:

chi può dirmi come scrivere in un EA "se il profitto dell'ordine è +5% allora ........".


definire cosa significa 5%?

% mostra il rapporto tra un valore e l'altro, penso che stiate cercando un aumento di capitale del 5%, quindi

if (OrdersTotal()<1) eq=AccountBalance();
.....


if (AccountEquity()> eq+eq/100*5){
// прирост эквити на 5%


}

se siete ancora interessati al cambiamento del profitto dell'ordine, allora OrderProfit() da ricordato

 
IgorM:


Definire cosa significa 5%?

% mostra il rapporto tra un valore e l'altro, penso che stiate cercando un aumento di capitale del 5%, quindi

se siete ancora interessati a cambiare il profitto dell'ordine, OrderProfit() da quello memorizzato


Forse non l'ho espresso correttamente, ho bisogno di cambiare per esempio BalansEURUSD per mostrare il profitto o la perdita in percentuale "BalansEURUSD =5%" o qualcosa del genere

e così via diverse coppie diciamo per la sterlina e il dolren

una volta

 
Vinin:
Potresti semplicemente dire: "Secondo me".
Grazie, Victor... :) Ne aggiungerò altri dei miei:
________________________________________________________________________________________________________
Letteralmente: dall'inglese IMHO "In My Humble Opinion" (Nella mia umile opinione o Nella mia onesta opinione).
O colloquialmente in russo, con lo slang: IMHO = "Ho un'opinione, non si può discutere con essa" ... :)))))