Come codificare? - pagina 343

 
techmac:
Gli stop loss e i take profit nascosti sono rischiosi. Se l'EA non funziona, niente può chiudere il tuo EA - e gli EA possono essere fermati dal lato del broker

Caro techmac,

puoi spiegare meglio, perché l'EA non funziona, se gli EA non saranno controllati e testati decine di volte prima di applicarli sul live in generale o al VPS...........(niente può chiudere il tuo EA) non ho capito cosa intendi? ....(e gli EA possono essere fermati dal lato broker).... per quali altri motivi il broker può fermarlo quando l'EA viene applicato con il permesso/accordo del broker. se intendi a causa di alcuni parametri nascosti?

saluti

 
mladen:
Si. Quando il campo stop loss dell'ordine è impostato su un certo valore (allora quella linea viene visualizzata) e quando è responsabilità del broker eseguire lo stop loss al prezzo desiderato (a differenza dello stop loss "soft" "nascosto", quando è il tuo EA che deve chiudere l'ordine)

Carissimo MLADEN,

grazie, così gentile da parte tua, capire esattamente, come funziona in realtà.

c'è qualche modo e possibilità che il nostro EA cerchi di eseguire TP/SL in caso di sl/tp nascosto in qualche punto/livello e qualche attività nascosta (codificata nel software del broker che gestisce le attività di trading dei clienti, permette o nega l'ulteriore elaborazione) dal lato del broker glielo impedisce?

lol, quindi in questo caso, chi è più affidabile, efficace e responsabile EA o broker ... ....as per la reputazione dei broker ora un giorno ... soft wares e non sentimenti umani attrezzature sono più sinceri e leali. .

saluti

 
mntiwana:
Carissimo MLADEN,

Grazie, così gentile da capire esattamente come funziona in realtà.

lol, quindi in questo caso, chi è più affidabile, efficace e responsabile EA o broker... ....as per la reputazione dei broker ora un giorno... soft wares e attrezzature sentimenti non umani sono più sinceri e leali. .

saluti

Il fatto è il seguente:

Nel caso di SNB, se le persone usavano stop loss"nascosti" "soft", non avevano alcun motivo per essere rimborsati di nulla (dato che non avevano riempito il campo stop loss, il broker non aveva alcun obbligo di fare qualcosa con quegli ordini). Mentre quelli che hanno riempito quel campo, hanno anche avuto qualche motivo di reclamo - non che abbiano riavuto tutto indietro, ma almeno hanno potuto fare qualcosa

 
mladen:
Il fatto è il seguente: nel caso di SNB, se le persone usavano stop loss "nascosti" "soft", non avevano alcun motivo per essere rimborsati di nulla (dato che non riempivano il campo stop loss, il broker non aveva alcun obbligo di fare qualcosa con quegli ordini). Mentre quelli che avevano quel campo riempito, avevano anche qualche motivo per un reclamo - non che abbiano riavuto tutto indietro, ma almeno potevano fare qualcosa

Carissimo MLADEN,

ancora grazie per il tuo occhio esperto sulle cose.... quindi tutto sommato ....traders perdita è confermare, a causa di qualsiasi e solo un po 'di ragione quando il guadagno è dubbio in ogni caso....le cose vanno in questo modo, ora un giorno. è normale.

Una domanda capo, quando il prezzo del mercato cade o sale così velocemente come la velocità della luce.... c'è qualche possibilità che tutti i nostri loss breakers (BE, SL e trailing stop) possano essere ignorati/rifiutati/passati attraverso .... o....che funzionino efficacemente con tutti i mezzi in ogni circostanza.

saluti

 
mntiwana:
Carissimo MLADEN,

Ancora grazie per il tuo occhio esperto sulle cose.... quindi tutto sommato ....traders perdita è confermare, a causa di qualsiasi e solo un po 'di ragione quando il guadagno è dubbio in ogni caso....le cose vanno in questo modo, ora un giorno. è normale.

Una domanda capo, quando il prezzo di mercato cade o sale così velocemente come la velocità della luce.... c'è qualche possibilità che tutti i nostri loss breakers (BE, SL e trailing stop) possano essere ignorati/rifiutati/passati attraverso .... o....che funzionino efficacemente con tutti i mezzi in ogni circostanza.

saluti

mntiwana

Non dovrebbe accadere, ma in ogni caso, leggete il contratto che avete con il broker. Le specifiche su cose del genere devono essere indicate nel contratto

 

Qual è il modo più semplice per controllare l' incrocio di due valori?

 
apprentice coder:
Qual è il modo più semplice per controllare l'incrocio di due valori?

Dipende dai valori che stai confrontando. Puoi fare un esempio specifico?

 
mladen:
Dipende dai valori che stai confrontando. Puoi fare un esempio specifico?

Per esempio: incrocio di due medie

 

Ciao, sto avendo alcuni problemi con il mio EA e mi sembra di aver trovato un vicolo cieco. Apprezzerei se qualcuno potesse aiutarmi con questo problema. Sto cercando di far sì che il mio EA attivi solo 1 trade al giorno. Fondamentalmente questo è un EA di breakout che aprirà un trade una volta che la candela esce da una certa quantità di pip. Tuttavia, non riesco a fare in modo che l'EA attivi solo 1 trade al giorno.

Attualmente il mio EA farà scattare un altro trade sulla stessa candela di nuovo se le condizioni sono soddisfatte di nuovo dopo che il mio trade ha già TP o SL.

Apprezzo se qualcuno può aiutarmi con questo problema. Grazie.

Di seguito la mia programmazione.

Saluti

//---- parametri di ingresso

extern double TakeProfit = 1000.0;

extern double Lots = 0.1;

extern double StopLoss = 980.0;

extern int Entry_Hour_1st = 21;

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

//| funzione di inizializzazione dell'esperto |

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

int init()

{

//----

//----

return(0);

}

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

//| funzione di deinizializzazione esperto |

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

int deinit()

{

//----

//----

return(0);

}

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

//| funzione di avvio esperto |

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

int start()

