Come codificare? - pagina 74

 

Vuoi dire:

if ( ( CloseSell1_1 CloseSell2_2 ) || ( CloseSell3_1 > CloseSell3_2 ) ) Order = SIGNAL_CLOSESELL;

[/PHP]or do you mean:

[PHP]if ( ( CloseSell1_1 CloseSell2_2 || CloseSell3_1 > CloseSell3_2 ) ) Order = SIGNAL_CLOSESELL;

 

Grazie.

Ora che lo guardo, era ovvio. Questo ha fatto il trucco. Il backtest iniziale non è così buono. E' ora di fare qualche ritocco.

 
Big Be:
Ho bisogno di sapere come cambiare lo Stop per Metà del mio ordine aperto. La mia comprensione è che questo significa aprire due ordini, per esempio .2 lotti e .2 lotti.

Il mio EA basa il numero di lotti su un calcolo di Money Management.

Dopo che lo stop di un ordine viene modificato (in base al raggiungimento di un livello di prezzo), lascerei che il mio codice di uscita chiudesse entrambi gli ordini, a meno che i loro stop (ora diversi) non vengano colpiti.

L'altro ordine mantiene il suo stop originale o eventualmente lo sposta fino al Break Even.

Se la quantità iniziale di lotti (dalla funzione MM) è dispari, invece di arrotondare per difetto per un numero dispari di lotti o decimi di lotti, vorrei dividerli in modo non uniforme tra i due ordini.

Credo che questo implichi numeri magici e un paio di righe di codice qua e là. Forse c'è un EA con tutto questo da cui potrei copiare.

Grazie per qualsiasi aiuto.

Grande essere

Ciao; mi hai chiesto esplicitamente di questo altrove, ma ci sono state alcune risposte, e non so quali parti dei tuoi problemi potrebbero rimanere. Ci vorrà un giro in cui lo chiederai di nuovo....

 

Ciao Ralph,

ralph.ronnquist:
Ciao; mi hai chiesto esplicitamente di questo altrove, ma ci sono state alcune risposte, e non so quali parti dei tuoi problemi potrebbero rimanere. Ci vorrà un giro in cui lo chiederai di nuovo....

Beh, nessuna delle risposte ha effettivamente risposto a nessuna delle mie domande - alcune riguardavano le mie risposte alle domande di altri.

Quindi tutte le parti rimangono. (Vedi il post precedente per la citazione della questione che ho postato in questo thread).

Grazie,

Grande Essere

 

Problema con l'impostazione dell'ordine limite

Ciao ragazzi e ragazze,

Sto cercando di impostare il codice nel mio EA per entrare in un trade ad un livello di prezzo specifico (un ordine limite). Questo è il codice per l'ordine limite:

ticket=OrderSend(Symbol(),OP_BUYLIMIT,lots,Ask+10*Point,3,BuyStopLoss,0, "xx Buy",16384,0,Red);

lots & BuyStopLoss sono valori calcolati predeterminati, e funzionano con una normale funzione di mercato "OP_BUY" quando la passo a quella. Ask+10*Point è solo un valore arbitrario che mi è venuto in mente sopra il prezzo corrente, in realtà normalmente uso BuyEntry che è anche predeterminato.

L'errore che ottengo quando cerco di eseguire il codice nello Strategy Tester è:

"2008.02.24 16:00:08 2004.06.17 15:15 xxEA EURUSD,M15: OrderSend error 130" (che è un errore legato allo stoploss)

Qualche idea su cosa stia causando questo errore? Penso che ci debba essere un problema con il modo in cui sto impostando l'ordine limite, o non può eseguire ordini limite in strategy tester (?) perché sembra funzionare bene con un ordine a mercato. Grazie per qualsiasi aiuto.

 

Costruttore di Expert Advisor?

Lonestar:
Sono relativamente nuovo a Metatrader, non al trading però, e ho creato alcuni EAs usando Expert Adviser Builder. La maggior parte funziona bene, ma ho problemi quando uso uscite multiple. Chiudere (comprare) logiche e chiudere (vendere) logiche con la funzione OR. Le multiple con AND funzionano bene, ma non riconosce quelle create con OR. Di seguito il codice di uscita.

//+------------------------------------------------------------------+

//| Segnale Inizio(Uscita Vendere) |

//+------------------------------------------------------------------+

if (CloseSell1_1 CloseSell2_2 || CloseSell3_1 > CloseSell3_2) Order = SIGNAL_CLOSESELL;

La parte in grassetto è il segnale che sta ignorando. Qualsiasi idea. Questa è l'unica cosa che mi impedisce di eseguire correttamente il backtesting. Se qualcuno può aiutarmi e il backtest va bene, potete prenderlo. Filtrando solo manualmente i trade che dovrebbero essere chiusi, sembra promettente.

Grazie.

Cos'è l'Expert Advisor Builder?

 
nondisclosure007:
Cos'è Expert Advisor Builder?

Qualcosa come Gordago o questo

 

Dimensione variabile del lotto.

Salve,

Posso avere il codice per variare la dimensione del lotto per un EA?

Per esempio, per il primo ordine di vendita 0,2, il secondo ordine di vendita 0,1.

Saluti,

SIDDESH

 
Linuxser:
Qualcosa come Gordago o questo

Grazie. Mi piace Gordago per il test della strategia (senza dover effettivamente scrivere un codice). Ho bisogno di pasticciare con i modelli che usa per i miei scopi EA. Mi trovo a fare alcune modifiche su ciò che crea per soddisfare i miei stili di codifica. Ma tutto sommato, sono impressionato.

Pensavo che Gordago fosse un prodotto commerciale? Non vedo quanto costa da nessuna parte.

 

ERR_COMMON_ERROR #2 all'apertura del trade

Ciao a tutti,

Dopo il meraviglioso aiuto dell'altro giorno con i problemi della NewBar che stavo avendo, ho imparato una quantità enorme e ho progredito enormemente con il mio EA di apprendimento che sto programmando. (Principalmente come un esercizio di apprendimento e un sistema molto semplice che voglio testare (senza dubbio non sarà redditizio, ma è un buon esercizio di apprendimento!)

Ho scritto alcuni script, ogni nuova barra, chiude tutti i trade precedenti sulla coppia corrente, poi prende il valore ATR a 20 periodi e inserisce un buy stop e un sell stop per entrare nel mercato quando si muove a metà strada del valore ATR dal mercato aperto. Il Take Profit è quindi impostato al valore ATR (il mio calcolo è che se è andato a metà strada lì, allora potrebbe essere probabile che dal movimento medio del giorno, continuerà a colpire il Take Profit. Probabilmente qui è totalmente sbagliato, ma voglio programmarlo comunque per provare i valori - sul conto demo piuttosto che su Strategy Tester)

Ho programmato tutto e alla fine ho capito come rimuovere le cifre extra dopo il decimale usando NormalizeDouble, ma ora quando l'EA cerca di aprire un buy stop all'inizio della barra ho ERR_COMMON_ERROR o Error #2.

Questo è VERAMENTE inutile. Ho controllato i valori che sta definendo per Open, Take Profit e Stop Loss e questi sembrano tutti ragionevoli e non riesco a capire cos'altro potrebbe essere. E' stata la mia frustrazione per tutta la sera, dato che non c'è più feedback da GetLastError di questo! Per favore aiutatemi.

ATR_Value = iATR(NULL,0,ATR_Period,0); //Get current ATR Value from chart

if (ATR_Value < (ATR_Minimum*Point)) //Check current ATR_Value to ensure it is no less than the ATR_Minimum set

{

Print("Too little range for trading. ATR_Minimum ",(ATR_Minimum*Point)," ATR_Value ",ATR_Value);

return(0);

}

double buyopen,nbuyopen,buysl,nbuysl,buytp,nbuytp,sellopen,nsellopen,sellsl,nsellsl,selltp,nselltp;

buyopen=((iOpen(NULL,0,0))+(ATR_Value*Open_Multiplier)+Open_Offset);

nbuyopen=NormalizeDouble(buyopen,Digits);

buysl=((iOpen(NULL,0,0))+(ATR_Value*SL_Multiplier)+SL_Offset);

nbuysl=NormalizeDouble(buysl,Digits);

buytp=((iOpen(NULL,0,0))+(ATR_Value*TP_Multiplier)+TP_Offset);

nbuytp=NormalizeDouble(buytp,Digits);

sellopen=((iOpen(NULL,0,0))-(ATR_Value*Open_Multiplier)-Open_Offset);

nsellopen=NormalizeDouble(sellopen,Digits);

sellsl=((iOpen(NULL,0,0))-(ATR_Value*SL_Multiplier)-SL_Offset);

nsellsl=NormalizeDouble(sellsl,Digits);

selltp=((iOpen(NULL,0,0))-(ATR_Value*TP_Multiplier)-TP_Offset);

nselltp=NormalizeDouble(sellsl,Digits);

Print("Open:",nbuyopen," TP:",nbuytp," SL:",nbuysl);

int ticketbuy;

ticketbuy=OrderSend(Symbol(),OP_BUYSTOP,Lots,nbuyopen,Max_Slippage,nbuysl,nbuytp,"Buy Order",12345,(Bar_Period-Bar_Offset),Green);

if(ticketbuy<0)

{

Print("Buy Order failed with error #",GetLastError());

return(0);

}

int ticketsell;

ticketsell=OrderSend(Symbol(),OP_SELLSTOP,Lots,nsellopen,Max_Slippage,nsellsl,nselltp,"Buy Order",54321,(Bar_Period-Bar_Offset),Red);

if(ticketsell<0)

{

Print("Buy Order failed with error #",GetLastError());

return(0);

}

Grazie mille per qualsiasi aiuto, ho anche allegato l'mt4 se a qualcuno non dispiace dare un'occhiata. Contiene anche parti di script di altre persone che, mi dispiace non aver accreditato, ma sono stati tutti postati in giro su questo sito. (Naturalmente li accrediterò se mai rilascerò EA, sto postando questo solo per cercare di risolvere questo problema che è stato la mia frustrazione serale).

Howard

File:
atr.mq4  6 kb
Motivazione: