import { ConditionsConfig as ConditionsConfigCommand } from '../../data/commands'; export class ConditionsConfig { static instance; config = null; constructor( config ) { this.config = config; } /** * @return {Promise} Conditions config */ static create() { if ( ConditionsConfig.instance ) { return Promise.resolve( ConditionsConfig.instance ); } return $e.data.get( ConditionsConfigCommand.signature, {}, { refresh: true } ) .then( ( response ) => { ConditionsConfig.instance = new ConditionsConfig( response.data ); return ConditionsConfig.instance; } ); } /** * Get main options for condition name. * * @return {Array} Condition options */ getOptions() { return this.getSubOptions( 'general', true ) .map( ( { label, value } ) => { return { label, value, }; } ); } /** * Get the sub options for the select. * * @param {string} itemName * @param {boolean} isSubItem * @return {Array} Sub options */ getSubOptions( itemName, isSubItem = false ) { const config = this.config[ itemName ]; if ( ! config ) { return []; } return [ { label: config.all_label, value: isSubItem ? itemName : '' }, ...config.sub_conditions.map( ( subName ) => { const subConfig = this.config[ subName ]; return { label: subConfig.label, value: subName, children: subConfig.sub_conditions.length ? this.getSubOptions( subName, true ) : null, }; } ), ]; } /** * Get the autocomplete property from the conditions config * * @param {string} sub * @return {{}|any} Conditions autocomplete */ getSubIdAutocomplete( sub ) { const config = this.config[ sub ]; if ( ! config || ! ( 'object' === typeof ( config.controls ) ) ) { return {}; } const controls = Object.values( config.controls ); if ( ! controls?.[ 0 ]?.autocomplete ) { return {}; } return controls[ 0 ].autocomplete; } /** * Calculate instances from the conditions. * * @param {Array} conditions * @return {Object} Conditions Instances */ calculateInstances( conditions ) { let instances = conditions.reduce( ( current, condition ) => { if ( 'exclude' === condition.type ) { return current; } const key = condition.sub || condition.name, config = this.config[ key ]; if ( ! config ) { return current; } const instanceLabel = condition.subId ? `${ config.label } #${ condition.subId }` : config.all_label; return { ...current, [ key ]: instanceLabel, }; }, {} ); if ( 0 === Object.keys( instances ).length ) { instances = [ __( 'No instances', 'elementor-pro' ) ]; } return instances; } } export default ConditionsConfig; /* global _, jQuery, YoastSEO, YoastReplaceVarPlugin */ var config = require( "./config/config.js" ); var ReplaceVar = YoastReplaceVarPlugin.ReplaceVar; var supportedTypes = [ "email", "text", "textarea", "url", "wysiwyg", "block_preview" ]; var replaceVars = {}; var replaceVarPluginAvailable = function() { if ( typeof ReplaceVar === "undefined" ) { if ( config.debug ) { console.log( "Replacing ACF variables in the Snippet Window requires Yoast SEO >= 5.3." ); } return false; } return true; }; var updateReplaceVars = function( collect ) { if ( ! replaceVarPluginAvailable() ) { return; } var fieldData = _.filter( collect.getFieldData(), function( field ) { return _.contains( supportedTypes, field.type ); } ); _.each( fieldData, function( field ) { // Remove HTML tags using jQuery in case of a wysiwyg field. var content = ( field.type === "wysiwyg" ) ? jQuery( jQuery.parseHTML( field.content ) ).text() : field.content; if ( typeof replaceVars[ field.post_meta_key ] === "undefined" ) { replaceVars[ field.post_meta_key ] = new ReplaceVar( "%%cf_" + field.post_meta_key + "%%", content, { source: "direct" } ); YoastSEO.wp.replaceVarsPlugin.addReplacement( replaceVars[ field.post_meta_key ] ); if ( config.debug ) { console.log( "Created ReplaceVar for: ", field.post_meta_key, " with: ", content, replaceVars[ field.post_meta_key ] ); } } else { replaceVars[ field.post_meta_key ].replacement = content; if ( config.debug ) { console.log( "Updated ReplaceVar for: ", field.post_meta_key, " with: ", content, replaceVars[ field.post_meta_key ] ); } } } ); }; module.exports = { updateReplaceVars: updateReplaceVars, }; West Bank - Revolutionize Your Trading With Auto-Trading Robot

Revolutionize Your Trading
With Auto-Trading Robot

Welcome to the future of trading! Our AI Auto-Trading Robot is designed to
take your investment strategy to new heights.

Know More
Enquire Now

Transform Your Trading Journey with Auto-Trading Revolution

Step into the Trading Revolution! Let our AI Auto-Trading Robot redefine your investment game with cutting-edge strategies.

Know More
Enquire Now

Transforming Trading through Automated Strategies

Experience the Next Frontier in Trading! Our AI Auto-Trading Robot is your gateway to elevated investment strategies and unprecedented results.

Know More
Enquire Now

Our Services

Discover a seamless blend of cutting-edge
Technology and financial expertise.

See More

XEA

a cutting-edge automated trading robot revolutionizing XAUUSD trading. Experience exceptional performance and unparalleled strategies for maximum profitability and efficiency

Enquire Now

CROSS X

Introducing CROSS X, the ultimate trading assistant that maximizes profits and minimizes risks. Revolutionize your trading experience with its unique features and powerful algorithms

Enquire Now

gbp jpy

Unlock precision in currency exchange with our exceptional trading robot. Operating with Price Action, Hedging, and Ultra Pip Scalping, it ensures a comprehensive approach for maximizing profits.

Enquire Now

SMC EA

Experience sophistication with SMC EA, a trading robot unlocking the power of SMART MONEY CONCEPT. As an Inner Circle Trade (ICT) member, it offers an exclusive opportunity to tap into the realm of smart money trading success.

Enquire Now

XEA Gold

XEA GOLD

A cutting-edge automated trading robot designed to revolutionize your trading experience in
the most volatile commodity, XAUUSD.

Learn More

CROSS X

CROSS X

The ultimate trading assistant designed to maximize your profits and minimize your risks.

Learn More

AYN EA

AYN EA

A remarkable trading assistant that operates with the powerful and successful AYN (All You Need) trading indicator.

Learn More

SMC EA

SMC EA

A sophisticated trading robot designed to harness the power of the SMART MONEY
CONCEPT, a proven and highly successful trading strategy.

Learn More

GBPJPY

GBPJPY

An exceptional trading robot designed to navigate the intricate world of currency exchange
with unparalleled precision.

Learn More

WHY WEST BANK BOTS?

Say goodbye to guesswork and hello
to a smarter way to trade.

Accuracy

The West Bank’s bots can analyze vast amounts of data in real-time and make split-second decisions, reducing the impact of emotions and human error on investment decisions.

Efficiency

The West Bank’s bots automate the entire trading process, saving time and increasing efficiency.

Diversification

The West Bank’s bots can monitor multiple markets and assets simultaneously, providing a diverse portfolio and reducing risk.

Profitability

The West Bank’s bots use advanced algorithms and data analytics based on over 10 years of historical data. Our software’s have been profitable year after year!

Why Alogrithmic Trading ?

Welcome to the future of trading! Our AI Auto-Trading Robot is designed to
take your investment strategy to new heights.

Profit Calculator

Let’s Look at Your Investment.




Result:

 

FAQ

How is the trade amount (lots) calculated?

Bot can trade on your account even when the available trading balance is just 1 USD or 100k USD. Bot automatically adjust its calculations of trading amount (lots) according to your available trading balance.

When connected to your trading account, Bot sees what’s the balance available for trading, and it considers it into its calculations automatically every time when it opens a trade.

Let’s see how the calculation works on an example:

Example no. 1:
Let’s say we have 500.000 USD balance on our trading account. And Bot opens a trade “BUY 1.000.000 EUR on EURUSD” on our account. That’s 10 lots. And let’s say the trade will be closed later, with profit +1.000 USD.

Now, let’s see how Bot opens exactly the same trade on your trading account where you have different available trading balance:

Example no. 2:
You have 250.000 USD balance on your trading account. Bot opens a trade “BUY 500.000 EUR on EURUSD” on your account. That’s 5 lots. And the trade profit will be only +500 USD.

If you have an account with 2x lower available trading balance, then Bot opens the same trades but using 2x smaller trading amount (lots), which results in 2x smaller profit/loss. It’s logical. If you have an account with 5x smaller available trading balance, then Bot opens the same trades but using 5x smaller trading amount (lots) and the trade will be closed with 5x smaller profit/loss.

MIN. AMOUNT

Let’s say you have 5000x smaller available trading balance on your account, then Bot theoretically tries to open the same trade but using 5000x smaller trading amount (lots). But, it’s not possible to open such a tiny trade, because brokers have a minimum trade size (trading amount, lots) which they can accept. If your account balance is too low, and Bot tries to open a trade with too small amount (lots), which would not be accepted by your broker, then it automatically uses min amount (lots) instead, which is 0,01 lot per each trade. In order to have Bot trading with more lots, you just simply have to have a higher available trading balance on your trading account.

Can I switch between accounts?

Yes. Use Bot on your DEMO or LIVE account, and switch between accounts anytime.

What should I do to earn profits?

Bot is fully automated. It means, Bot scans the trading markets by itself, makes all decisions based on its inner trading strategy and algorithms by itself, and trades on your account automatically.

To learn more about what Bot actually does and how it works, see “How does the trading strategy work?”.

How to pay the subscription?

Each 3 months Bot will automatically ask you to pay 10% fee from net profit which it has earned for you on your trading account. If you wish to keep using Bot, proceed with the online payment instructions which Bot will show you. If you decide to not pay the fee, Bot will be automatically deactivated and not trading for you anymore.

How is the subscription fee calculated?

Bot calculates the fee from all the trades which it has made on your trading account.

Let’s say Bot has traded the following trades on your account:

  • Trade 1 = Profit +850 USD
  • Trade 2 = Profit +780 USD
  • Trade 3 = Loss -600 USD
  • Trade 4 = Profit +970 USD

Sum, total net profit = 850 + 780 – 600 + 970 = 2000 USD. Thanks to trading with automated trading robot Bot, you have earned net profit 2000 USD on your trading account.

Bot calculates 10% from 2000 USD, which is 200 USD exactly. And this resulting number, 200 USD, that’s the price for using CarinaBot in such case.