Come codificare? - pagina 188

 

int start()

{

int totale, ord, i;

simbolo della stringa;

totale = OrdiniTotali();

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

{

OrderSelect(i,SELECT_BY_POS);

if(OrderSymbol() = Symbol())ord++;

}

if(ord>0) return (0); //Abort! Una posizione per questa coppia è già aperta

//il resto del codice del mio programma

}

Ho scoperto che in realtà, ho dovuto usare pause di un paio di secondi nel codice a causa di broker che non aprono istantaneamente le posizioni.

 

Voglio aprire 1 POSIZIONE in una direzione ma non di più anche se la posizione colpisce il TP.

Controllare la posizione aperta non funzionerà ovviamente.

Esempio-

Non voglio che venga eseguito un altro 'BUY' se avevo un buy aperto e ha colpito il TP. Voglio che aspetti finché le MA non si incrociano al ribasso e apra una SELL con un TP e ripeta l'intera cosa di nuovo.

Probabilmente c'è un modo semplice per farlo, ma il mio cervello è fritto o qualcosa del genere

GRAZIE

 

Grazie per le informazioni...

SPACECHIMP:
int start()

{

int totale, ord, i;

simbolo della stringa;

totale = OrdiniTotali();

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

{

OrderSelect(i,SELECT_BY_POS);

if(OrderSymbol() = Symbol())ord++;

}

if(ord>0) return (0); //Abort! Una posizione per questa coppia è già aperta

//il resto del codice del mio programma

}

Ho scoperto che in realtà, ho dovuto usare pause di un paio di secondi nel codice a causa dei broker che non aprono istantaneamente le posizioni.

Grazie per aver dedicato il tuo tempo a mostrarmi questo codice! Non credo che i miei screenshot siano stati sufficienti a spiegare la logica di ciò che sto cercando di ottenere. Ecco la spiegazione in witting...e solo come esempio sto usando uno scenario "Buy". Alla fine vorrei che facesse sia "Comprare" che "Vendere"

Scenario 1: Se il tuo trade di acquisto va con te...--Trade 1, T/P a 70 pip

--Trade 2, 30 pip oltre la trade 1, T/P a 70 pip

--Trade 3, 30 pip di distanza dalla trade 2, T/P a 70 pip

** 210 pip in totale

Scenario 2: Se il tuo trade di acquisto va contro di te... metti un trade ogni 60 pip per tre trade e aspetta che il mercato torni nella tua direzione -trade 1 male... inserisci un nuovo trade di acquisto di contingenza a -60 pip dal prezzo del trade 1.

--trade 2 male...inserisci una nuova contingenza di acquisto a -60 pip dal prezzo della trade 2.

--trade 3 male...non inserire altre operazioni

--Aspetta i segni di inversione... puntoparabolico = fondo... se sembra che si stia muovendo nella nostra direzione allora inserisci un 4° acquisto

-attendere altri 30 pip positivi poi inserire il 5° trade di acquisto...continuare a inserire trade di acquisto (6, 7, 8 trade) fino a raggiungere il livello in cui si trovava il 3° trade di contingenza....poi aspettare il primo originale, e seguire i passi dello scenario 1.

È possibile ottenere il codice di questa logica? Lo apprezzerei molto!!!

 
SPACECHIMP:
Voglio aprire 1 POSIZIONE in una direzione ma non di più anche se la posizione colpisce il TP.

Il controllo della posizione aperta non funzionerà ovviamente.

Esempio-

Non voglio che venga eseguito un altro 'BUY' se avevo un buy aperto e ha colpito il TP. Voglio che aspetti fino a quando le MA si incrociano verso il basso e apra un SELL con un TP e ripeta l'intera cosa di nuovo.

Probabilmente c'è un modo semplice per farlo, ma il mio cervello è fritto o qualcosa del genere

GRAZIE

Devi controllare la cronologia degli ordini per vedere se un ordine ha appena chiuso sulla barra corrente per profitto.

Spero che questo aiuti.

Lux

 

RSI filtro pete

Ciao a tutti...

ho provato a creare un semplice ea per questo indy (filtro rsi pete) ma dopo la compilazione, quando lancio un backtest non succede niente

Voglio solo

1-comprare su verde o verde chiaro

2-e vendere sul rosso o sul rosso chiaro

Quindi chiedo a qualche persona gentile di aiutarmi su questo

Grazie in anticipo

 

MM per EA plz

Voglio aggiungere questa condizione al mio EA

se la perdita nel giorno corrente = 100 ---> chiudere la posizione, non prendere alcun PO fino a domani

se la perdita nel giorno corrente può prendere qualsiasi OP

qualcuno può aiutare?

Questo è il mio EA

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

/*

EA Dengan sinyal dari signal ma

*/

