's avatar

Member since: 22 Jan 2023





Last Forum Posts

@Improve forum searching so we dont have to create the same threads.:  23 Jan 2023, 01:55

When using the google search to see if a topic is already present, and it is, you click on it only to find: Nothing! Surprise nothing happens. So instead of being able to find the thread and vote on it you are forced to create a new one or click through potentially several hundred pages of posts. Please fix this. Also ALL the forums are OVERRUN by spam and scams. To the point you cant even see any normal content in the Algo forums. Moderators would fix that. Look at what happened to Twitter with lax mods and "FREE SPEECH" that had no limits.

@You need to monitor your forums better:  22 Jan 2023, 22:53

There are people straight-up spamming the boards so that google can crawl their product names in forum posts.

For example, this is one of many posts on the CBot forum

Alpilean is a weight reduction pill that assists you with consuming fat by focusing on your internal heat level. It works by expanding digestion and controlling your....


And nothing seems to be done. To be politically correct there is no dislike button and they know it. There is also no way to report a post, and they know it. They are laughing and it will get worse. Also, there are people trying to initiate private sales in the algorithm section. It's fine to sell something on the site but trying to avoid moderation by posting private details and trying to solicit payment that way is crazy and so brazen that I have rarely seen it online on reputable sites. I know that like any good coder, you guys probably don't care much about the details of sales and customer relations but this can make or break you. If people get scammed or can't find info because it's clogged with more garbage than genuine responses they will go elsewhere. Mt5 marketplace is a good example of a well-regulated customer space. Also, like Mt5 it should be accessible only from the app. You want to minimize your attack surface. Getting people used to downloading EAs from websites is not a good thing(even if it's yours to start with). For obvious reasons, mainly that it opens the doors for unregulated persons to offer the same thing on their sites. From a business and security standpoint that would be very bad.

Thanks for listening to the public.

I love the product and want it to stay the best and get even better.

@Where to get reference material?:  22 Jan 2023, 22:00

I'm wondering where to get online or print support for CTrader(Api reference, Class reference, Tutorials, Videos, Books/PDF. Specifically, I'm an EA writer/C# coder.  Also, I would really appreciate it if the function where you open a EA in Visual Studio would work in the future/if anyone has a workaround ITMT?. Please if anyone could help me with either of these topics that would be great. Its a great platform and Ive already got amazing results esp since I can create an object-oriented extendable framework. I just have many questions and I don't know where to look. Thats the main complaint in YT videos as well as regards CT. 

Thanks in advance.

Notification Publishing copyrighted material is strictly prohibited. If you believe there is copyrighted material in this section you may use the Copyright Infringement Notification form to submit a claim.

No uploaded.

Warning! Executing cBots downloaded from this section may result in loss of funds. Use them at your own risk.
free  22 Jan 2023
I downloaded a simple Macd crossover algo that was free because I'm trying to learn. Everything seems fine but what do I know right? It compiles but places no trades. Please help. Code below.  I also cut out the trading hours thing, just to be sure it wasn't somehow interfering.  There was also a reference to Trade.Executing or something similar that was deprecated and had to be removed. The original file sans changes is attached. Thanks a million using System; using System.Collections.Generic; using System.Linq; using System.Text; using cAlgo.API; using cAlgo.API.Collections; using cAlgo.API.Indicators; using cAlgo.API.Internals; namespace cAlgo.Robots { [Robot(AccessRights = AccessRights.None)] public class MACDMarketTimerV2 : Robot { [Parameter("Sentiment: Buy", DefaultValue = true)] public bool Buy { get; set; } [Parameter("Sentiment: Sell", DefaultValue = true)] public bool Sell { get; set; } [Parameter("MME Slow", Group = "MA", DefaultValue = 16)] public int mmeSlow { get; set; } [Parameter("MME Fast", Group = "MA", DefaultValue = 12)] public int mmeFast { get; set; } [Parameter("Source", Group = "RSI")] public DataSeries Source { get; set; } [Parameter("Periods", Group = "RSI", DefaultValue = 19)] public int Periods { get; set; } // [Parameter("Start Hour", DefaultValue = 10.0)] // public double StartTime { get; set; } // [Parameter("Stop Hour", DefaultValue = 12.0)] // public double StopTime { get; set; } [Parameter(" Period", Group="MACD",DefaultValue = 9)] public int Period { get; set; } [Parameter(" Long Cycle",Group="MACD", DefaultValue = 26)] public int LongCycle { get; set; } [Parameter(" Short Cycle",Group="MACD", DefaultValue = 12)] public int ShortCycle { get; set; } [Parameter("Quantity (Lots)", Group = "Volume", DefaultValue = 0.01, MinValue = 0.01, Step = 0.01)] public double Quantity { get; set; } [Parameter("Stop Loss ", DefaultValue = 100)] public int StopLoss { get; set; } [Parameter("Take Profit", DefaultValue = 100)] public int TakeProfit { get; set; } private MovingAverage i_MA_slow; private MovingAverage i_MA_fast; private RelativeStrengthIndex rsi; // private DateTime _startTime; // private DateTime _stopTime; private MacdCrossOver macd; private double volumeInUnits; protected override void OnStart() { i_MA_slow = Indicators.MovingAverage(Bars.ClosePrices, mmeSlow, MovingAverageType.Exponential); i_MA_fast = Indicators.MovingAverage(Bars.ClosePrices, mmeFast, MovingAverageType.Exponential); rsi = Indicators.RelativeStrengthIndex(Source, Periods); macd=Indicators.MacdCrossOver(LongCycle, ShortCycle, Period); volumeInUnits = Symbol.QuantityToVolumeInUnits(Quantity); { // _startTime = Server.Time.Date.AddHours(StartTime); // _stopTime = Server.Time.Date.AddHours(StopTime); // Print("Start Time {0},", _startTime); // Print("Stop Time {0},", _stopTime); } } protected override void OnBar() { var MACDLine = macd.MACD.Last(1); var PrevMACDLine = macd.MACD.Last(2); var Signal = macd.Signal.Last(1); var PrevSignal= macd.Signal.Last(2); //var currentHours = Server.Time.TimeOfDay.TotalHours; // bool tradeTime = StartTime < StopTime // ? currentHours > StartTime && currentHours < StopTime // : currentHours < StopTime || currentHours > StartTime; // if (!tradeTime) // return; if (rsi.Result.LastValue > 25 && rsi.Result.LastValue < 70) { if ((MACDLine > Signal && PrevMACDLine <PrevSignal && default==Sell) && (i_MA_fast.Result.LastValue > i_MA_slow.Result.LastValue)) { ExecuteMarketOrder( TradeType.Buy ,SymbolName,volumeInUnits, "MACDMarketTimerV2,RSI,MACD",StopLoss,TakeProfit); } else if ( (MACDLine < Signal && PrevMACDLine >PrevSignal && default== Buy)&(i_MA_fast.Result.LastValue < i_MA_slow.Result.LastValue)) { var result = ExecuteMarketOrder( TradeType.Sell ,SymbolName,volumeInUnits, " MACDMarketTimerV2,RSI,MACD",StopLoss,TakeProfit); if (result.Error == ErrorCode.NoMoney) Stop(); } } } protected override void OnStop() { } } }