Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
A CodersGuru : bisogno di aiuto su 10 punti 3 EA....
Ciao CodersGuru,
Sono nuovo nel commercio del forex e nuovo anche in questo forum. La prima volta che sto imparando è EuroX2_sl, esteso da 10 punti 3 EA script. Dopo aver fatto alcuni test in avanti, questo EA ha aperto bene la posizione, ma non ha chiuso bene la posizione come ho bisogno di fare quando il mercato si inverte. 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 BUY quando esiste la condizione dell'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
OrderType()<=OP_BUY &&
OrderType()>=OP_SELL &&
TipoOrdine()>=OP_BUY &&
OrderSymbol()==Symbol()) // controllare il simbolo
{
//+--------------------------------------------------------------
if(OrderType()==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+Point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
}
--------------------------------------------------------------
Grazie,
fxgroup
Leggere i dati da un'altra finestra della coppia di valute
Il mio EA è sulla finestra "GBPJPY", ma ho bisogno di trovare ObjectDescription() da un'altra finestra, diciamo "USDJPY". (Sfortunatamente, è un indicatore Pivot che non restituisce valori da iCustom())
Qualcuno conosce il modo di fare riferimento a un'altra finestra di coppia (non corrente) per poter utilizzare funzioni come ObjectDescription() su di essa?
O MQ4 non lo permette?
Grazie
euro
Come posso isolare i profitti di una valuta dalle altre?
color color_of_pipsprofit;
color_of_pipsprofit = White;
int m,totalbuy;
totalbuy=OrdersTotal();
for(m=0;m<totalbuy;m++)
OrderSelect(m, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == Reference)
{
pips_profit=OrderProfit();
}
if(pips_profit >= 0)
{
color_of_pipsprofit = Lime;
}
else {color_of_pipsprofit = Red;
}
int n,totalsell;
totalsell=OrdersTotal();
for(n=0;n<totalsell;n++)
OrderSelect(n, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == Reference)
{
pips=OrderProfit();
}
if(pips_profit >= 0)
{
color_of_pipsprofit = Lime;
}
else {color_of_pipsprofit = Red;
}
ObjectCreate("pips_profit", OBJ_LABEL, 0, 0, 0);
ObjectSetText("pips_profit",DoubleToStr(pips_profit,2),14, "Verdana", color_of_pipsprofit);
ObjectSet("pips_profit", OBJPROP_CORNER, 3);
ObjectSet("pips_profit", OBJPROP_XDISTANCE, 35);
ObjectSet("pips_profit", OBJPROP_YDISTANCE, 20);
}Ho creato questo codice, ma non riesco a isolare i profitti di una valuta dalle altre valute scambiate. Cosa mi manca nel mio codice?
Si prega di rivedere. Grazie per il vostro aiuto!
Dave
Profitto
Prova questo codice:
{
int total = OrdersTotal();
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNumber)
{
Print(Profit(OrderType(),OrderSymbol(),OrderOpenPrice());
}
}
return(0);
}
double Profit(int type, string currency, double open)
{
if(type==OP_BUY) return((MarketInfo(currency,MODE_BID) - open) / MarketInfo(currency,MODE_POINT) ); //case buy
if(type ==OP_SELL) return((open - MarketInfo(currency,MODE_ASK)) / MarketInfo(currency,MODE_POINT)); //case buy
return(-1);
}[/php]
[php]
color color_of_pipsprofit;
color_of_pipsprofit = White;
int m,totalbuy;
totalbuy=OrdersTotal();
for(m=0;m<totalbuy;m++)
OrderSelect(m, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == Reference)
{
pips_profit=OrderProfit();
}
if(pips_profit >= 0)
{
color_of_pipsprofit = Lime;
}
else {color_of_pipsprofit = Red;
}
int n,totalsell;
totalsell=OrdersTotal();
for(n=0;n<totalsell;n++)
OrderSelect(n, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == Reference)
{
pips=OrderProfit();
}
if(pips_profit >= 0)
{
color_of_pipsprofit = Lime;
}
else {color_of_pipsprofit = Red;
}
ObjectCreate("pips_profit", OBJ_LABEL, 0, 0, 0);
ObjectSetText("pips_profit",DoubleToStr(pips_profit,2),14, "Verdana", color_of_pipsprofit);
ObjectSet("pips_profit", OBJPROP_CORNER, 3);
ObjectSet("pips_profit", OBJPROP_XDISTANCE, 35);
ObjectSet("pips_profit", OBJPROP_YDISTANCE, 20);
}I created this coding, but I cannot isolate the profits of one currency from other currencies being traded. What am I lacking in my code??
Please review. Thanks for your help!
DaveProva questo codice:
{
int total = OrdersTotal();
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNumber)
{
Print(Profit(OrderType(),OrderSymbol(),OrderOpenPrice());
}
}
return(0);
}
double Profit(int type, string currency, double open)
{
if(type==OP_BUY) return((MarketInfo(currency,MODE_BID) - open) / MarketInfo(currency,MODE_POINT) ); //case buy
if(type ==OP_SELL) return((open - MarketInfo(currency,MODE_ASK)) / MarketInfo(currency,MODE_POINT)); //case buy
return(-1);
}Ciao Coder,
Questo non era esattamente ciò di cui ho bisogno. Sto allegando un'immagine del grafico per illustrare ciò che sto cercando. Puoi modificare il codice per visualizzare il Profitto? Se è così, posso far cambiare i colori all'importo del profitto. Sto solo cercando il profitto per ogni specifica valuta.
indicatore allegato
Ciao Codersguru
desidero che l'indicatore allegato mostri l'apertura a mezzanotte gmt, e non il tempo del server dei broker, è possibile?
molte grazie monty
Aiuto con il codice
Puoi passare attraverso il codice? Sto ottenendo un valore errato (vedi sotto "Account") e poi viene popolato correttamente ma non sono sicuro del perché.
int Account = 123456;
if (Account != AccountNumber())
{
Comment("Non è possibile utilizzare questo programma con questo account");
return (0);
}
else
{
Comment("Benvenuto nel programma");
}
Domanda semplice
L'expert advisor funzionerà normalmente senza le funzioni init() e deinit()?
L'expert advisor funzionerà normalmente senza le funzioni init() e deinit()?
Si,
è necessaria solo la funzione start.
Kalenzo,
Ho una domanda:
HEDGING:
Sto cercando:
se (OrderOpenPrice() = = Bid (o Ask)
Ilprezzo 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),...
}