extern double Lots = 0.01;

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

//| |

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

int start()

{

double a1, //ma 10 tf 4h

a2, //ma 10 tf 1h

a3, //ma 10 tf 15m

a4, //ma 10 tf 5m

j, //yesterday low price

k, //yesterday high price

b1, //ma 30 tf 4h

b2, //ma 30 tf 1h

b3, //ma 30 tf 15m

b4; //ma 30 tf 5m

int cnt, ticket, total;

if(Bars<100)

{

Print("bars less than 100");

return(0);

}

// to simplify the coding and speed up access

// data are put into internal variables

a1 = iMA(NULL,240,10,0,MODE_EMA,PRICE_CLOSE,0);

a2 = iMA(NULL,60,10,0,MODE_EMA,PRICE_CLOSE,0);

a3 = iMA(NULL,15,10,0,MODE_EMA,PRICE_CLOSE,0);

a4 = iMA(NULL,5,10,0,MODE_EMA,PRICE_CLOSE,0);

b1 = iMA(NULL,240,30,0,MODE_EMA,PRICE_CLOSE,0);

b2 = iMA(NULL,60,30,0,MODE_EMA,PRICE_CLOSE,0);

b3 = iMA(NULL,15,30,0,MODE_EMA,PRICE_CLOSE,0);

b4 = iMA(NULL,5,30,0,MODE_EMA,PRICE_CLOSE,0);

j = iLow(NULL,60,2);

k = iHigh(NULL,60,2);

total=OrdersTotal();

if(total<1)

{

// no opened orders identified

if(AccountFreeMargin()<(1000*Lots))

{

Print("We have no money. Free Margin = ", AccountFreeMargin());

return(0);

}

// check for long position (BUY) possibility

if(a1>b1&&

a2>b2&&

a3>b3&&

a4>b4+10*Point)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"macd sample",16384,0,Green);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());

}

else Print("Error opening BUY order : ",GetLastError());

return(0);

}

// check for short position (SELL) possibility

if(a1<b1&&

a2<b2&&

a3<b3&&

a4<b4-10*Point)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"macd sample",16384,0,Red);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());

}

else Print("Error opening SELL order : ",GetLastError());

return(0);

}

return(0);

}

// it is important to enter the market correctly,

// but it is more important to exit it correctly...

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()<=OP_SELL && // check for opened position

OrderSymbol()==Symbol()) // check for symbol

{

if(OrderType()==OP_BUY) // long position is opened

{

// should it be closed?

if(Bid>OrderOpenPrice()+100*Point)//if profit > 100

{

OrderModify(OrderTicket(),OrderOpenPrice(),j,0,0,Green);

return(0);

}

if(Bid<OrderOpenPrice()-150*Point)//stop loss

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position

return(0); // exit

}

}

else // go to short position

{

// should it be closed?

if(Ask 100

{

OrderModify(OrderTicket(),OrderOpenPrice(),k,0,0,Green);

return(0);

}

if(Ask>OrderOpenPrice()+150*Point)//stop loss

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position

return(0); // exit

}

}

}

}

return(0);

}

// the end.

 

Ciao,

Ho chiesto qualcosa di simile in un altro forum qualche settimana fa. Una specie di CLOSEALL se il saldo = + x importo o -x importo. Non sono un programmatore, ma non sembra essere possibile (?) perché ho ottenuto solo alcune risposte poco chiare.

Non sembra essere così complicato, ma di nuovo, non sono un programmatore.

Buona fortuna,

 

è possibile aprire una finestra popup di trading tramite EA?

Salve, vorrei aprire una finestra popup di trading con l'EA.

Vorrei aprire una finestra popup di trading tramite EA.

È possibile ?

Se è possibile aprirla tramite EA, è possibile aprire una finestra popup di trading sulla quale il numero del volume scambiato (il numero di lotto) è impostato su un numero ordinato dall'EA?

 
Dax:
Salve.

Vorrei aprire una finestra popup di trading tramite EA.

È possibile?

Se è possibile aprirla tramite EA, è possibile aprire una finestra popup di trading sulla quale il numero del volume scambiato (il numero di lotto) è impostato su un numero ordinato dall'EA?

Dovrai farlo con una DLL.

 
Ms_Mel:
Ciao,

Ho chiesto qualcosa di simile in un altro forum qualche settimana fa. Una specie di CLOSEALL se il saldo = + x importo o -x importo. Non sono un programmatore, ma non sembra essere possibile (?) perché ho ottenuto solo alcune risposte poco chiare.

Non sembra essere così complicato, ma di nuovo, non sono un programmatore.

buona fortuna,

Cerca nel forum gli EAs closeall. Ce ne sono alcuni qui

Motivazione: