Chiedete! - pagina 78

 
Kalenzo:
Sì, è necessaria solo la funzione di avvio.

Grazie per la tua risposta Kalenzo.

 
Bongo:
Kalenzo,

Ho una domanda:

HEDGING:

Sto cercando:

se (OrderOpenPrice() = = Bid (o Ask)

Il prezzo aperto deve essere uguale al nuovo prezzo.

Faccio hedging con la stessa coppia EURUSD.

Se il prezzo aperto è vendere e il prezzo è 1,3580,

il prezzo di acquisto deve essere lo stesso.

Grazie. Ecco i codici.

B.

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

if(Buy==0)

{

RefreshRates();

OrderSend(Symbol_1,OP_BUY,lotsi,MarketInfo(Symbol_ 1,MODE_ASK),...

RefreshRates();

se (OrderOpenPrice() == Bid)

{

OrderSend(Symbol_1,OP_SELL,lotsi,MarketInfo(Symbol _1,MODE_BID),...

}

Questo dovrebbe funzionare, tuttavia, sarà difficile da fare con l'ordine di mercato, provare a impostare gli ordini pendenti su livelli specificati.

 

Non funziona.

EA sta solo comprando.

Se tolgo

se (OrderOpenPrice() == Bid)

dopo sta comprando e vendendo

ma non allo stesso prezzo, la differenza è lo spread.

 

protezione del codice

Voglio sapere perché la funzione 'NumeroConto()' non restituisce il

valore corretto o qualsiasi valore per uno o due secondi.

int Account = 123456;

if (Account != AccountNumber())

{

Comment("Non puoi usare questo programma con questo account");

return (0);

}

else

{

Comment("Benvenuto nel programma");

}

Grazie

 

int Account = 123456; //change this to yor acc number

if (Account != AccountNumber())

{

Comment("You can not use this program with this account");

return (0);

}

else

{

Comment("Welcome to Program");

}

 

Sì, lo farà. Se non hai bisogno di eseguire alcun codice la prima volta che attacchi l'EA (init) o lo stacchi (deinit).

n7drazen:
L'expert advisor funzionerà normalmente senza le funzioni init() e deinit()?
 

Cosa intendi?

RBK1959:
Voglio sapere perché la funzione 'AccountNumber()' non restituisce il

valore corretto o qualsiasi valore per un secondo o due.

int Account = 123456;

if (Account != AccountNumber())

{

Comment("Non è possibile utilizzare questo programma con questo account");

return (0);

}

else

{

Comment("Benvenuto nel programma");

}

Grazie
 

Lag

Quando metto la protezione con il numero di macchina giusto, prima dice che il programma non è valido con questo numero, poi qualche secondo dopo si attiva e dice che è valido.

Grazie

Rich

 

A CodersGuru : Bisogno di aiuto per chiudere posizione...

A CodersGuru : Ho bisogno di aiuto per chiudere la posizione.... ( 2° messaggio )

Ciao CodersGuru,

Questo è il secondo post che ti chiedo e forse sei abbastanza occupato in questo momento.

Quindi scusa se ti disturbo per la seconda volta. La prima volta, sto imparando è EuroX2_sl, esteso da 10 punti 3 EA script. Dopo aver fatto alcuni test in avanti, questo EA ha aperto la posizione, ma non ha chiuso la posizione come ho bisogno di fare quando il mercato si inverte (dopo aver impostato l'indicatore). Forse c'è qualcosa di sbagliato nel codice (perché non sono un programmatore) e credo di aver bisogno del vostro aiuto per risolverlo. Potreste controllare quale parte potrebbe essere sbagliata?

La condizione è:

1. APRIRE ACQUISTO quando esiste la condizione di indicatore. cioè: stocastico

2. CLOSE BUY quando esiste l'indicatore OPEN SELL. cioè: stocastico

3. APRIRE VENDITA quando esiste la condizione dell'indicatore (n. 2 sopra). cioè: stocastico

4. CLOSE SELL come condizione dell'indicatore (n. 1 sopra) esiste. cioè: stocastico

Penso che la posizione OPEN sia ok ma il problema è con la POSIZIONE CLOSE in quanto non ha chiuso (BUY o SELL) anche quando l'indicatore esiste.

Il codice che ho fatto è :

-------- parte dello script da EuroX2_sl esteso da 10 punti 3 come penso per chiudere la posizione -------

// è importante entrare a mercato correttamente,

// ma è ancora più importante uscirne correttamente...

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

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()<=OP_SELL && // controlla la posizione aperta

OrderSymbol()==Symbol()) // controlla il simbolo

{

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

se(TipoOrdine()==OP_BUY) // la posizione lunga è aperta

{

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

//+ CONDIZIONE DI CHIUSURA DELLA POSIZIONE

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

//+--------------- CHIUDERE POSIZIONE BUY ----------------------------

if ( Stoch_Main_M15_Cu < Stoch_Sig_M15_Cu )

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

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet) ; // chiudere la posizione

return(0); // uscire

}

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

//controllare il trailing stop

se(TrailingStop>0)

{

if(Bid-OrderOpenPrice()>Point*TrailingStop)

{

if(OrderStopLoss()<Bid-Point*TrailingStop)

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);

return(0);

}

}

}

}

//+---------------CLOSE VENDERE LA POSIZIONE --------------------------------

else // vai alla posizione short

{ //+ NON RIMUOVERE

if(OrderType()==OP_SELL) // la posizione short è aperta

{

}

// deve essere chiusa?

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

if ( Stoch_Main_M15_Cu > Stoch_Sig_M15_Cu )

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

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet) ; // chiudere la posizione

return(0); // uscire

}

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

//controllare il trailing stop

se(TrailingStop>0)

{

if((OrderOpenPrice()-Ask)>(Point*TrailingStop))

{

se((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Poi nt*TrailingStop,OrderTakeProfit(),0,Red);

return(0);

}

}

}

}

}

}

--------------------------------------------------------------

Grazie,

fxgroup

 

Lag

codersguru:
Cosa vuoi dire?

Codersguru, il codice che ci hai dato per la protezione. Ho usato il tuo codice esattamente nella tua pagina. Quello che succede è "non puoi usare questo programma con questo account" viene fuori per alcuni secondi prima di "Benvenuto nel programma" quando il numero di account giusto è nel codice.

Grazie

Rich