{

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

//-- Commercio di innesco

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

int biglietto, totale

doppio TP_Valore, SL_Valore;

total = OrdersTotal(); // controlla il numero totale di trade attualmente aperti

se(totale < 1)

{

if (Hour()==Entry_Hour_1st && ((High[0] - High[1]) > 0.00100) && ((High[1] - Low[1]) > 0.00100))

{

se ((Close[1] - Open[1]) > 0,00100)

{

TP_Value = (Close[1] - Open[1]); // valore del corpo lungo

SL_Value = (Low[1] - 0.0010); // sempre lo stesso per i long

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

se ((Apertura[1] - Chiusura[1]) > 0,00100)

{

TP_Value = (Apertura[1] - Chiusura[1]); // valore del corpo short

SL_Value = (Low[1] - 0.0010); // sempre lo stesso per long

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

se ((Open[1] - Close[1]) <= 0,00100)

{

TP_Value = (High[1] - Low[1]); // valore dell'intera candela incluso testa e coda

SL_Value = (Low[1] - 0.0010); // sempre lo stesso per long

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

}

if (Hour()==Entry_Hour_1st && ((Low[1] - Low[0]) > 0,00100) && ((High[1] - Low[1]) > 0,00100))

{

//-------------------------------------------------------//

//-------- se H7 long candle body più di 10pips --------//

//-------------------------------------------------------//

se ((Close[1] - Open[1]) > 0,00100)

{

TP_Value = (Close[1] - Open[1]); // valore del corpo lungo

SL_Value = (High[1] + 0.0010); // sempre lo stesso per short

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

se ((Open[1] - Close[1]) > 0,00100)

{

TP_Value = (Apertura[1] - Chiusura[1]); // valore del corpo short

SL_Value = (High[1] + 0.0010); // sempre lo stesso per lo short

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

se ((Open[1] - Close[1]) <= 0,00100)

{

TP_Value = (High[1] - Low[1]); // valore dell'intera candela incluso testa e coda

SL_Value = (High[1] + 0.0010); // sempre lo stesso per lo short

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

}

}

return(0);

}

}

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

 
tkuan77:
Ciao, sto avendo alcuni problemi con il mio EA e mi sembra di aver trovato un vicolo cieco. Apprezzerei se qualcuno potesse aiutarmi con questo problema. Sto cercando di far sì che il mio EA attivi solo 1 trade al giorno. Fondamentalmente questo è un EA di breakout che aprirà un trade una volta che la candela rompe per una certa quantità di pip. Tuttavia, non riesco a fare in modo che l'EA attivi solo 1 trade al giorno.

Attualmente il mio EA attiverà di nuovo un altro trade sulla stessa candela se le condizioni sono soddisfatte di nuovo dopo che il mio trade ha già TP o SL.

Apprezzo se qualcuno può aiutarmi con questo problema. Grazie.

Di seguito la mia programmazione.

Saluti

//---- parametri di ingresso

extern double TakeProfit = 1000.0;

extern double Lots = 0.1;

extern double StopLoss = 980.0;

extern int Entry_Hour_1st = 21;

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

//| funzione di inizializzazione dell'esperto |

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

int init()

{

//----

//----

return(0);

}

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

//| funzione di deinizializzazione esperto |

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

int deinit()

{

//----

//----

return(0);

}

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

//| funzione di avvio esperto |

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

int start()

{

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

//-- Commercio di innesco

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

int biglietto, totale

doppio TP_Valore, SL_Valore;

total = OrdersTotal(); // controlla il numero totale di trade attualmente aperti

se(totale < 1)

{

if (Hour()==Entry_Hour_1st && ((High[0] - High[1]) > 0.00100) && ((High[1] - Low[1]) > 0.00100))

{

se ((Close[1] - Open[1]) > 0,00100)

{

TP_Value = (Close[1] - Open[1]); // valore del corpo lungo

SL_Value = (Low[1] - 0.0010); // sempre lo stesso per i long

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

se ((Apertura[1] - Chiusura[1]) > 0,00100)

{

TP_Value = (Apertura[1] - Chiusura[1]); // valore del corpo short

SL_Value = (Low[1] - 0.0010); // sempre lo stesso per long

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

se ((Open[1] - Close[1]) <= 0,00100)

{

TP_Value = (High[1] - Low[1]); // valore dell'intera candela incluso testa e coda

SL_Value = (Low[1] - 0.0010); // sempre lo stesso per long

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

}

if (Hour()==Entry_Hour_1st && ((Low[1] - Low[0]) > 0,00100) && ((High[1] - Low[1]) > 0,00100))

{

//-------------------------------------------------------//

//-------- se H7 long candle body più di 10pips --------//

//-------------------------------------------------------//

se ((Close[1] - Open[1]) > 0,00100)

{

TP_Value = (Close[1] - Open[1]); // valore del corpo lungo

SL_Value = (High[1] + 0.0010); // sempre lo stesso per short

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

se ((Open[1] - Close[1]) > 0,00100)

{

TP_Value = (Apertura[1] - Chiusura[1]); // valore del corpo short

SL_Value = (High[1] + 0.0010); // sempre lo stesso per lo short

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

se ((Open[1] - Close[1]) <= 0,00100)

{

TP_Value = (High[1] - Low[1]); // valore dell'intera candela incluso testa e coda

SL_Value = (High[1] + 0.0010); // sempre lo stesso per lo short

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

}

}

return(0);

}

}

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

tkuan77

Devi trovare l'ultima barra chiusa e vedere se il giorno dell'ultima barra chiusa è lo stesso del giorno corrente.

Puoi usare qualcosa come questa funzione per ottenere l'ora dell'ultimo ordine chiuso:

datetime GetLastClosedOrderTime()

{

datetime CloseTime = 0;

for(int i=OrdersHistoryTotal()-1;i>=0;i--)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))

if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber && OrderCloseTime()>CloseTime)

CloseTime = OrderCloseTime();

}

return(CloseTime);

}

E poi puoi controllare se la data è la stessa

Motivazione: