Acquisto vendita con RSI

Sezione dedicata a metatrader (ed altre piattaforme) ed al suo linguaggio di programmazione per il trading automatico
Avatar utente
vitto
Messaggi: 366
Iscritto il: 26/01/2018, 0:38

Re: Acquisto vendita con RSI

Messaggio da vitto » 17/02/2018, 15:54

vitto ha scritto:
17/02/2018, 15:05
texcs ha scritto:
17/02/2018, 10:14
Quella del trailing stop
OK, adesso comincio a capire perché vuoi la funzione, in effetti è una buona idea, parto con il lavoro
Ecco la funzione estratta e la ritrovi in fondo

Codice: Seleziona tutto

//+------------------------------------------------------------------+
//| Management function                                              |
//+------------------------------------------------------------------+

void OnTrail(int ticket)
{
   // La funzione è VOID perché gestisce internamente gli errori
   // Volendo si possono riportare all'esterno gli errori come codici
   // 0 = Tutto OK
   // 1 = ERROR ... descrizione
   
   if (!OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
   {
      Alert("TRAILING SELECT ERROR ", GetLastError());
      return; 
   }    
   
   if (OrderType() == OP_BUY)
   {                
      if (Bid > (OrderOpenPrice() + trailPip*pip) || OrderStopLoss() > OrderOpenPrice())
      {
         double trailPrice = MathMax(OrderStopLoss(), Bid - trailPip*pip);
            
         if (!OrderModify(OrderTicket(), OrderOpenPrice(), trailPrice, 0, 0, colorBuy))
         {
            Alert("TRAILING BUY ERROR ", GetLastError());
            return; 
         } 
      }

      return;
   }

   if (OrderType() == OP_SELL)
   {
      if (Ask < (OrderOpenPrice() - trailPip*pip) || OrderStopLoss() < OrderOpenPrice())
      {
         double trailPrice = MathMin(OrderStopLoss(), Ask + trailPip*pip);
            
         if (!OrderModify(OrderTicket(), OrderOpenPrice(), trailPrice, 0, 0, colorSell))
         {
            Alert("TRAILING SELL ERROR ", GetLastError());
            return; 
         }
      }
       
      return;
   }      
}

//+------------------------------------------------------------------+
Qui il backtesting, apre correttamente e la serie dei modify è il trailing fino al take finale, pero' al solito aspetto le tue prove e le indicazioni su come procedere
.
ScreenShot_20180217144211.png
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Purtroppo il PROGETTO DI SVILUPPO CONDIVISO non ha avuto successo, di 50 euro in 2 mesi non me ne faccio proprio niente, oltretutto c'è anche chi ha il coraggio di insultarmi e protestare, ADDIO E BUON TRADING

texcs
Messaggi: 116
Iscritto il: 29/05/2014, 23:08

Re: Acquisto vendita con RSI

Messaggio da texcs » 17/02/2018, 18:29

Una domanda....
M sarei aspettato che riceveva in input 2 parametri
1 trail start a quanti pip far partire il trail
2 trail step ogni quanti pip modificare lo stop dp che é partito......invece come funziona?

Avatar utente
vitto
Messaggi: 366
Iscritto il: 26/01/2018, 0:38

Re: Acquisto vendita con RSI

Messaggio da vitto » 17/02/2018, 18:47

texcs ha scritto:
17/02/2018, 18:29
Una domanda....
M sarei aspettato che riceveva in input 2 parametri
1 trail start a quanti pip far partire il trail
2 trail step ogni quanti pip modificare lo stop dp che é partito......invece come funziona?
Esatto, cambiano solo i nomi, sono tra i parametri che imposti, e poi li ritrovi nella funzione OnTrail() visto che nell'mql4 gli input sono automaticamente variabili globali

Codice: Seleziona tutto

input double            trailStart  =  20.0;       // Pip dall'apertura sia per l'attivazione del TS sia come STOP LOSS
input double            trailPip    =  5.0;        // Pip del trailing, ATTENZIONE molti broker mettono un limite MINIMO, di solito 5 pip
Purtroppo il PROGETTO DI SVILUPPO CONDIVISO non ha avuto successo, di 50 euro in 2 mesi non me ne faccio proprio niente, oltretutto c'è anche chi ha il coraggio di insultarmi e protestare, ADDIO E BUON TRADING

texcs
Messaggi: 116
Iscritto il: 29/05/2014, 23:08

Re: Acquisto vendita con RSI

Messaggio da texcs » 21/02/2018, 17:25

Facendo altri test mi sono accorto che saltava segnali quindi leggendo bene ho visto che c'era un errore strutturale e ho e ho modificato le condizioni di apertura ordine ora faccio un paio di test e dopo ti farò sapere;
intanto sto mettendo mano ad altre funzioni continuiamo qua o a priamo un altro post?

Avatar utente
vitto
Messaggi: 366
Iscritto il: 26/01/2018, 0:38

Re: Acquisto vendita con RSI

Messaggio da vitto » 22/02/2018, 13:39

Se l'EA è sempre lo stesso, ci conviene continuare qui, poi pubblicalo incrementando il numero della versione cosi' ci teniamo allineati
Purtroppo il PROGETTO DI SVILUPPO CONDIVISO non ha avuto successo, di 50 euro in 2 mesi non me ne faccio proprio niente, oltretutto c'è anche chi ha il coraggio di insultarmi e protestare, ADDIO E BUON TRADING

texcs
Messaggi: 116
Iscritto il: 29/05/2014, 23:08

Re: Acquisto vendita con RSI

Messaggio da texcs » 22/02/2018, 18:11

Ti ricordi che ti avevo scritto che saltava i segnali ho capito il motivo infatti nella figura vedi che quel numero sotto il nome della valuta è il valore del Rsi che restituisce la funzione che è diverso dal valore dell'indicatore in basso Infatti se vedi il valore dell'indicatore in basso e 51.87 invece valore che restituisce la funzione e 50.3(immagine) come possiamo ovviare a questa discrepanza.
Allego il file con le modifiche che ho apportato
Rsi.JPG
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

texcs
Messaggi: 116
Iscritto il: 29/05/2014, 23:08

Re: Acquisto vendita con RSI

Messaggio da texcs » 23/02/2018, 17:43

Allora dobbiamo fare un'altra modifica vi spiego:
Quando l'ea apre un buy e va in stop non deve continuare ad aprire buy ma ma aspettare la condizione che cambi
( ad esempio da (opens == 0 && rsiCur > RsiLevelBuy) a (opens == 0 && rsiCur < RsiLevelSell) )e aprire un sell;

Al contrario quando apre un sell e poi stop non deve continuare la prima aspettare la condizione che cambi
( ad esempio da (opens == 0 && rsiCur < RsiLevelSell) a (opens == 0 && rsiCur > RsiLevelBuy) ) e aprire un buy

Avatar utente
vitto
Messaggi: 366
Iscritto il: 26/01/2018, 0:38

Re: Acquisto vendita con RSI

Messaggio da vitto » 24/02/2018, 6:13

texcs ha scritto:
23/02/2018, 17:43
Allora dobbiamo fare un'altra modifica vi spiego:
Quando l'ea apre un buy e va in stop non deve continuare ad aprire buy ma ma aspettare la condizione che cambi
( ad esempio da (opens == 0 && rsiCur > RsiLevelBuy) a (opens == 0 && rsiCur < RsiLevelSell) )e aprire un sell;

Al contrario quando apre un sell e poi stop non deve continuare la prima aspettare la condizione che cambi
( ad esempio da (opens == 0 && rsiCur < RsiLevelSell) a (opens == 0 && rsiCur > RsiLevelBuy) ) e aprire un buy
Buongiorno!

Allora Texcs metto la modifica nell'ultima versione che hai allegato alcuni post piu' sopra e numerata 004

Via al lavoro
Purtroppo il PROGETTO DI SVILUPPO CONDIVISO non ha avuto successo, di 50 euro in 2 mesi non me ne faccio proprio niente, oltretutto c'è anche chi ha il coraggio di insultarmi e protestare, ADDIO E BUON TRADING

Avatar utente
vitto
Messaggi: 366
Iscritto il: 26/01/2018, 0:38

Re: Acquisto vendita con RSI

Messaggio da vitto » 24/02/2018, 7:09

texcs ha scritto:
23/02/2018, 17:43
Allora dobbiamo fare un'altra modifica vi spiego:
Quando l'ea apre un buy e va in stop non deve continuare ad aprire buy ma ma aspettare la condizione che cambi
( ad esempio da (opens == 0 && rsiCur > RsiLevelBuy) a (opens == 0 && rsiCur < RsiLevelSell) )e aprire un sell;

Al contrario quando apre un sell e poi stop non deve continuare la prima aspettare la condizione che cambi
( ad esempio da (opens == 0 && rsiCur < RsiLevelSell) a (opens == 0 && rsiCur > RsiLevelBuy) ) e aprire un buy
Eccolo pronto, adesso c'è una funzione LastLoss() alla fine del codice, con tutte le spiegazioni, che viene chiamata all'apertura di un ordine

Io ho solo fatto un veloce controllo che non ci siano errori tecnici, ma adesso Texcs prova bene tu l'EA e vediamo cosa c'è da sistemare
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Purtroppo il PROGETTO DI SVILUPPO CONDIVISO non ha avuto successo, di 50 euro in 2 mesi non me ne faccio proprio niente, oltretutto c'è anche chi ha il coraggio di insultarmi e protestare, ADDIO E BUON TRADING

texcs
Messaggi: 116
Iscritto il: 29/05/2014, 23:08

Re: Acquisto vendita con RSI

Messaggio da texcs » 26/02/2018, 13:49

Ho trovato la combinazione che mi sembra più ottimale della funzione del tocco della media mobile

Codice: Seleziona tutto

int ToucMA(int MovingAvaragePeriod){
   double Ima;   
   Ima = iMA(Symbol(),Period(),MovingAvaragePeriod,0,0,0,0);
	if (Low[1] < Ima && Open[1] > Ima &&  Low[0] > Ima && Open[0] > Ima)
      {
	  return (1);
      }
   if (Low[1] < Ima && Open[1] > Ima &&  Low[0] < Ima && Open[0] < Ima)
      {
      AllertoPerIlRibasso();
      return (0);
      }
      
Vorrei inserirla in modo che dopo che l'rsi da il segnale di vendita si mette in attesa e vende non appena riceve 0 dalla funzione ToucMA per la vendita, al contrario
dopo che l'rsi da il segnale di acquisto si mette in attesa e compra non appena riceve 1 dalla funzione ToucMA per la acquisto; questa fuunzione si deve poter attivare e disattivare
dai paremetri di input.

Chi c’è in linea

Visitano il forum: CC [Bot] e 1 ospite