Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1072

 
jarikn:
Grazie, ci darò un'occhiata.

E grazie, mi hai ricordato un vecchio sistema che funzionava nel profitto. Devo prenderne nota a mio piacimento e testarlo nel mercato attuale.

 
jarikn:
Ciao a tutti. Sono nuovo nella programmazione.
Ho scritto un semplice Expert Advisor e ora ho bisogno di aggiungervi la seguente condizione.
Se uno stop loss viene attivato da un ordine di acquisto, allora apriamo un ordine di vendita.
Per favore aiutatemi con questo codice

Altre opzioni:

1. Quando aprite Buy, mettete l'ordine SellStop al livello dello stop loss dell'ordine Buy. Allora il tuo desiderio sarà soddisfatto dal server. Ma in situazioni eccezionalmente rare ma precise e non :-)

2. Non mettere affatto lo Stop Loss, e mettere il SellStop di volume doppio. Anche questo sarà elaborato dal server rapidamente. Alla fine della giornata o quando il margine è esaurito, è necessario eseguire un UnLock, che chiude reciprocamente gli ordini opposti (CloseBy).

Tuttavia, c'è un'altra sfumatura: gli ordini stop (e anche gli stop loss) potrebbero non funzionare. E questo accade abbastanza spesso.
Cioè, in un robot "da combattimento", dobbiamo ancora ricontrollare.
Общие принципы - Торговые операции - Справка по MetaTrader 5
Общие принципы - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Перед тем как приступить к изучению торговых функций платформы, необходимо создать четкое представление об основных терминах: ордер, сделка и позиция. — это распоряжение брокерской компании купить или продать финансовый инструмент. Различают два основных типа ордеров: рыночный и отложенный. Помимо них существуют специальные ордера Тейк Профит...
 
Vladimir Simakov:

Scrive che non si può inizializzare un'entità wchar_t con un valore const char*

Se non lo capite, purtroppo, non avete le basi della lingua. È troppo presto per scrivere una dll, specialmente per un linguaggio così specifico come mql. Iniziare con le basi.

Non so cosa vi consigliano di fare. Non ci sarà mai un buon momento per questo momento di apprendimento delle biblioteche, né ora né mai.

 
Maxim Kuznetsov:

2. non mettere affatto uno stop loss, ma mettere un SellStop di volume doppio. Anche questo sarà gestito dal server e rapidamente. Alla fine della giornata o quando il margine è esaurito, è necessario eseguire un UnLock, che chiude reciprocamente gli ordini opposti (CloseBy).

Dovremmo fare più attenzione con CloseBy , perché non tutte le società di brokeraggio supportano questa funzione.

 
Non sono un programmatore, quindi non posso risolvere la domanda più semplice: come legare la barra zero al tempo, minuti :00, ore 00:,01:,02: ecc. Qualcuno può darmi un suggerimento?
 
Creativ:
Non sono un programmatore, quindi non posso risolvere la domanda più semplice: come legare la barra zero al tempo, minuti :00, ore 00:,01:,02: ecc. Qualcuno può suggerirlo?

C'è una funzione per questo.

iTime(символ,таймфрейм, номер бара)

Restituisce il tempo della barra.

 

Ciao a tutti. Ragazzi, per favore aiutatemi, sono nuovo della programmazione.
Come ottenere questo nel codice MQL4.
Per esempio, premerò il pulsante A e un cursore <Screenshot_2> apparirà su un grafico come questo.
Sul Draw Rectangle <Screenshot_1> non c'è nessun tasto di scelta rapida.

Schermata_1

Schermata_1

Screenshot_2.

Schermata_2

Grazie.

 
Ragazzi, aiutatemi con l'Expert Advisor, per favore. sono stufo di.... Non riesco a risolvere il problema, ha solo errori.
Ecco la linea di fondo.
Funziona sull'indicatore Tma fair.
1) Non appena il prezzo è sopra la linea superiore - si apre un ordine di vendita, il prezzo è sotto la linea inferiore - si apre un ordine di acquisto.
Ho fatto tutto, ma il punto è,
2) Appena ho attivato uno stop loss si apre un ordine uguale! Come posso risolvere questo bug?
3) L'ordine non viene chiuso quando il prezzo incrocia la linea opposta! Sembra funzionare, ma non lo fa. Si chiude allo stop loss o al take profit.

Vorrei anche aggiungere una condizione: se è scattato uno Stop Loss per l'acquisto, aprire un ordine Sell. Penso di potermela cavare da solo, basta che mi aiuti a sistemare questi errori.
Non so cosa farne. Penso che dovrei farlo io).
File:
777.mq4  10 kb
TMA_Fair.mq4  9 kb
 

Per favore, aiutatemi con il cambio di compravendita, sto imparando!

void OnTick()

{

MAprice=iMA(Symbol(),0,MAperiod,MAshift,MODE_SMA,PRICE_CLOSE,1);

if(CountBuy() + CountSell() == 0 && Ask > MAprice)

{

if(OrderSend(Symbol(),OP_BUY,lot,Ask,slip,0,0,NULL,magic,0,clrBlue)<1)

Print("Impossibile aprire un ordine di acquisto!");

se(CountBuy()>=1)

{

prezzo = FindLastBuyPrice();

se((prezzo - Ask) >= passo*Punto)

{

if(OrderSend(Symbol(),OP_BUY,lot,Ask,slip,0,0,NULL,magic,0,clrBlue)<1)

Stampa("Impossibile aprire un ordine di acquisto!)

}

}

if(CountBuy() + CountSell() == 0 && Bid < MAprice)

{

if(OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,0,clrRed)<1)

Stampa("Impossibile aprire un ordine di vendita!)

}

}

se(CountSell()>=1)

{

prezzo = FindLastSellPrice();

se((prezzo -Bid) >= passo*Punto)

{

if(OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,0,clrRed)<1)

Print("Impossibile aprire un ordine di vendita!");

}

}

double op = CalculateProfit();

se(op>=profitto)

{

CloseAll();

}

}


//+------------------------------------------------------------------+

void ChiudereTutti()


o dove imparare?

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
Questa funzione non lega la barra all'ora. Voglio Bar[0]=:00(minuti) o 01:00, 02:00 ...di ogni giorno. Così, solo quando arriva un certo momento, l'algoritmo sarà calcolato. Il resto del tempo l'indicatore è mio.
Seric29:

C'è una funzione per questo.

Restituisce il tempo della barra.