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
MT4 - Errore #130 con Ordersend()
Salve, sto cercando di generare un ordine usando OrderSend() in MT4 ma continuo a ricevere l'errore #130. Ho capito che l'errore #130 si riferisce ai livelli di stop-loss o take-profit impostati troppo vicini al prezzo corrente di mercato. Li ho variati senza successo. Ho usato sia valori relativi che effettivi.
1. Utilizzando i valori di take profit e stop loss relativi per un acquisto:
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-50*Point,Ask+50*Point, "Long Breakout",16384,0,Green);
2.Utilizzando i valori effettivi per Stoploss e TakeProfit per un acquisto:
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss,TakeProfit, "Long Breakout ",16384,0,Green);
dove:
double StopLoss = NormalizeDouble(StopLoss, Digits);
double TakeProfit = NormalizeDouble(TakeProfit, Digits);
e questi valori sono impostati come valori esterni (es. extern double StopLoss=1.5000, extern double=TakeProfit=1.6000)
Il mio broker è FXCM. Ho provato a moltiplicare i valori di StoplLoss e TakeProfit per 10. Ottengo lo stesso risultato per tutte le coppie di valute.
In ogni caso ottengo l'errore #130. Qualche idea?
Saluti
Quando si imposta il take profit per una posizione di acquisto. Il TP è
Al contrario di Ask+...
Chris
Scusate, sì, colpa mia nel digitare. Tuttavia, il problema persiste temo
Prova a mettere un commento o una stampa appena prima della funzione ordersend per stampare i livelli di stoploss e takeprofit. Inoltre, assicurati che lo stoploss/tp sia superiore alla distanza minima.
Mettilo prima dell'invio dell'ordine:
if(StopLoss!=0 && StopLoss<(MarketInfo(Symbol(),MODE_STOPLEVEL)))
{
StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL);
}
if(TakeProfit!=0 && TakeProfit<(MarketInfo(Symbol(),MODE_STOPLEVEL)))
{
TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL);
}
Chris
Ciao, sto cercando di generare un ordine usando OrderSend() in MT4 ma continuo a ricevere l'errore #130. Ho capito che l'errore #130 si riferisce ai livelli di stop-loss o take-profit impostati troppo vicini al prezzo corrente di mercato. Li ho variati senza successo. Ho usato sia valori relativi che effettivi.
1. Utilizzando i valori di take profit e stop loss relativi per un acquisto:
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-50*Point,Ask+50*Point, "Long Breakout",16384,0,Green);
2.Utilizzando i valori effettivi per Stoploss e TakeProfit per un acquisto:
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss,TakeProfit, "Long Breakout ",16384,0,Green);
dove:
double StopLoss = NormalizeDouble(StopLoss, Digits);
double TakeProfit = NormalizeDouble(TakeProfit, Digits);
e questi valori sono impostati come valori esterni (es. extern double StopLoss=1.5000, extern double=TakeProfit=1.6000)
Il mio broker è FXCM. Ho provato a moltiplicare i valori di StoplLoss e TakeProfit per 10. Ottengo lo stesso risultato per tutte le coppie di valute.
In ogni caso ottengo l'errore #130. Qualche idea?
SaluteFXCM con 5 cifre... o stai usando FXCM da quale paese?
Grazie per le vostre risposte. Sì, ho usato le istruzioni di stampa per controllare i valori di Stop Loss e Take Profit. Sembrava tutto a posto sulla stampa.
Sto usando FXCM nel Regno Unito. Le valute non Yen hanno 5 cifre dopo il decimale (es. GBPUSD: 1.55125). Le croci in yen hanno tre cifre (es. GBPJPY: 132.393). Ho pensato che in questo caso i valori dovrebbero essere moltiplicati per 10.
Saluti
Ho pensato che in questo caso i valori dovrebbero essere moltiplicati per 10. Grazie
Hai qualcosa del genere nella funzione init?
{
Factor = 10;
StopLoss *= 10;
TakeProfit *= 10;
MaxSpread *= 10;
Slippage *=10;
}No, nell'istruzione OrderSend() moltiplico semplicemente i valori Take Profit e StopLoss per 10. Puoi elaborare un po' di più sull'uso di questi valori? Molte grazie
Sono solo le variabili esterne moltiplicate per dieci. Li aggiusti per includere le tue variabili. Ma fai solo le variabili che differiscono sui broker a pip frazionari come Stoploss.
Ciò significa che se lo stoploss è inserito come 20 pip nella lista di input, verrà automaticamente regolato a 200 se il broker è frazionario.