3.4 Den samme roboten i cTrader
I cTrader heter roboten en cBot, og språket er C#. Her er den samme strategien – kortere og, for mange, lettere å lese.
C# (cTrader)
using cAlgo.API;
using cAlgo.API.Indicators;
namespace cAlgo.Robots
{
[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
public class MaKryss : Robot
{
[Parameter("Rask EMA", DefaultValue = 10)]
public int FastPeriod { get; set; }
[Parameter("Treg EMA", DefaultValue = 30)]
public int SlowPeriod { get; set; }
[Parameter("Størrelse (lot)", DefaultValue = 0.1)]
public double Lots { get; set; }
[Parameter("Stop loss (pips)", DefaultValue = 30)]
public double StopLossPips { get; set; }
[Parameter("Take profit (pips)", DefaultValue = 60)]
public double TakeProfitPips { get; set; }
private MovingAverage _fast, _slow;
private const string Label = "MaKryss";
protected override void OnStart()
{
_fast = Indicators.MovingAverage(Bars.ClosePrices, FastPeriod, MovingAverageType.Exponential);
_slow = Indicators.MovingAverage(Bars.ClosePrices, SlowPeriod, MovingAverageType.Exponential);
}
protected override void OnBar()
{
double fast1 = _fast.Result.Last(1), fast2 = _fast.Result.Last(2);
double slow1 = _slow.Result.Last(1), slow2 = _slow.Result.Last(2);
if (Positions.FindAll(Label, SymbolName).Length > 0) return;
double volume = Symbol.QuantityToVolumeInUnits(Lots);
if (fast2 <= slow2 && fast1 > slow1)
ExecuteMarketOrder(TradeType.Buy, SymbolName, volume, Label, StopLossPips, TakeProfitPips);
else if (fast2 >= slow2 && fast1 < slow1)
ExecuteMarketOrder(TradeType.Sell, SymbolName, volume, Label, StopLossPips, TakeProfitPips);
}
}
}Det som er enklere i cTrader
- OnBar kalles automatisk på nytt lys – ingen egen sjekk.
- Stop loss og take profit oppgis i pips direkte i ordren.
- Label fungerer som det magiske nummeret, og
Positions.FindAll(Label, SymbolName)finner robotens egne posisjoner. - Volum oppgis i enheter.
Symbol.QuantityToVolumeInUnits(0.1)regner om 0,1 lot til riktig antall enheter.
Bygg og start
- Åpne Algo i menyen til venstre i cTrader, og velg fanen cBots.
- Klikk New, skriv MaKryss, velg C# og From scratch, og klikk Create.
- Slett malen, lim inn koden og trykk Build (Ctrl+B).
- Klikk Add instance, velg EUR/USD og 1 time, og trykk Start.
AccessRights.None
AccessRights.None betyr at roboten ikke får tilgang til filer, internett eller andre programmer på maskinen. Det er tryggest. Vær skeptisk til roboter fra andre som ber om full tilgang (FullAccess).
Kort oppsummert
- I cTrader er roboten en cBot skrevet i C#.
- OnBar kalles automatisk, og stop loss og take profit oppgis i pips.
- Label tilsvarer det magiske nummeret i MetaTrader.
Test deg selv · Modul 3
Hva husker du fra «Bygg din første robot»?
Å hente frem det du har lest, er en av de mest effektive måtene å lære på. Velg det svaret du tror er riktig – du får forklaringen med en gang.
1Hva brukes det magiske nummeret til?
I cTrader brukes Label til det samme.
2Hvilken pris bruker du når roboten kjøper?
Du kjøper til ask og selger til bid.
Øv på det du har lært – uten risikoPrøv det i praksis på en gratis demokonto hos Skilling, med ekte priser og fiktive penger.
Åpne gratis demokonto
65% av ikke-profesjonelle taper penger når de handler CFDer med denne leverandøren.