[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 22
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
Salve. Help for Dummies: Ho un EA che può piazzare ordini pendenti sul minimo e massimo della candela precedente. Apertura in direzione della candela.
Il bisogno:
- Per cambiare la direzione di apertura, cioè in attesa di acquisto a - in attesa di vendita.
- Fare min e max della candela precedente invece di min e max del giorno precedente
- Lascia tutto il resto com'è, cioè cancella gli ordini, i parametri dei lotti, gli stop-los, il numero magico
Tutte le mie azioni portano all'errore 130 nel tester o non si compila affatto. Grazie per qualsiasi consiglio.
Qui sotto c'è il codice funzionante, senza il mio intervento.
extern double Lot = 0.01;
extern int StopLoss = 0;
extern int TakeProfit = 0;
extern int Magic = 618;
int Up_bars = 0;
int Down_bars = 0;
double StopLoss_new = 0;
double TakeProfit_new = 0;
//+------------------------------------------------------------------+
//| funzione di inizializzazione esperta |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione esperta |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| funzione di avvio esperto |
//+------------------------------------------------------------------+
int start()
{
//----
for( int cnt=0;cnt<OrdersTotal();cnt++)
{
if (OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES)>0)
{
if (
(OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)
&& OrderMagicNumber() == Magic
&& OrderSymbol() == Symbol()
&& OrderComment() != DoubleToStr(Bars,0)
)
{
Comment("okkk");
OrderDelete(OrderTicket());
}
}
}
StopLoss_new = StopLoss;
TakeProfit_new = TakeProfit;
if (Up_bars != Bars)
{
if (High[1]-Ask >= MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)
{
if (StopLoss_new != 0) StopLoss_new = NormalizeDouble(High[1]-StopLoss*Point,Digits);
if (TakeProfit_new != 0) TakeProfit_new = NormalizeDouble(High[1]+TakeProfit*Point,Digits);
if (OrderSend(Symbol(),OP_BUYSTOP,Lot,NormalizeDouble(High[1],Digits),10,StopLoss_new,TakeProfit_new,DoubleToStr(Bars,0),Magic,0,Green) < 0)
{
Sleep(1000);
RefreshRates();
}
else
{
Up_bars = Bars;
}
}
}
StopLoss_new = StopLoss;
TakeProfit_new = TakeProfit;
if (Down_bars != Bars)
{
if (Bid-Low[1] >= MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)
{
if (StopLoss_new != 0) StopLoss_new = NormalizeDouble(Low[1]+StopLoss*Point,Digits);
if (TakeProfit_new != 0) TakeProfit_new = NormalizeDouble(Low[1]-TakeProfit*Point,Digits);
if (OrderSend(Symbol(),OP_SELLSTOP,Lot,NormalizeDouble(Low[1],Digits),10,StopLoss_new,TakeProfit_new,DoubleToStr(Bars,0),Magic,0,Green) < 0)
{
Sleep(1000);
RefreshRates();
}
else
{
Down_bars = Bars;
}
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
Salve. Aiuta uno scemo a capire questo:
Capitan Ovvietà... eppure qualcuno mi dia un suggerimento.
Ti darò un suggerimento: metti questa espressione in parole. E vedrai che l'hai messa male.
PS.
Se è così ovvio per voi dove cercare un errore, allora perché chiedere?
Se errore 130. Riconsiderare la fermata e l'asporto.
aiuto per favore, l'ordine dovrebbe chiudere a 4 volte la distanza da high a orderopenprice
Dove ho sbagliato?
tutti gli ordini chiudono entro 3 pip dall'apertura
Hai provato a calcolare il risultato della tua formula? Se no, allora fallo, perché sto ricevendo delle stronzate. Forse è perché non conosco tutte le condizioni.
Solo un errore - non so come risolverlo. Dov'è il problema?
'Symbol' - inizializzazione prevista C:\Program Files\MetaTrader Finam\experts\1.mq4 (8, 13)
Simbolo - inizializzazione prevista C:\ProgrammiMetaTrader Finam\experts1.mq4 (8, 13)
alex12, specifica qualcosa di specifico, come
Solo un errore - non so come risolverlo. Dov'è il problema?
'Symbol' - inizializzazione prevista C:\Program Files\MetaTrader Finam\experts\1.mq4 (8, 13)
Simbolo - inizializzazione prevista C:\ProgrammiMetaTrader Finam\experts1.mq4 (8, 13)
Lei ha:
È necessario:
Infatti, potete fare doppio clic sul messaggio di errore e il cursore andrà alla posizione specificata (a proposito) dove si è verificato l'errore di compilazione, cioè qui: (8, 13)Dopo di che, verranno lanciati altri errori... :)
Spostare la linea precedente all'inizio della funzione start()
Questo è un inizio - poi occupatevi degli altri errori...
Ciao a tutti.
Ragazzi, abbiamo bisogno di aiuto. Descrivere la situazione.
il prezzo attuale è 1,4100 (per esempio) ho bisogno di trovare una barra la cui apertura sarà entro (più o meno 10 pt da 1,4100) da 1,4090 a 1,4110 - questo va bene.
Per esempio il programma ha trovato la barra con l'apertura a 1,4105 che mi corrisponde.
Poi il programma dovrebbe confrontare questa barra con la barra alla sua sinistra e alla sua destra e se è più bassa, sarà adatta.
Artem, il trucco qui è che c'è una linea come questa sotto:
Quindi il modo che hai suggerito non ha molto senso - se ho capito bene quello che vuole alex12.