amusleh's avatar
Ahmad Noman Musleh
Community Developer | Spotware | Telegram: @algodeveloper
Ahmad Noman Musleh's avatar

Info

Username:amusleh
Name:Ahmad Noman Musleh
Member since: 01 Mar 2021
Country:Turkey

About

None

Signature

Community Developer | Spotware | Telegram: @algodeveloper

Last Algorithm Comments

@Pitchfork Drawing:  16 Sep 2021, 10:41


uzairmaster97, The issue of lines not being parallel is caused by weekend bars, if you modify the pattern again it will align itself.

@Pitchfork Drawing:  21 Jul 2021, 09:39


prlozc, This indicator has some internal source code files, which are not included in the main indicator source code file, if you download it you will be able to rebuild the indicator, open it with Visual Studio to see the other source code files.

@Fibonacci Drawing:  11 Jul 2021, 12:36


opit78, You have to download the full indicator file if you want to compile it, and you have to us Visual Studio to modify it. You can't copy/paste the code.

@Pattern Drawing:  17 Jun 2021, 09:22


For3xScalper, What do you mean by tentative date? it just hide the patterns if the time frame doesn't match your defined one.

@Pattern Drawing:  09 May 2021, 09:54


remon, In new version if you change one label color or style all other labels of that pattern will copy the updated label color or style. Regarding cycles, we also linked the cycle lines style and color. What do you mean exactly by visibility per time frame? we already have a time frame visibility option.

@Pattern Drawing:  01 May 2021, 21:23


For3xScalper, You can change the color by selecting the pattern lines, also you can change the default drawing color from indicator settings, in new version which will be released very soon if you change an EV pattern one line color or style all other lines of that pattern color or style will change too.

@Pattern Drawing:  14 Apr 2021, 11:38


For3xScalper, We added the Elliott wave pattern degrees on version 1.0.2, thanks for your suggestion.

Last Forum Posts

@New Hotkey - Deal Map:  23 Sep 2021, 12:43


Hi,

You can use automate API to add more hotkeys, as an example check our hotkeys tool cBot: Hotkeys Tool Robot | Algorithmic Forex Trading | cTrader Community

It allows you to show/hide deal map with an hotkey, you can modify it based on your needs or change it to an indicator so it will not lock your chart time frame / symbol while running.

@trailing stop loss:  23 Sep 2021, 12:30


ryanjadidi said:

amusleh said:

Hi,

For orders you have the "trailingStopLoss" field, but for positions right now there is no such field to get this data.

Thank you for your message Amusleh,

Is there a way we could request for this feature in positions? As it is quite important to distinguish between stop loss and trailing stop loss.

Ryan.

Hi,

The trailing stop field for positions will be added on next version of API.

@Pending Orders Cancelled executed for other Pending Orders cancellation:  23 Sep 2021, 09:07


m4trader4 said:

When your order #2 is cancelled then how it gets filled again? I didn't got it at all.

You can use order label/comment or a boolean flag to avoid executing your code on PendingOrders_Cancelled event handler when you cancel your other orders.

For Order#2 which is not filled, PendingOrders_Cancelled is called and in that ExecuteMarketRangeOrder is executed using the parameters passed by PendingOrders.Cancelled event. 

Orders "label/Comment" will not be unique, or to have a unique identifier.  Let me know your suggestion of unique identifier.

There should be a intermittent order state :  Executed - Cancelled, Not Executed - Cancelled

Hi,

I think there is a misunderstanding, I still don't know what's the issue you have.

Regarding unique identifier you can use Order/position IDs.

@variables from the indicator for use in the bot:  23 Sep 2021, 09:05


travkinsm1 said:

At the same time, there can be no confusion when calling several indicators of the following type.

ind0.Calculate(Bars.Count - 1);
ind1.Calculate(Bars.Count - 1);
ind2.Calculate(Bars.Count - 1);
ind3.Calculate(Bars.Count - 1);
ind4.Calculate(Bars.Count - 1);
           

Because on backtesting, the variable I call behaves strangely. Very strangely.

Hi,

I recommend you to use an indicator data series output to get data back from indicator, and if possible you can move your indicators logic to your cBot instead of referencing them.

If your indicators aren't using indicator data series output then move the logic to your cBot, use indicator reference only if your indicator has an output data series.

@Bar close above SMA not working:  22 Sep 2021, 13:53


Hi,

Your code syntax is invalid, please post full code of your cBot then we will be able to help you.

Please check the simple moving average API reference examples: cAlgo API Reference - SimpleMovingAverage Interface (ctrader.com)

@Heatbeats not comming when sending your own heartbeats:  21 Sep 2021, 10:46


olegchubukov said:

amusleh said:

Hi,

You shouldn't use ProtoOAReconcileReq to keep your app up to date with account orders, use it only once and then use execution event to remove/modify/add new account orders.

Regarding Heatbeats, its a response to sending heartbeat, if you don't send any heartbeat you will not receive back an heartbeat message.

You should use a queue to send messages on a specific time interval so you will not reach maximum allowed messages number per second, otherwise you will receive an error message.

Please check our WPF sample code, there we have all of what I just said.

Well, I need to start with saying that I was accidently sending ProtoOAReconcileReq instead of ProtoHeartbeatEvent. Copy/paste... My bad. Is it that's why you commented about ProtoOAReconcileReq?

I have now changed my scheduler to send ProtoHeartbeatEvent and I see ProtoHeartbeatEvent comes every 30 secs again.

