Ci siamo! Ecco che arrivano altre funzioni interessanti! Per esempio, restituisce la distanza in pip tra il mercato e la posizione più vicina. La selezione più accurata delle posizioni da controllare è impostata da parametri esterni:
sy - Nome dello strumento. Se questo parametro è impostato, la funzione controllerà solo le posizioni dello strumento specificato. Il "" o NULL significa il simbolo corrente.
op - operazione commerciale, tipo di posizione. Valori validi: OP_BUY, OP_SELL o -1. Il valore predefinito -1 significa qualsiasi posizione.
mn - Identificatore di posizione (MagicNumber). Il valore predefinito di -1 significa qualsiasi MagicNumber.
satop:
La funzione DistMarketAndPos().
Ci siamo! Andiamo a funzioni più interessanti! Per esempio, restituisce la distanza, in punti, tra il mercato e la posizione più vicina. La selezione più accurata delle posizioni da controllare è impostata da parametri esterni:
sy - Nome dello strumento. Se questo parametro è impostato, la funzione controllerà solo le posizioni dello strumento specificato. Il "" o NULL significa il simbolo corrente.
op - operazione commerciale, tipo di posizione. Valori validi: OP_BUY, OP_SELL o -1. Il valore predefinito -1 significa qualsiasi posizione.
mn - Identificatore di posizione (MagicNumber). Il valore predefinito -1 significa qualsiasi MagicNumber.
Cerco di farlo funzionare avanti e indietro e di aprire ordini avanti e indietro. Ho un errore, aiutatemi a risolverlo.
Stocercando di farlo funzionare avanti e indietro e di aprire ordini avanti e indietro con esso. Ho un bug che non riesco a eliminare, per favore aiutatemi a risolverlo.
externint TakeProfit = 150;
externdouble Lot = 0.01;
externint MAGIC=1234;
//=====================================================================int start()
{
if (DistMarketAndPos(NULL,OP_BUY)>150)
{
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,Ask+TakeProfit*Point);
}
if (DistMarketAndPos(NULL,OP_SELL)>150)
{
OrderSend(Symbol(),OP_SELL,Lot,Ask,3,0,Ask-TakeProfit*Point);
}
return(0);
}
//======================================================================== //+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает расстояние в пунктах между рынком и ближайшей |//| позицей |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" или NULL - текущий символ) |//| op - торговая операция ( -1 - любая позиция) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+int DistMarketAndPos(string sy="", int op=-1, int mn=-1) {
double d, p;
int i, k=OrdersTotal(), r=1000000;
if (sy=="" || sy=="0") sy=Symbol();
p=MarketInfo(sy, MODE_POINT);
if (p==0) if (StringFind(sy, "JPY")<0) p=0.0001; else p=0.01;
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if ((OrderSymbol()==sy) && (op<0 || OrderType()==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
if (OrderType()==OP_BUY) {
d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p;
if (r>d) r=NormalizeDouble(d, 0);
}
if (OrderType()==OP_SELL) {
d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p;
if (r>d) r=NormalizeDouble(d, 0);
}
}
}
}
}
return(r);
}
Qualcuno può spiegare perché si dovrebbero postare funzioni che non funzionano?
'LevelWLoss' - identificatore non dichiarato 'LevelProfit' - identificatore non dichiarato 'ModifyOrder' - funzione non definita 'LevelWLoss' - identificatore non dichiarato 'LevelProfit' - identificatore non dichiarato 'ModifyOrder' - funzione non definita 6 errore/i, 0 avviso/i
Qualcuno può spiegare perché si dovrebbero postare funzioni che non funzionano?
'LevelWLoss' - identificatore non dichiarato 'LevelProfit' - identificatore non dichiarato 'ModifyOrder' - funzione non definita 'LevelWLoss' - identificatore non dichiarato 'LevelProfit' - identificatore non dichiarato 'ModifyOrder' - funzione non definita 6 errore/i, 0 avviso/i
e questo è dentro la funzione stessa
La funzione funziona, ma chiama la funzione ModifyOrder, che dovrebbe essere aggiunta al codice EA e anche aggiungere all'EA le variabili LevelWLoss e LevelProfit, qualcosa come questo
Grazie mille per questo thread del forum. Il più grande ringraziamento a lurii Tokman per le caratteristiche. Personalmente, sono quasi pronto a equipararlo a Stroustrup. Grazie!
Questa funzione restituisce la somma dei lotti di posizioni aperte. Una selezione più accurata delle posizioni da prendere in considerazione è specificata da parametri esterni:
sy - Nome dello strumento di mercato. Se questo parametro è impostato, la funzione considererà solo le posizioni del simbolo specificato. Il valore predefinito "" significa qualsiasi strumento di mercato. NULL significa lo strumento corrente.
op - operazione commerciale, tipo di posizione. Valori validi: OP_BUY, OP_SELL o -1. Il valore predefinito -1 significa qualsiasi posizione.
mn - Identificatore di posizione, MagicNumber. Il valore predefinito -1 significa qualsiasi identificatore.
Non ritorna!!!
non importa come lo faccio, o zero o " funzione di gestione degli eventi non trovata 4.mq4 1 1 "
Grazie mille per questo thread del forum. Il più grande ringraziamento a lurii Tokman per le caratteristiche. Personalmente, sono quasi pronto a equipararlo a Stroustrup. Grazie!
Non dimenticate di ringraziare anche l'autore delle caratteristiche.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Funzione DistMarketAndPos().
Ci siamo! Ecco che arrivano altre funzioni interessanti! Per esempio, restituisce la distanza in pip tra il mercato e la posizione più vicina. La selezione più accurata delle posizioni da controllare è impostata da parametri esterni:
La funzione DistMarketAndPos().
Ci siamo! Andiamo a funzioni più interessanti! Per esempio, restituisce la distanza, in punti, tra il mercato e la posizione più vicina. La selezione più accurata delle posizioni da controllare è impostata da parametri esterni:
Cerco di farlo funzionare avanti e indietro e di aprire ordini avanti e indietro. Ho un errore, aiutatemi a risolverlo.
extern int TakeProfit = 150;
extern double Lot = 0,01;
extern inttern MAGIC = 1234;
int start()
{
se (DistMarketAndPos()>150)
{
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,Ask+TakeProfit*Point)
}
ritorno(0);
}
intMarketAndPos(stringa sy="", int op=OP_BUY, int mn=-1)
{
doppia d, p;
int i, k=OrdersTotal(), r=1000000;
if (sy=="" || sy=="0") sy=Symbol();
p=MarketInfo(sy, MODE_POINT);
if (p==0) if (StringFind(sy, "")<0) p=0,00001; altrimenti p=0,01;
per (i=0; i<k; i++)
{
se(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
se ((OrderSymbol()==sy) && (op<0 || OrderType()==op))
{
se (mn<0 || OrderMagicNumber()==mn)
{
se (OrderType()==OP_BUY)
{
d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p;
se (r>d) r=NormalizeDouble(d, 0);
}
se (OrderType()==OP_SELL)
{
d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p;
se (r>d) r=NormalizeDouble(d, 0);
}
}
}
}
}
//----------------------------------------------------------------------------------------------------------------------------------------------
se (DistMarketAndPos()>150)
{
OrderSend(Symbol(),OP_SELL,Lot,Ask,3,0,Ask-TakeProfit*Point);
}
ritorno(0);
{
intMarketAndPos(string sy="", int op=OP_SELL, int mn=-1) //questa linea dà 1 errore,
//se questa linea viene rimossa,
//compila, ma poi
//non metto op=OP_SELL,
//e senza di esso, l'Expert Advisor penserà,
//che l'ordine da cui volete calcolare
/la distanza è OP_BUY
if (sy=="" || sy=="0") sy=Symbol();
p=MarketInfo(sy, MODE_POINT);
if (p==0) if (StringFind(sy, "")<0) p=0,00001; altrimenti p=0,01;
per (i=0; i<k; i++)
{
se (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
se ((OrderSymbol()==sy) && (op<0 || OrderType()==op))
{
se (mn<0 || OrderMagicNumber()==mn)
{
se (OrderType()==OP_BUY)
{
d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p;
se (r>d) r=NormalizeDouble(d, 0);
}
se (OrderType()==OP_SELL)
{
d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p;
se (r>d) r=NormalizeDouble(d, 0);
}
}
}
}
}
ritorno(r);
ritorno(r);
}
}
//-------------------------------------------------------------------------------------------
GRAZIE
Stocercando di farlo funzionare avanti e indietro e di aprire ordini avanti e indietro con esso. Ho un bug che non riesco a eliminare, per favore aiutatemi a risolverlo.
GRAZIE
Dovresti provarlo:
E con le domande qui...
Funzione MovingInWL().
Qualcuno può spiegare perché si dovrebbero postare funzioni che non funzionano?
'LevelWLoss' - identificatore non dichiarato
'LevelProfit' - identificatore non dichiarato
'ModifyOrder' - funzione non definita
'LevelWLoss' - identificatore non dichiarato
'LevelProfit' - identificatore non dichiarato
'ModifyOrder' - funzione non definita
6 errore/i, 0 avviso/i
e questo all'interno della funzione stessa
Qualcuno può spiegare perché si dovrebbero postare funzioni che non funzionano?
'LevelWLoss' - identificatore non dichiarato
'LevelProfit' - identificatore non dichiarato
'ModifyOrder' - funzione non definita
'LevelWLoss' - identificatore non dichiarato
'LevelProfit' - identificatore non dichiarato
'ModifyOrder' - funzione non definita
6 errore/i, 0 avviso/i
e questo è dentro la funzione stessa
La funzione funziona, ma chiama la funzione ModifyOrder, che dovrebbe essere aggiunta al codice EA e anche aggiungere all'EA le variabili LevelWLoss e LevelProfit, qualcosa come questo
extern int LevelProfit = 1000;
extern int LevelWLoss = 50;
Grazie mille per questo thread del forum. Il più grande ringraziamento a lurii Tokman per le caratteristiche. Personalmente, sono quasi pronto a equipararlo a Stroustrup.
Grazie!
La funzione GetAmountLotFromOpenPos().
Questa funzione restituisce la somma dei lotti di posizioni aperte. Una selezione più accurata delle posizioni da prendere in considerazione è specificata da parametri esterni:
Non ritorna!!!
non importa come lo faccio, o zero o " funzione di gestione degli eventi non trovata 4.mq4 1 1
"
Grazie mille per questo thread del forum. Il più grande ringraziamento a lurii Tokman per le caratteristiche. Personalmente, sono quasi pronto a equipararlo a Stroustrup.
Grazie!