Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 173
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
Incontro ogni giorno molta più espressione e negatività in questa comunità, e nessuno reagisce.
Comunque, questa è la fine della domanda.
Se volete creare la vostra tastiera e i vostri controlli (CHART_MOUSE_SCROLL, CHART_KEYBOARD_CONTROL ...), dovete disabilitarlo.
Ma non è possibile.
La velocità di Ma una tale interfaccia sarà del BE è significativamente più alta di quella di base, poiché non è possibile utilizzare funzioni asincrone Il molto INIBITO ChartGetInteger
Grazie mille ancora, Nikolai. Ho provato a convertire il tuo CanvasBar.mq5 in mt4, ho aggiunto alcune opzioni di input relative a larghezze / colori / ... (così può essere usato per esempio "per simulare lo stile candela di ninjatrader")
Ciao, ho un indicatore standard di iEnvelopes!
Non riesco a farlo funzionare come mi serve!
Cioè, la necessità di quando la candela ha toccato o attraversato la linea sulla candela corrente UP, poi ha aperto BUY, e la candela ha toccato o attraversato la linea sulla candela corrente DOWN, poi ha aperto SELL..... ed è successo una volta (il segnale-hit e tutto, un altro segnale-hit e tutto costantemente)!
Per favore, aiutatemi!
Ciao, c'è un indicatore standard iEnvelopes!
Non riesco a farlo funzionare come vorrei!
Cioè, la necessità di quando la candela ha toccato o attraversato la linea sulla candela corrente UP, poi ha aperto BUY, e la candela ha toccato o attraversato la linea sulla candela corrente DOWN, poi ha aperto SELL..... ed è successo una volta (il segnale-hit e tutto, un altro segnale-hit e tutto costantemente)!
Per favore, aiutatemi!
Devo aggiungere la comprensione del processo al codice :-)
Finché la candela non si è chiusa, High[0] può solo salire, Low[0] solo scendere, mentre le buste decompilate si comportano come vogliono :-)
Se la busta non è presa dai prezzi aperti, non si può guardare una barra non chiusa.
devi aggiungere la comprensione del processo al codice :-)
Fino alla chiusura della candela, High[0] può solo salire, Low[0] solo scendere, mentre le buste della decompilazione si comportano come vogliono :-)
Se la busta non viene presa dai prezzi aperti, non si può guardare la barra non chiusa.
Aiutatemi a capire come calcolare il MA su un array.
Costruisco il MA in base a open-close, ma dal grafico sembra che sia calcolato da destra a sinistra.
Ho usatoiMAOnArray eSimpleMAOnBuffer come strumenti, c'è un'opzione migliore?
Ciao!!! Uso questo codice per tradurre un link in un commento, ma sistematicamente una volta al giorno mi dà un errore: web error 5203 (ERR_WEBREQUEST_REQUEST_FAILED. Errore nel risultato della richiesta HTTP)
C'è un modo per risolvere il problema?
Potete dirmi per favore come fare i coefficienti di ponderazione per i segnali?
Per esempio, ho tre segnali per scala: crossover, confronto1 (barra precedente contro barra precedente) e confronto 2 (barra precedente contro barra precedente su un TF superiore).
Provo a farlo con l'esempio di MAKD build in MT, ma non apre gli accordi. Non c'è niente nel registro. Cioè la base standard dell'EA non è stata toccata, solo la logica di apertura delle posizioni è stata cambiata. Quindi la tripletta è la base del MAKD-advisor (normale) di MT
Basta non giurare per il codice nubiano, non sono un programmatore
...
Вводимые параметры
input double TradeLevel_BUY = 1;
input double TradeLevel_SELL = -1;
input double w_S_MA_1 = 1;
input double w_S_MA_2 = 1;
input double w_S_MA_3 = 1;
input double w_S_MA_4 = 1;
input double w_S_MA_5 = 1;
input double w_S_MA_6 = 1;
...
----------------
...
void OnTick(void)
{
double MA_Fast_1,
MA_Fast_2,
MA_Slow_1,
MA_Slow_2,
MA_Fast_LargeTF_1,
MA_Fast_LargeTF_2,
MA_Slow_LargeTF_1,
MA_Slow_LargeTF_2;
double S_MA_1,
S_MA_2,
S_MA_3,
...
MA_Slow_LargeTF_2=iMA(NULL,0,MA_Slow_LargeTF_2_Period,MA_Slow_LargeTF_2_Shift,MODE_EMA,PRICE_CLOSE,2);
...
double Sum;
if (MA_Fast_1>MA_Slow_1)
{
S_MA_1=1*w_S_MA_1;
}
else
{
S_MA_1=0;
}
return;
if (MA_Fast_1>MA_Fast_2)
{
S_MA_2=1*w_S_MA_2;
}
else
{
S_MA_2=0;
}
return;
if (Open[1]<MA_Fast_LargeTF_1 && Close[1]>MA_Fast_LargeTF_1 || Open[1]>MA_Fast_LargeTF_1 && Close[1]>MA_Fast_LargeTF_1)
{
S_MA_3=1*w_S_MA_3;
}
else
{
S_MA_3=0;
}
return;
...
if (MA_Fast_1<MA_Slow_1)
{
S_MA_4=-1*w_S_MA_4;
}
else
{
S_MA_4=0;
}
return;
if (MA_Fast_1<MA_Fast_2)
{
S_MA_5=-1*w_S_MA_5;
}
else
{
S_MA_5=0;
}
return;
if (Open[1]>MA_Fast_LargeTF_1 && Close[1]<MA_Fast_LargeTF_1 || Open[1]<MA_Fast_LargeTF_1 && Close[1]<MA_Fast_LargeTF_1)
{
S_MA_6=-1*w_S_MA_6;
}
else
{
S_MA_6=0;
}
return;
Sum=S_MA_1+S_MA_2+S_MA_3+S_MA_4+S_MA_5+S_MA_6;
...
if(Sum>TradeLevel_BUY)
{
ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Ask-SL*Point,Bid+TP*Point,"Optim",16384,0,Blue);
...
if(Sum<=TradeLevel_SELL)
{
ticket=OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Bid+SL*Point,Ask-TP*Point,"Optim",16384,0,Red);
if(ticket>0)
Buon pomeriggio, come posso implementare correttamente questa funzione (penso che capirete cosa voglio fare)?
Ciao. Ho bisogno di aiuto con winApi user32.dll.
C'è una Chart nel profilo. Ho bisogno di uno script per aprire altri due Chatr. Tutti e tre i grafici (era uno e ha aperto altri due) per fare la dimensione specificata nel posto stabilito.
Non importa come ci provo - tutto senza fortuna.
Questo script cambia la dimensione e la posizione del grafico su cui lancio.
//+------------------------------------------------------------------+ //| posicion.mq4 | //| Copyright 2017, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2017, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #property script_show_inputs #import "user32.dll" int SetWindowPos(int hWnd,int hWndInsertAfter,int X,int Y,int cx,int cy,int uFlags); int GetParent(int hWnd); int GetTopWindow(int hWnd); int GetWindow(int hWnd,int wCmd); int GetWindowDC(int h); int ShowWindow(int hWnd,int nCmdShow); #import #define GW_HWNDNEXT 0x0002 #define SWP_NOSIZE 0x0001 #define SWP_NOMOVE 0x0002 #define SWP_NOZORDER 0x0004 #define SW_RESTORE 9 #define SWP_FRAMECHANGED 0x0020 int gr2x1_P1 [] = {PERIOD_H4,PERIOD_D1,PERIOD_W1}; // Period of grafic 1 of 2x1 int CXShift2x1[] = {0,0,1040}; // Horizontal shift of grafic 1 of 2x1 int CYShift2x1[] = {0,268,0}; // Vertical shift of grafic 1 of 2x1 int CXSize2x1 [] = {1040,1040,880}; // Width of grafic 1 of 2x1 int CYSize2x1 [] = {500,500,1000}; // Height of grafic 1 of 2x1 input int xy = 0;//xy 0-2 //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { int i,handle; int parent; handle=(int)ChartGetInteger(0,CHART_WINDOW_HANDLE);Print("ChartGetInteger(0,CHART_WINDOW_HANDLE) ",handle); //возвращает дескриптор 2688738 parent=GetParent(handle);Print("parent_0 ",parent); //возвращает дескриптор 197188 ShowWindow(parent,SW_RESTORE); i=xy; SetWindowPos(parent,0,CXShift2x1[i],CYShift2x1[i],CXSize2x1[i],CYSize2x1[i],0); //Sleep(5000); } //+------------------------------------------------------------------+ Открыть Новые дополнительные Chart-ы Но как дальше изменить размер дополнительных Chart-ов, ни как не получается.