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
Un po' di aiuto per favore con un EA
Sto cercando di chiudere un ordine di vendita e aprire un nuovo ordine di acquisto. L'acquisto si apre ma la vendita dà errore 4051
Sto usando
ticket = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Gold);// chiude la posizione
e
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);
Come cambiare il numero magico?
Ciao a tutti,
Uso il difference EA (copia da un EA di origine) per scambiare coppie di differenza nella finestra del grafico di differenza e vorrei cambiare il numero magico ma non so come funziona il numero magico? Potreste per favore dirmi:
1. Come funziona il numero magico?
2. Come cambiare il numero magico?
3. Posso prendere qualsiasi numero per cambiare il numero magico o DEVO usare qualche numero in alcune regole?
4. Potreste darmi un esempio per cambiare il numero magico al numero magico del mio EA: 16763?
Grazie mille per il tuo aiuto!
Il numero magico non è altro che un identificatore unico. Distingue ogni istanza dello stesso EA e allo stesso tempo lo distingue da qualsiasi altro EA che potresti avere in esecuzione.
Se il numero magico è una variabile esterna, cambialo con qualsiasi numero tu voglia. Assicurati solo che non sia lo stesso numero di qualsiasi altro EA in esecuzione.
Se non è una variabile esterna, allora cerca nel codice la variabile e cambiala con qualsiasi numero tu voglia.
Spero che questo aiuti.
Lux
Il numero magico non è altro che un identificatore unico. Esso distingue ogni istanza dello stesso EA e lo distingue anche da qualsiasi altro EA che si può avere in esecuzione.
Se il numero magico è una variabile esterna, cambialo con qualsiasi numero tu voglia. Assicuratevi solo che non sia lo stesso numero di qualsiasi altro EA che avete in esecuzione.
Se non è una variabile esterna allora cerca nel codice la variabile e cambiala con qualsiasi numero tu voglia.
Spero che questo ti aiuti.
LuxCiao Lux,
Vuoi dire che posso cambiare il numero magico del mio EA:16763 in 16764 ; 16765 ect... ?
Grazie per la tua rapida risposta.
Luu
Ciao Lux,
Vuoi dire che posso cambiare il numero magico del mio EA: 16763 in 16764 ; 16765 ect... ?
Grazie per la tua rapida risposta.
LuuEsattamente! Finché il numero è unico, non importa quale numero scegli.
Non hai davvero bisogno di cambiarlo a meno che tu non abbia una ragione specifica per farlo.
Lux
Esattamente! Finché il numero è unico, non importa quale numero scegli.
Non hai davvero bisogno di cambiarlo a meno che tu non abbia una ragione specifica per farlo.
LuxGrazie mille per il tuo aiuto Lux!
Luu
Problemi con gli ordini di chiusura EA
Amici, ho un EA con un indicatore di resistenza di supporto, l'EA deve completare gli ordini sull'obiettivo di profitto, ma a volte manca, come posso sbarazzarmi di questo problema, per favore aiutatemi.
Si prega di aiutare con un semplice script generico.
Ciao
Qualcuno può aiutarmi per favore con un semplice script.
Ecco di cosa ho bisogno.
Script molto generico che può essere usato su qualsiasi simbolo che metterà 3-4 ordini per SELL_STOP e BUY_STOP
Diciamo che voglio mettere un buy_stop 20 punti sopra il prezzo corrente, secondo ordine 40 punti sopra il prezzo corrente, 3d 80 punti e così via.
Stessa cosa per il Sell_Stop
Ho cercato di assemblare lo script basandomi su alcuni esempi, ma dato che non ho familiarità con il linguaggio C sto avendo qualche problema.
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""// improved.mq4
int start()
{
int ticket,i;
int cnt=1;
int Dist_SL =10; // Preset SL (pt)
int Dist_TP =100; // TP preimpostato (pt)
string Symb=Symbol(); // Symbol
RefreshRates();
double bid =MarketInfo(Symb,MODE_BID);
double ask =MarketInfo(Symb,MODE_ASK);
double point =MarketInfo(Symb,MODE_POINT);
int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);
if (Dist_TP < Min_Dist) // Se è inferiore al consentito
{
Dist_TP=Min_Dist; // Imposta il consentito
Alert(" Aumentata la distanza di TakeP = ",Dist_TP," pt");
}
//-------------------------------------------------------------------- 6 --
Alert("La richiesta è stata inviata al server. In attesa di risposta...");
for(i=100;i<400;i=i+100)
{
double TP=(ask+i*Point) + Dist_TP*Point; // Prezzo richiesto del TP
ticket=OrderSend(Symb,OP_BUYSTOP,0.1,ask+i*Point,1,(ask+i*Point)-Dist_SL*Point,TP);
Sleep(500);
int Error=GetLastError(); // Fallito
switch(Error) // Errori superabili
{
case 130:Alert("The SL is wrong. Retrying...");
RefreshRates(); // Aggiorna i dati
if (Dist_SL < Min_Dist) // Se è inferiore al consentito
{
Dist_SL=Min_Dist; // Imposta il consentito
Alert(" Aumentata la distanza di SL = ",Dist_SL," pt");
}
i=i-50;
Alert (i);
Alert (Dist_SL);
cnt=cnt+1;
Allarme (cnt);
se (cnt==3)break;
continua; // Alla prossima iterazione
caso 135:Alert("Il prezzo è cambiato. Riprova...");
RefreshRates(); // Aggiorna i dati
continua; // Alla prossima iterazione
caso 136:Alert("Nessun prezzo. In attesa di un nuovo tick...");
while(RefreshRates()==false) // Fino a un nuovo tick
Sleep(1); // Ritardo del ciclo
continue; // Alla prossima iterazione
caso 146:Alert("Trading subsystem is busy. Retrying...");
Sleep(500); // Soluzione semplice
RefreshRates(); // Aggiorna i dati
continue; // Alla prossima iterazione
}
switch(Error) // Errori critici
{
caso 2 : Alert("Errore comune");
break; // Esci dallo 'switch'.
caso 5 : Alert("Versione obsoleta del terminale client;)
break; // Esci da 'switch'
caso 64: Alert("L'account è bloccato");
break; // Esci da 'switch'
caso 133:Alert("Trading vietato");
break; // Esci da 'switch'
default: Alert("Si è verificato un errore ",Error); // Altre alternative
}
//break;
}
//-------------------------------------------------------------------------- 9 --
Alert ("Lo script ha completato le sue operazioni ---------------------------");
return; // Esci da start()
}
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
In un certo senso funziona, ma molte volte ho problemi con lo stop loss.
Ecco la mia idea: se possiamo cambiare il serpente con il tasso di sr gaussiano all'interno dell'indicatore
indicatore ssrc potrebbe pagare i dividendi che cosa ne pensi? così invece di essere
l'ssrc sarebbe l'unico lato gaussiano sr rate spearmen rank correlation
"osgsrspc" lol .(ho provato a codificarlo ma è andato oltre la mia testa)
ssrc_bar.mq4
ssrc.mq4
os_gaussian_sr_rate.mq4
Nuova domanda: 5° decimale e gestione del denaro
In un altro forum che frequento e che è per i clienti di un particolare EA, un cliente si lamentava del fatto che lo sviluppatore dell'EA non aveva ancora risolto il problema del 5° decimale / prezzo frazionario per il loro EA.
Lo sviluppatore sosteneva diversi mesi fa che questo problema richiedeva uno scripting speciale per risolverlo. Ora, 4 mesi dopo, ho praticamente detto che era ridicolo che non fosse stato ancora risolto - e ho sostenuto che richiedeva solo poche righe di codice per ridefinire "Punto" in modo simile al metodo descritto qui.
Quindi ecco che arriva la domanda. Lo sviluppatore insiste ancora che questo problema è super complicato e richiede una speciale programmazione di script per risolverlo. Ecco la spiegazione dello sviluppatore:
Quindi la mia domanda è questa: Qualcuno di voi programmatori esperti ha incontrato questo complicato requisito di scripting o problemi con il valore di "Punto" della piattaforma MT4?
Anche se si assume che "Point" sia limitato a 4 decimali, allora questo significherebbe che ci si deve preoccupare solo delle coppie con Point = 0.001 ---- che richiede ancora solo una o due righe di codice.
Oppure, potreste usare "Digits" invece di "Point" - che richiede ancora solo poche righe di codice.
O si potrebbe semplicemente usare una variabile booleana come "UseFractionalPips = true;" per ridefinire "Point".
Ho la sensazione che lo sviluppatore stia rendendo il problema più complicato di quanto non sia (o forse per altri motivi). Semplicemente non ho mai letto o sentito di questo problema con "Point" che è limitato a soli 4 decimali - e anche se lo fosse si potrebbe usare "Digits" o altri metodi per ridefinire il punto senza qualche script speciale.
Sto programmando in MT4 solo da 18 mesi, quindi ho pensato di rimandare a qualche programmatore più esperto quanto sia complicato il "fix" per trattare con i prezzi in pip frazionari in MT4.
Qualche pensiero?
Grazie in anticipo per il vostro aiuto,
-B