Solo gli utenti che hanno acquistato o noleggiato il prodotto possono lasciare commenti
Michael Dolgushin  

Your Questions, Comments & Suggestions Are Welcome!

Michael Dolgushin  

An expert advisor based on the multicurrency indicator ICI_v2. Analyzes dynamics across a group of currency pairs to determine base currency strength and automatically executes trades.

Key Features:

  1. Multicurrency Analysis: Processes multiple currency pairs simultaneously
  2. Indicator-Based: Uses custom indicator ICI_v2 to calculate normalized currency strength values
  3. Trading Mechanism:
    • Netting system (1 position per instrument)
    • Position volume proportional to currency strength
    • Partial position closing
    • Automatic rebalancing
  4. Visualization: Displays currency data table in chart comments

Main Parameters:

  • Traded pairs: EURUSD, GBPUSD, AUDUSD, NZDUSD, USDCAD, USDCHF, USDJPY
  • Base currency: USD
  • MA Periods: Fast (4), Slow (24)
  • MA Type: Exponential (EMA)
  • Min-Max Normalization
  • Power Normalization
  • Neutral zone for currency strength

Core Function: CalculateCurrencyStrength()

Calculates relative currency strength based on the dynamics of their indicator values.

Algorithm:
  1. Collect unique currencies:

    string currencies[]; 
    for(each element in symbolData)
     { if currency not in currencies array → add it }
  2. Pairwise currency comparison:

    for(each currency A in currencies)
     { for(each currency B in currencies)
     { if A == B → skip // Calculate value differences over 3 periods
     double diff0 = A[0] - B[0];
     // Current value 
     double diff1 = A[1] - B[1];
     // Previous value double
     diff2 = A[2] - B[2];
     // Value from 2 periods back } }
  3. Determine trend direction:

    double change = 0;
    if(diff0 > diff1) change += 1;
    // Strengthening of A vs B 
    if(diff1 > diff2) change += 1;
    // Confirmation of strengthening
    if(diff0 < diff1) change -= 1;
    // Weakening of A vs B
    if(diff1 < diff2) change -= 1; // Confirmation of weakening
  4. Accumulate currency strength:

    symbolData[A].strenght += change;

  5. Adjust relative to base currency:

    if(DiffMajor == true) 
    { for(each currency except base) 
      { currency_strength = currency_strength - USD_strength } }
Key Calculation Features:
  1. Trend Comparison: Analyzes value dynamics over 3 consecutive periods
  2. Pairwise Method: Each currency compared against all others
  3. Scoring System:
    • +1 point for each relative strengthening
    • -1 point for each relative weakening
  4. Relative Strength: Final score = sum of all comparison results
Result Visualization:
Currency | Current | Previous | Prev-2 | Symbol | Strength
------------------------------------------------------
USD | 1.1234 | 1.1200 | 1.1190 | USD | 0.00
EUR | 1.1345 | 1.1300 | 1.1280 | EURUSD | 2.50
GBP | 1.2567 | 1.2500 | 1.2450 | GBPUSD | 1.80
...
Significance for Trading Logic:

Calculated strength directly determines:

  • Trade direction (buy/sell)
  • Position volume
  • Rebalancing necessity
  • Position closing timing

Transforms raw indicator data into actionable trading signals.

Michael Dolgushin  

This implementation represents the basic integration layer of the indicator within the trading system. Given sufficient community interest in the ICI_v2 indicator, I will publish enhanced versions of the expert advisor featuring improved algorithms for:

  • Trading signal detection

  • Capital management

  • Adaptive trading strategies