But you said that "if you don't send any heartbeat you will not receive back an heartbeat message." This is not true on my side. Even if I dont send a hearbeat, I still receive ProtoHeartbeatEvent every 30 seconds for some period. Sometimes it's 5 minutes, sometimes a couple of hours. But my key point is that ProtoHeartbeatEvent comes without me sending ProtoHeartbeatEvent.

Regarding exceeding the limits, I dont send that many messages to be able to exceed the limits. My application only listens for events.

What is WPF? Is it this source https://github.com/spotware/ctrader-open-api-v2-java-example? If so, that was exactly the code I used.

Here is our WPF sample: OpenAPI.Net/src/WPF.Sample at master · spotware/OpenAPI.Net (github.com)

@Heatbeats not comming when sending your own heartbeats:  21 Sep 2021, 08:33


olegchubukov said:

Hi!

I see that the heartbet that usually comes every 30 secconds stopped coming after I started sending ProtoOAReconcileReq every 10 seconds to the API. Is it the right behaviour?

Thanks in advance!

Hi,

You shouldn't use ProtoOAReconcileReq to keep your app up to date with account orders, use it only once and then use execution event to remove/modify/add new account orders.

Regarding Heatbeats, its a response to sending heartbeat, if you don't send any heartbeat you will not receive back an heartbeat message.

You should use a queue to send messages on a specific time interval so you will not reach maximum allowed messages number per second, otherwise you will receive an error message.

Please check our WPF sample code, there we have all of what I just said.

@Pending Orders Cancelled executed for other Pending Orders cancellation:  21 Sep 2021, 08:29


m4trader4 said:

amusleh said:

Hi,

The PendingOrders.Cancelled event will be called whenever a pending order is canceled, and that's how it should work.

I didn't understand your point on its not correct to call the Cancelled event when trader cancels the order, why?

If trader manually or a cBot via automate API cancels a pending order the Cancelled event will be triggered and the reason would be PendingOrderCancellationReason.Cancelled.

If the order had an expiry time and it got expired the Cancelled event will be triggered and the reason would be PendingOrderCancellationReason.Expired.

If the order got rejected before getting filled then the Cancelled event will be triggered and the reason would be PendingOrderCancellationReason.Rejected.

You can use the reason property to filter the event and only execute your code is the reasons is expired or rejected.

Hi

Case Scenario: Current Market price = 9.0

Cbot or Manually 5 pending orders are placed

Order#1 10.00 with StopLimitPriceRange  of  00.00 - 00.40 

Order#2 15.00 with StopLimitPriceRange  of  00.00 - 00.40

Order#3 20.00 with StopLimitPriceRange  of  00.00 - 00.40

Order#4 25.00 with StopLimitPriceRange  of  00.00 - 00.40

Order#1 is filled @ 10.10 

Order#2 is not filled @ 15.00 So the PendingOrders_Cancelled called, then the ExecuteMarketRangeOrder is executed and Order#2 is filled.

After Order#2, Cbot or Manually cancel other orders #3, #4, #5 PendingOrders_Cancelled is called and ExecuteMarketRangeOrder is executed possibly may get filled. which should not happen. And Cbot cannot be stopped as there are other function are being executed.

So Need details of the executed pending orders details, with these captured details ExecuteMarketRangeOrder orders are placed and executed or any other logic.

When your order #2 is cancelled then how it gets filled again? I didn't got it at all.

You can use order label/comment or a boolean flag to avoid executing your code on PendingOrders_Cancelled event handler when you cancel your other orders.

@My app opens with only WiFi not 4G.:  20 Sep 2021, 09:40


i.maghsoud said:

amusleh said:

mohanrajdeenadayalan said:


pepperstone

iphone 11 Pro 256 GB

iphone software 14.6

c trader version 4.1.54294

amusleh said:

witmq said:

myrtlegonzalez73 said:

Hello,

I've been troubleshooting this same problem as well, where it wont connect to ctrader server on Telstra 4G mobile network, seems to
be after a recent update, where its been rock solid for last 6 months.

I also tried the legacy app with same symtoms.

I have also updated to IOS 14.4.2 on both iphone x and ipad and doesn't work on 4G network and works always when on wifi network

I couldn't see how the ISP blocking as the same device same IOS same app that wont connect on 4G connects immediately on telstra wifi

I've also deleted the app and its data and re signed in again and get exact same issue

Lastly I just tried connecting from ipad wifi only device using my ios iPhone as hotspot and works yet wont work directly from iphone unless it is connection to wifi.

Hi there,

I’ve been on undergoing with exactly the same issue and advised from Telstra support to contact CTrader support as per case ref.# 16500936. At the moment I’m looking forward to what solution of it. 
 

Hi,

Can you give me these details please:

  • Your broker name
  • cTrader app version
  • Your phone model
  • Your phone OS version

- Pepperstone

- 4.2.54296

-Iphone 6s

- IOS 14.4

- Telstra 4G (Boost mobile service provider)

Hi,

Can you please send me your Telstra phone number, account number and service number linked to the Wifi via Telegram?

@3.7 Multi Symbol optimization Risk Management enabling:  20 Sep 2021, 08:53


vs3238194 said:

3.7 Multi Symbol optimization Risk Management enabling. cTrader Automate ... What about optimizing ctrader forex hand trading strategies?

Hi,

There are several manual strategy testers developed by community, search on the site and you will find them on cBots section.

Here is one you can use: Manual Strategy Tester - AlgoDeveloper

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.

No uploaded.