Scriverò un EA gratuitamente - pagina 146

 
Ivan:

Il punto è calcolare e inviare un avviso ogni volta che accade quello che ho mostrato nell'immagine.

Guardate attentamente anche il vostro grafico. Ci sono molti più posti in cui le candele si avvicinano quasi allo stesso prezzo ombra di quelli mostrati dalle frecce. E questi non sono necessariamente gli estremi.

 
Aleksei Stepanenko:

Guarda attentamente anche il tuo grafico. Ci sono molti più posti in cui le candele si avvicinano quasi allo stesso prezzo ombra di quelli mostrati dalle frecce. E questi non sono necessariamente gli estremi.

le frecce sono state disegnate randnomno, per capire di cosa tratta il tuo post? è questo che è interessante
 
Ci saranno molti punti in luoghi diversi. La regola generale per lo stesso prezzo ombra di due o tre candele non è sufficiente. Secondo me.
 

Indicatore Knock-knock Ver 1

L'indicatore trova candele vicine con valori d'ombra vicini. Vengono utilizzati i candelieri del timeframe corrente.

 
Aleksei Stepanenko:

Indicatore Knock-knock Ver 1

L'indicatore trova candele vicine con valori d'ombra vicini. Utilizza le candele del timeframe corrente.

È molto veloce, ma l'essenza dell'indicatore è di fornire avvisi, per esempio non sono in grado di monitorare tutte le coppie di valute,

Per quanto riguarda gli avvisi, sarebbe bene fare qualche aggiustamento, impostare la deviazione per diverse coppie e naturalmente testare.

l'ho lanciato sull'eurik, molto buono, ma ho bisogno di un'impostazione e di un allarme, poi dovrebbe funzionare.

File:
111.JPG  103 kb
 

Ciao Cari guru della programmazione, sto chiedendo il vostro aiuto per finire questo robot. IO STESSO NON SONO UN PROGRAMMATORE.

Non sono un programmatore, la prima funzione l'ho scritta io stesso, ma ho cercato in diverse parti trovate su Internet, ma non riesco a collegare le altre due funzioni che vorrei vedere. Non riesco a trovare le altre due funzioni che vorrei vedere, quindi per favore aiutatemi. Penso che per voi non sarà così difficile come per me. Se vuoi aiutare, per favore crea una funzione che chiuderà l'ordine in sospeso dopo che uno dei due ordini in sospeso è scattato. E la seconda funzione dovrebbe aumentare automaticamente il lotto dell'ordine ("diciamo" per ogni 50 dollari di saldo 0,01 lotto, dopo aver raggiunto 100 dollari il robot dovrebbe aumentare automaticamente il lotto di 0,02). Il codice che ho messo fuori funziona, cioè (mette due ordini pendenti e li traversa). Ma come ho scritto prima non riesco a collegare le altre due funzioni in nessun modo.

extern int    TakeProfit     = 100.0;
extern bool   AllPositions   = True; // Управлять всеми позициями
extern bool   ProfitTrailing = True;  // Тралить только профит
extern int    TrailingStop   = 50;    // Фиксированный размер трала
extern int    TrailingStep   = 0;     // Шаг трала
extern bool   UseSound       = False;  // Использовать звуковой сигнал
extern string NameFileSound  = "expert.wav";  // Наименование звукового файла


void start() 
{
double TakeProfitLevelB;
double TakeProfitLevelS;
double BuyStart = Ask + 400*_Point;
double SellStart = Bid - 400*_Point;

TakeProfitLevelB = BuyStart + TakeProfit*Point;
TakeProfitLevelS = SellStart - TakeProfit*Point;

if (Open[1]==Close[1]&& OrdersTotal()==0)
{
int BuyTicket = OrderSend(Symbol(),OP_BUYSTOP,0.10,BuyStart,3,0,TakeProfitLevelB,NULL,0,0,Green);
int SellTicket = OrderSend(Symbol(),OP_SELLSTOP,0.10,SellStart,3,0,TakeProfitLevelS,NULL,0,0,Blue);
}
  for (int i=0; i<OrdersTotal(); i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (AllPositions || OrderSymbol()==Symbol()) {
        TrailingPositions();
      }
    }
  }
}

void TrailingPositions() 
{
  double pBid, pAsk, pp;

  pp = MarketInfo(OrderSymbol(), MODE_POINT);
  if (OrderType()==OP_BUY) {
    pBid = MarketInfo(OrderSymbol(), MODE_BID);
    if (!ProfitTrailing || (pBid-OrderOpenPrice())>TrailingStop*pp) {
      if (OrderStopLoss()<pBid-(TrailingStop+TrailingStep-1)*pp) {
        ModifyStopLoss(pBid-TrailingStop*pp);
        return;
      }
    }
  }
  if (OrderType()==OP_SELL) {
    pAsk = MarketInfo(OrderSymbol(), MODE_ASK);
    if (!ProfitTrailing || OrderOpenPrice()-pAsk>TrailingStop*pp) {
      if (OrderStopLoss()>pAsk+(TrailingStop+TrailingStep-1)*pp || OrderStopLoss()==0) {
        ModifyStopLoss(pAsk+TrailingStop*pp);
        return;
      }
    }
  }
}

void ModifyStopLoss(double ldStopLoss) 
{
  bool fm;

  fm=OrderModify(OrderTicket(),OrderOpenPrice(),ldStopLoss,OrderTakeProfit(),0,CLR_NONE);
  if (fm && UseSound) PlaySound(NameFileSound);
}
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Свойства ордеров - Торговые константы - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Indicatore Knock-knock Ver 2

Con avvisi. Il numero di distanza può essere impostato separatamente su ogni grafico.

 
Aleksei Stepanenko:

Indicatore Knock-knock Ver 2

Con avvisi. Su ogni grafico è possibile impostare il numero di Distanza separatamente.

Non funziona ancora, ecco l'avviso, 2 minuti fa

1. prima di entrare nella coppia, non c'era nessun segnale

2. L'allarme è apparso, ma non c'è nessuna candela.

Vorrei anche cambiare il numero di candele per il segnale, diciamo 3 candele in fila o 5

il timeframe non è accidentalmente selezionato H1) pensarci più tardi, ho bisogno di finalizzare l'indicatore e poi posso testare il robot

File:
kcdg.JPG  72 kb
 
Aleksei Stepanenko:

Indicatore Knock-knock Ver 2

Con avvisi. Il numero di distanza può essere impostato separatamente su ogni grafico.

Ci risiamo, sembra che tu lo abbia guardando altri timeframes

Se tutto è ben fatto, ci si può fidare del robot)

prima finiamo e testiamolo

File:
555.JPG  84 kb
 
Ivan:

Ciao, chi può scrivere un semplice indicatore (forse ce n'è già uno, ma non l'ho trovato)

Il punto è calcolare e inviare un avviso ogni volta che accade quello che ho mostrato nell'immagine. Vale a dire, quando diverse candele di un'ora colpiscono quasi lo stesso punto.

Per come sono scritti gli indicatori candlestick, penso che questo sarà più semplice.


Dovresti cercare i cosiddetti "takeover" nella tua foto, ma anche l'ultima freccia sulla foto sarà una voce sbagliata - i cervelli ignorano facilmente i segnali indesiderati.

Motivazione: