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

 

Gente, per favore consigliatemi, sto avendo problemi ad implementare TrailingStop.... (cercando di scrivere un EA)

Sto usando una piattaforma Alpari MT4 con funzione Trailing Stop (cioè posso mettere un Trailing Stop 18 pips). Domanda di chiarimento, è possibile utilizzare la funzionalità della piattaforma quando si apre un ordine (ad esempio mettere programmaticamente un tick TrailingStop)?

 
001:

Sembra funzionare, ma per qualche motivo apre due posizioni opposte.


Quindi sei confuso su qualcosa - questi sono ritagli del mio codice "valanga" - per te con piccole modifiche. Tutto funziona bene per me. Guarda inoltre questo (snippet simile) qui - tutto funziona bene, cerca il tuo errore, va bene... Questa è la versione base di Avalanche - è tutto dettagliato qui - per te (come ne hai bisogno) sono sicuro speciale

Non sarebbe difficile da rifare, c'è un frammento simile...

File:
av02.mq4  17 kb
 
artmedia70:
La logica è semplice come 2x2:
1. Prima si determina che la posa precedente è chiusa sul piede.
2. Poi controllare l'assenza di già aperto la posizione opposta
E poi, dopo aver stabilito che non c'è ancora - si apre (la posizione opposta a quella chiusa su stop).

C'è una piccola omissione qui. Quando la posizione opposta si apre, e poi si chiude allo stop o al take, le condizioni di apertura si verificheranno di nuovo. E ho bisogno di UNA volta.
 

Ho capito bene i dati? Lo chiedo perché non funziona. Non ci sono errori durante la compilazione. Ecco perché penso che ci sia qualcosa di sbagliato nella logica. Controlla.

L'immagine mostra solo due barre anche se ce ne sono di più.

Indicatore FX Fish. Ho bisogno di segnali di acquisto - sulla prima barra l'istogramma è superiore al livello di acquisto e l'istogramma sulla prima barra è superiore al secondo.

on sell - sulla prima barra, l'istogramma è inferiore al livello di vendita e l'istogramma sulla prima barra è inferiore all'istogramma sulla seconda barra

Ho scritto il codice in questo modo

      double fx_fishUp1=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,0,1);
      double fx_fishUp2=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,0,2);
      double fx_fishDn1=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,1,1);
      double fx_fishDn2=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,1,2);
      
      if(fx_fishUp1-UpLevel>0 && fx_fishUp1-fx_fishUp2>0){fx_fUp=true; fx_fDown=false;}
      if(DnLevel-fx_fishDn1<0 && fx_fishDn2-fx_fishDn1<0){fx_fDown=true; fx_fDown=false;}


      if(fx_fUp) res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue);    
        
      if(fx_fDown) res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red);
                 
File:
fxdfish.mq4  5 kb
 
Un'altra domanda. Ho allegato il file FX Fish. ha lo stesso nome nella cartella indicators, ma dopo averlo allegato, è apparso il nuovo nome FXdFish.mq4.
 
Roman.:


Quindi sei confuso su qualcosa - questi sono ritagli del mio codice "valanga" - a te con piccole modifiche. Per me funziona tutto bene. Guarda inoltre questo (snippet simile) qui - tutto funziona bene, cerca il tuo errore, tutto va bene... Questa è la versione base di Avalanche - qui tutto è dettagliato - per te (come hai bisogno) sono sicuro, uno speciale

difficile da rifare, un tale frammento è presente...


Ecco cosa ho ottenuto. Ho rimosso:

1.lots = NormalizeLots(lots); mettere uno 0,1 fisso

2.Ho fissato if (lastType == OP_SELL) OrderSend(Symbol(), OP_BUY, lots,...); poiché sto testando prima i longs.

Questo è tutto.

File:
2.mq4  3 kb
 
001:

Qui c'è una piccola omissione. Quando la posa opposta si apre e poi si chiude allo stop o alla presa, le condizioni per l'apertura si presenteranno di nuovo. E ho bisogno di UNA volta.


Scrivete le condizioni normali di apertura, cosa significa UNA volta - al giorno, al secondo, in generale nei commerci...

Formulare condizioni di apertura NORMALI e scrivere, per esempio - inserire un limite di tempo, diciamo che se un ordine è già stato aperto in un giorno, allora gli ordini successivi non si apriranno - questo è trading una volta al giorno - un limite di tempo per l'EA - già postato in questo thread, usare la ricerca, per esempio formulare il codice qui sotto nella condizione di apertura, cioè se in questo intervallo di tempo è già stato trading, allora gli ordini successivi non si apriranno, ecc... Formulare specificamente ciò di cui avete bisogno, non incomprensibile come "UNA volta", che una volta è una volta nella vita? Formulare condizioni di trading normali, non fottersi il cervello. Per non parlare del sito web - questo thread ha già tutto...

2. Подскажите, пожалуйста, как сделать, чтобы советник прекращал торговать в 21 ч00 мин и потом начинал только в 01 ч00 мин следующего дня. 

int start()
  { 

   if (Hour()>20 && Hour<2) return(0);

.....

  }
 
Roman.:


Scrivete le condizioni normali di apertura, cosa significa UNA volta - al giorno, al secondo, in generale nei commerci...

Formulare condizioni di apertura NORMALI e scrivere, per esempio - inserire un limite di tempo, diciamo che se un ordine è già stato aperto in un giorno, allora gli ordini successivi non si apriranno - questo è il trading una volta al giorno - il limite di tempo per l'EA - già postato in questo thread, usare la ricerca, per esempio formulare il codice qui sotto nella condizione di apertura, cioè se in questo intervallo di tempo era già il trading, allora gli ordini successivi non si apriranno, ecc... Formulare specificamente ciò di cui avete bisogno, non incomprensibile come "UNA volta", che una volta è una volta nella vita? Formulare condizioni di trading normali, non fottersi il cervello. Per non parlare del sito web - questo thread ha già tutto...

001:

Cercando di implementare un semplice flip. Quando si raggiunge una posizione di arresto --> aprire la posizione opposta. Non riesco a fare in modo che apra una volta la posizione opposta e non apra nient'altro. Si prega di avvisare.

Quando una posizione raggiunge uno stop . C'è una posizione, ha una fermata. Quando il prezzo raggiunge lo stop, apri la posizione opposta. Non aprire nient'altro sulla prima posizione.
 
001:
Quando una posizione raggiunge uno stop . C'è una posizione, ha una fermata. Quando il prezzo raggiunge lo stop, apri la posizione opposta. Non aprire nient'altro sulla prima posizione.

Il sito https://www.mql5.com/go?link=http://www.kimiv.ru// ha una funzione che definisce esattamente come un ordine deve essere chiuso da uno stop loss. Cioè, quando collegate questa funzione, dovete prescrivere la condizione se la posizione è chiusa dopo aver raggiunto lo stop loss, se lo è, dovete aprire la posizione opposta e aggiungere la condizione della sua singola apertura nella condizione della vostra posizione di base...
 
C'è una documentazione aggiuntiva sui nomi di tutti gli elementi usati nel programma? Per esempio: case, switch, os, bool, ++, ==, Avendo qualche conoscenza si comincia a inventare una ruota, e poi si scopre che c'è una funzione speciale che risolve questo problema. Come ho capito nel tutorial non tutto, e come cercare qualcosa che non si può nemmeno intuire?