Vai al contenuto

Strategie a intervallo in cTrader

Un grafico a intervallo è costruito per rappresentare un intervallo specificato di movimenti di prezzo indipendentemente da quanto tempo impiega il prezzo per effettuare quel movimento. Questo filtra i movimenti di prezzo più piccoli della dimensione dell'intervallo, rendendo i trend più facili da visualizzare. In cTrader, il processo per sviluppare strategie di trading automatizzate che prendono decisioni basate su barre a intervallo è lo stesso del processo per creare tali strategie basate su candele standard basate sul tempo. In questo articolo e nel video corrispondente, dimostreremo come puoi sviluppare ed eseguire il backtesting di una semplice strategia basata su barre a intervallo.

Definire i segnali di acquisto e vendita

Delineeremo brevemente la nostra logica di trading.

  • Segnale di acquisto - si verifica quando una barra a intervallo rialzista che segue una barra a intervallo ribassista e chiude sopra il prezzo di apertura della barra ribassista.
  • Segnale di vendita - si verifica quando una barra a intervallo ribassista segue una barra a intervallo rialzista e chiude sotto il prezzo di apertura della barra rialzista.

L'interpretazione del segnale di acquisto è che, quando un trend ribassista incontra una forte resistenza, è il momento di acquistare in previsione di un rimbalzo. La configurazione inversa si applica al segnale di vendita: un trend rialzista incontra resistenza e dobbiamo capitalizzare su questo piazzando un ordine di vendita.

Crea un cBot di esempio

Possiamo iniziare a creare il nostro cBot. Definiremo prima i parametri necessari.

1
2
3
4
5
6
7
8
[Parameter(DefaultValue = 10000)]
public double Volume { get; set; }

[Parameter(DefaultValue = 20)]
public double StopLoss { get; set; }

[Parameter(DefaultValue = 20)]
public double TakeProfit { get; set; }

Possiamo codificare il nostro segnale di acquisto come segue.

1
2
3
4
if (Bars.Last(0).Close > Bars.Last(0).Open && Bars.Last(1).Close < Bars.Last(1).Open && Bars.Last(0).Close > Bars.Last(1).Open)
{
    ExecuteMarketOrder(TradeType.Buy, SymbolName, Volume,InstanceId, StopLoss, TakeProfit);
}

Il nostro segnale di vendita appare come segue.

1
2
3
4
if (Bars.Last(0).Close < Bars.Last(0).Open && Bars.Last(1).Close > Bars.Last(1).Open && Bars.Last(0).Close < Bars.Last(1).Open)
{
    ExecuteMarketOrder(TradeType.Sell, SymbolName, Volume,InstanceId, StopLoss, TakeProfit);
}

Eseguire il backtesting della strategia

Dopo aver compilato il nostro nuovo cBot, passiamo alla scheda Backtesting ed eseguiamo un backtesting. Ecco i risultati.

Nota

Le strategie a intervallo utilizzano le stesse strutture di dati delle strategie basate su candele. Ad esempio, abbiamo utilizzato la collezione Bars per recuperare le nostre barre a intervallo; avremmo utilizzato la stessa collezione quando si cerca di recuperare le candele. Questa funzionalità di cTrader ti consente di sviluppare strategie che possono essere testate ed eseguite su qualsiasi tipo di grafico senza la necessità di alcuna modifica.

In questo tutorial, abbiamo dimostrato come puoi sviluppare rapidamente una semplice strategia basata su grafici a intervallo. Abbiamo anche suggerito che tali strategie possono essere riutilizzate liberamente su grafici contenenti candele basate sul tempo.