Come codificare? - pagina 202

 
asgard2:
Ciao,

Non riesco a compilarlo a causa di un errore di parentesi sbilanciate, qualcuno può dirmi perché queste sono sbilanciate?

Grazie

Se stai ricevendo questo errore, allora ti manca uno di [ o { o (

probabilmente da qualche parte nel tuo codice c'è una funzione dove hai messo troppe {[(

Ho controllato una parte del tuo codice e ho trovato alcuni errori. Prova questo:

if ((type == _OP_BUYSTOP) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))//Time Delay for the next Buy Stop Order

{

int hstTotal=OrdersHistoryTotal();

for(i=0;i<hstTotal;i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) == false)

{

Print("Access to history failed ("+GetLastError()+")");

break;

}

else

{

if (OrderDelete() && (((TimeCurrent() - OrderCloseTime())/60) =< NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;

}

}

Inoltre penso che l'ultima parte del tuo codice (OrderDelete) non funzionerà, perché la funzione OrderDelete non controlla nulla - sta cancellando l'ordine selezionato. Quindi devi passargli il parametro con il biglietto dell'ordine. Invece di questo puoi riconoscere gli ordini cancellati controllando i loro commenti. Ogni ordine cancellato avrà "cancellato" nel suo commento - puoi confrontare il risultato della funzione OrderComment() per trovare questo.

 

Qualcuno può aiutarmi?

Salve,

Sto cercando di scrivere un EA e ho bisogno di aiuto per scrivere una formula.

Voglio che la formula calcoli la differenza tra la chiusura della candela precedente (PCC1) e la chiusura della candela due candele indietro (PCC2) (lo farò su più coppie). HoL=(PCC1-PCC2)

Il mio obiettivo è quello di segnalare un acquisto o una vendita;

bool BuySignal=false;

bool SellSignal=falso;

if(HoL>0) BuySignal=true;

if(HoL<0) SellSignal=true;

Grazie per il vostro aiuto con questo.

 

...

Se si desidera utilizzare più simboli da un'istanza di EA che è possibile utilizzare qualcosa come questo :

double HoL=iClose(symbolName,0,1)-iClose(symbolName,0,2);[/php]Or to prevent some back testing surprises, a slightly more complicated code

int symbolShift1 = iBarShift(symbolName,0,Time[1]);

int symbolShift2 = iBarShift(symbolName,0,Time[2]);

double HoL = iClose(symbolName,0,symbolShift1)-iClose(symbolName,0,symbolShift2);

If you are going to use it only on symbol that your EA is attached to than this

[php]

double HoL=Close[1]-Close[2];

è sufficiente

PS:"symbolName" dovrebbe essere impostato su Symbol di tua scelta.

saluti

mladen

ForExTryo:
Ciao,

Sto cercando di scrivere un EA e ho bisogno di aiuto per scrivere una formula.

Voglio che la formula calcoli la differenza tra la chiusura della candela precedente (PCC1) e la chiusura della candela due candele indietro (PCC2) (la eseguirò su più coppie). HoL=(PCC1-PCC2)

Il mio obiettivo è segnalare un acquisto o una vendita;

bool BuySignal=false;

bool SellSignal=falso;

if(HoL>0) BuySignal=true;

if(HoL<0) SellSignal=true;

Grazie per il vostro aiuto con questo.
 
 

Nascondere TP

Sostituire

void OpenBuy()

{

int ticket,err;

if (!GlobalVariableCheck("InTrade")) {

GlobalVariableSet("InTrade", CurTime()); // set lock indicator

ticket = OrderSend(Symbol(),OP_BUY,lot2,Ask,1,0,Ask+TP*Poin t,"Ask-StopLoss*Point,EA Order",magic,0,Red);

GlobalVariableDel("InTrade"); // clear lock indicator

}

}

void OpenSell()

{

int ticket,err;

if (!GlobalVariableCheck("InTrade")) {

GlobalVariableSet("InTrade", CurTime()); // set lock indicator

ticket = OrderSend(Symbol(),OP_SELL,lot2,Bid,1,0,Bid-TP*Point,Bid+StopLoss*Point,"EA Order",magic,0,Red);

GlobalVariableDel("InTrade"); // clear lock indicator

}

}[/CODE]

to

[CODE]void OpenBuy()

{

int ticket,err;

if (!GlobalVariableCheck("InTrade")) {

GlobalVariableSet("InTrade", CurTime()); // set lock indicator

ticket = OrderSend(Symbol(),OP_BUY,lot2,Ask,1,0,0,"Ask-StopLoss*Point,EA Order",magic,0,Red);

GlobalVariableDel("InTrade"); // clear lock indicator

}

}

void OpenSell()

{

int ticket,err;

if (!GlobalVariableCheck("InTrade")) {

GlobalVariableSet("InTrade", CurTime()); // set lock indicator

ticket = OrderSend(Symbol(),OP_SELL,lot2,Bid,1,0,0,"EA Order",magic,0,Red);

GlobalVariableDel("InTrade"); // clear lock indicator

}

}
 

Distanza tra ordini buy stop

Ciao a tutti, sto cercando di implementare una distanza tra un ordine buy stop cancellato e il prossimo ordine buy stop.

Ho scritto questo codice che funziona a meno che l'ultimo ordine non sia qualcos'altro. Non sono sicuro di come selezionare un ordine buystop cancellato dalla cronologia. Se qualcuno potesse indicarmi la giusta direzione lo apprezzerei molto.

grazie

// Tempo di ritardo per il prossimo ordine "Buy Stop" cancellato.

//Time Delay for the next Buy Stop Order

if ((type == _OP_BUY) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))

{

total = OrdersHistoryTotal();

for(e = total - 1; e >= 0; e--)

{

OrderSelect(e, SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol() != Symbol()) continue;

{

if(((TimeCurrent() - OrderOpenTime())/60) < NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;

}

}

}

 
asgard2:
Ciao a tutti,

Penso che sia meglio:

//Time Delay for the next Buy Stop Order

if ((type == _OP_BUY) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))

{

total = OrdersHistoryTotal();

for(e = total - 1; e >= 0; e--)

{

OrderSelect(e, SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol() != Symbol()) continue;

if(((TimeCurrent() - OrderOpenTime())/60) < NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;

break;

}

}
 
Roger09:
Penso che sia meglio:

Ciao Roger,

Sono molto nuovo nella codifica, perché uso il "break" lì? Si interrompe automaticamente quando la dichiarazione è finita?

Inoltre, qualche indizio su come selezionare un ordine cancellato dalla cronologia?

grazie

 

Ci mostri solo un frammento di codice e posso solo indovinare.

Suppongo che inizi a controllare la cronologia dopo che l'ultimo ordine è stato chiuso, quindi hai bisogno di sapere quando è stato chiuso. L'ordine più fresco chiuso è alla fine della storia, quindi non è necessario conoscere un altro e "rompere" il controllo.

Ci sono tonnellate di metodi per trovare l'ordine corretto nella storia, hai il tipo, il numero magico, i commenti ecc.

 

bisogno di un codificatore per un semplice EA

sistema redditizio: min 50 pips -200 pips di profitto per scambio

sistema di 1 ora

utilizzare solo 1 indicatore più ATR (20)

semplice EA con tp/sl/trailing stop

EA coder può aiutare gratuitamente per favore PM con la tua email