[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 287
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
2011.03.30 08:40:21 USDCAD,M1: 3 4 4.00000000 ask=0.9729 bid=0.9725
funziona così
funziona così!
Grazie!
In generale, è il momento per gli sviluppatori di MT di creare una sezione nella documentazione e spiegare in dettaglio il problema e la necessità di usare la normalizzazione.
C'è solo un modesto esempio senza enfasi nella documentazione per questa situazione:
Sezione "Approccio al tipo" https://docs.mql4.com/ru/basis/types/casting
A FoxUA.
Quando l'ordine 3 (Sell) viene chiuso, l'ordine 1 (Buy) ancora semaforizza che è stato chiuso su Stop Loss e così vengono piazzati 2 ordini in fila, perché Total=1.
cioè cerco una soluzione a questo problema, cioè cosa sostituire il totale 1 per sbarazzarsi di tale effetto
Puoi dirmi se lo script può aprire ordini non solo nella finestra del grafico a cui è collegato, ma anche su altre coppie di valute, se è opportunamente prescritto su quali altre coppie di valute è necessario aprire?
forse
forse
//--------------------------------------------------------------------
extern double TakeProfit = 1000;
extern double Lots = 0.01;
extern double StopLoss = 500.0;
extern int MagNum = 1974;
int slip = 100;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
//::::Открытие и выставление ордеров
OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("GBPUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("USDJPY",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
OrderSend("USDCHF",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
return (0);
}
ma questa opzione, funzionerà o no?
OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits)," CleverEA",MagNum,0,Green);
ma questa opzione, funzionerà o no?
No, quello che avete evidenziato sarà restituito dallo strumento corrente. Offerte, richieste, cifre e così via dovrebbero essere richieste con MarketInfo specificando esplicitamente lo strumento
//--------------------------------------------------------------------
extern double TakeProfit = 1000;
extern double Lots = 0.01;
extern double StopLoss = 500.0;
extern int MagNum = 1974;
int slip = 100;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
//::::Открытие и выставление ордеров
OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("GBPUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("USDJPY",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
OrderSend("USDCHF",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
return (0);
}
Ma questa opzione funzionerà o no?
Non lo farà. Devi usare la funzione MarketInfo https://docs.mql4.com/ru/common/MarketInfo.
ci sono esempi del tuo problema nella pagina