![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Sto cercando di capire cosa c'è di sbagliato qui. Ho scritto questo piccolo indicatore per cercare di capire perché non riesco a disegnare frecce su ogni singola barra di un grafico. Nessuna buona ragione per farlo.
Ho un altro indicatore su cui sto lavorando che sarà discreto sulla scelta di quale, ho scritto questo per cercare di capire quale sia il maledetto problema.
Disegna una freccia sul fondo della candela solo per le ultime barre. Dovrebbe disegnare una freccia su ogni singola barra del grafico nella parte superiore e inferiore di ogni candela.
E solo i dati di 1 candela appaiono nelle finestre dei dati.
Ho incluso una foto e l'indicatore. qualsiasi aiuto sarebbe apprezzato.
Devi dichiarare i due buffer: #proprietà indicator_buffers 2
Devi dichiarare i due buffer: #proprietà indicator_buffers 2
Wow, non posso credere che mi sia sfuggito.
Ho anche inserito un semplice confronto con un'ima per vedere se posso dire quale. anche questo funziona. ora tutto quello che devo fare è guardare il mio indicatore originale che mi sta dando il problema e confrontare i 2.
Grazie!
Sei sicuro? Hai "compresso" la scala dei prezzi per assicurarti che non sia disegnata fuori dalla finestra corrente?
Avevi ragione. Erano lì, solo un po' spostati. Ho cambiato la formula di dove mettere la freccia e ora appaiono tutti.
MACD stoploss
Voglio fare uno stoploss sul MACD.
Ho questo codice:
double Mach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar);
double vMach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar+1);
double vvMach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar+2);
GlobalVariableSet("mt_Vager1"+Symbol()+Period(),mtr);
GlobalVariableSet("l_Vager1"+Symbol()+Period(),TP_SL_Inc);
se (TotalOrders(Magic_Number)>0){
bool g=falso;
while (!g){
g=true;
per (int kli=OrdersTotal()-1;kli>=0;kli--){OrderSelect(kli,SELECT_BY_POS);
se
(OrderMagicNumber()==Magic_Number && OrderType()==OP_BUY && Mach<vMach && vMach<vMach)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slippage,Pink);
g=falso;
break;
}
se (OrderMag
icNumber()==Magic_Number && OrderType()==OP_SELL && m1>m2 && m11<=m21)
(OrderMagicNumber()==Magic_Number && OrderType()==OP_SELL && Mach>vMach && vMach>vvMach)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),Slippage,Pink);
g=falso;
break;
}
}
}
}
L'apertura funziona ma non l'uscita stoploss.
Grazie per l'aiuto.
Jo
MACD stoploss
Leggi TradeBar
Ho pensato che potrei limitare il numero di avvisi attivati dal trigger usando questo:
if(trigger == 1)
{
int StartWaitingTime = GetTickCount();
if(GetTickCount() - StartWaitingTime > MaxWaiting_sec * 1000)
{
if(ShowAlert == true) {
Alert("Buy...........
Ma non sembra funzionare, per favore aiutatemi a modificarlo in modo che funzioni, grazie!
Avevi ragione. Erano lì, solo un po' spostati. Ho cambiato la formula di dove mettere la freccia. ora appaiono tutti.
Dovete anche resettare avgRange a 0 prima del ciclo.
avgRange = 0;
for (counter=i ;counter<=i+9;counter++)
{
avgRange=avgRange+MathAbs(High[counter]-Low[counter]);
}
Robert
Hai una linea extra in rosso che potrebbe causare un problema.
Robert
Voglio fare lo stoploss sul MACD.
Ho questo codice:
double Mach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar);
double vMach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar+1);
double vvMach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar+2);
GlobalVariableSet("mt_Vager1"+Symbol()+Period(),mtr);
GlobalVariableSet("l_Vager1"+Symbol()+Period(),TP_SL_Inc);
se (TotalOrders(Magic_Number)>0){
bool g=falso;
while (!g){
g=true;
per (int kli=OrdersTotal()-1;kli>=0;kli--){OrderSelect(kli,SELECT_BY_POS);
se
(OrderMagicNumber()==Magic_Number && OrderType()==OP_BUY && Mach<vMach && vMach<vMach)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slippage,Pink);
g=falso;
break;
}
se ( OrderMag
icNumber()==Magic_Number && OrderType()==OP_SELL && m1>m2 && m11<=m21) (OrderMagicNumber()==Magic_Number && OrderType()==OP_SELL && Mach>vMach && vMach>vMach)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),Slippage,Pink);
g=falso;
break;
}
}
}
}
L'apertura funziona ma non l'uscita stoploss.
Grazie per l'aiuto.
JoCiao ragazzi, sto cercando di capire come mettere uno StopLoss... il mio EA è il seguente,
...
Chi è questo CHinGsMAroonCLK?
Se ricordo bene, questo EA non è altro che 10p3 di elCactus, ma forse mi sbaglio...
Controlla il suo thread, probabilmente troverai quello che stai cercando: https://www.mql5.com/en/forum/174975