Create a Expert Advisor that can use deepseek

Termos de Referência

I want a EA that I can apply to a chart and it will evaluate the historical date using deepsaeek(deep thinks) ai but I want itnto take trade using the methodology in a pdf that I have https://acrobat.adobe.com/id/urn:aaid:sc:VA6C2:eaacada6-568e-4c5e-8574-9c423609413f . But I also want it to be some type of box to be able to type and talk to the ai while one the chart. https://github.com/deepseek-ai/DeepSeek-V3


Also I have a base


//+------------------------------------------------------------------+

//| WyckoffEA.mq5 |

//| Copyright 2023, Based on Wyckoff Method |

//+------------------------------------------------------------------+

#property copyright "Wyckoff MT5 EA"

#property version "1.00"

#property strict


#include <Trade\Trade.mql5>

CTrade trade;


// Input Parameters

input double RiskPercent = 1.0; // Risk per trade (%)

input int ATRPeriod = 14; // ATR Period

input int MinRangeBars = 20; // Min range bars

input double VolumeMulti = 2.0; // Volume multiplier

input int TrendMA = 200; // Trend MA period


// Global Variables

double lotSize;

ulong magicNumber = 20231001;

int atrHandle;


//+------------------------------------------------------------------+

//| Expert initialization function |

//+------------------------------------------------------------------+

int OnInit()

{

   atrHandle = iATR(_Symbol, _Period, ATRPeriod);

   trade.SetExpertMagicNumber(magicNumber);

   return(INIT_SUCCEEDED);

}


//+------------------------------------------------------------------+

//| Expert tick function |

//+------------------------------------------------------------------+

void OnTick()

{

   if(Bars(_Symbol, _Period) < 100 || !IsTradeAllowed()) return;

   

   CheckForWyckoffSignals();

}


//+------------------------------------------------------------------+

//| Main Wyckoff Logic Controller |

//+------------------------------------------------------------------+

void CheckForWyckoffSignals()

{

   MqlRates rates[];

   CopyRates(_Symbol, _Period, 0, 5, rates);

   

   // Check existing positions

   if(PositionSelect(_Symbol)) return;

   

   // Detect Accumulation Pattern

   if(IsAccumulationPhase(rates))

   {

      double springLow = DetectSpringLow(rates);

      double entry = rates[0].close;

      double sl = springLow - GetATRValue();

      double tp = entry + (entry - sl) * 3; // 1:3 RR

      

      if(entry > sl && entry - sl > _Point * 10)

         ExecuteTrade(ORDER_TYPE_BUY, entry, sl, tp);

   }

   

   // Detect Distribution Pattern (similar structure)

   // ...

}


//+------------------------------------------------------------------+

//| Accumulation Phase Detection |

//+------------------------------------------------------------------+

bool IsAccumulationPhase(MqlRates &rates[])

{

   // Check market context

   if(!IsDowntrend()) return false;

   if(!IsTradingRange(MinRangeBars)) return false;

   

   // Check Spring characteristics

   if(rates[1].low < rates[2].low && 

      rates[1].close > (rates[1].high + rates[1].low)/2 &&

      IsVolumeSpike(rates[1].tick_volume))

   {

      // Confirm SOS

      if(IsSignOfStrength(rates[0]))

         return true;

   }

   return false;

}


//+------------------------------------------------------------------+

//| Volume Spike Detection |

//+------------------------------------------------------------------+

bool IsVolumeSpike(long volume)

{

   long avgVolume[];

   CopyBufferTickVolume(_Symbol, _Period, 0, 20, avgVolume);

   

   double avg = 0;

   for(int i=0; i<20; i++) avg += avgVolume[i];

   avg /= 20;

   

   return volume > (avg * VolumeMulti);

}


//+------------------------------------------------------------------+

//| Sign of Strength Detection |

//+------------------------------------------------------------------+

bool IsSignOfStrength(MqlRates &currentRate)

{

   double bodySize = currentRate.close - currentRate.open;

   double candleRange = currentRate.high - currentRate.low;

   

   return (bodySize > candleRange * 0.7) && 

          (currentRate.close > currentRate.open) &&

          IsVolumeSpike(currentRate.tick_volume);

}


//+------------------------------------------------------------------+

//| Trade Execution |

//+------------------------------------------------------------------+

void ExecuteTrade(ENUM_ORDER_TYPE type, double price, double sl, double tp)

{

   double riskAmount = AccountInfoDouble(ACCOUNT_BALANCE) * RiskPercent / 100;

   double tickValue = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);

   double pointValue = SymbolInfoDouble(_Symbol, SYMBOL_POINT);

   

   double riskPips = MathAbs(price - sl) / pointValue;

   lotSize = (riskAmount / (riskPips * tickValue));

   lotSize = NormalizeDouble(lotSize, 2);

   

   trade.PositionOpen(_Symbol, type, lotSize, price, sl, tp, "Wyckoff Accumulation");

}


//+------------------------------------------------------------------+

//| ATR Value Getter |

//+------------------------------------------------------------------+

double GetATRValue()

{

   double atr[];

   CopyBuffer(atrHandle, 0, 0, 1, atr);

   return atr[0];

}


//+------------------------------------------------------------------+

//| Trend Detection |

//+------------------------------------------------------------------+

bool IsDowntrend()

{

   double ma[];

   CopyBuffer(iMA(_Symbol, _Period, TrendMA, 0, MODE_SMA, PRICE_CLOSE), 0, 0, 2, ma);

   return Close(1) < ma[1] && Close(0) < ma[0];

}


//+------------------------------------------------------------------+

//| Range Detection |

//+------------------------------------------------------------------+

bool IsTradingRange(int bars)

{

   double highs[], lows[];

   CopyHigh(_Symbol, _Period, 0, bars, highs);

   CopyLow(_Symbol, _Period, 0, bars, lows);

   

   double rangeHigh = highs[ArrayMaximum(highs)];

   double rangeLow = lows[ArrayMinimum(lows)];

   

   return (rangeHigh - rangeLow) < (GetATRValue() * 2);

}

Respondido

1
Desenvolvedor 1
Classificação
(29)
Projetos
33
27%
Arbitragem
20
10% / 50%
Expirado
11
33%
Livre
2
Desenvolvedor 2
Classificação
Projetos
0
0%
Arbitragem
1
0% / 100%
Expirado
0
Livre
Pedidos semelhantes
┌─────────────┐ │ SMC ROBOT │ │ v2.0 │ └─────────────┘ [ANTENNA] │ ╔════════╧════════╗ ║ HEAD UNIT ║ ║ ┌───────────┐ ║ ║ │ ◉ ◉ │ ║ ← Optical Sensors ║ └───────────┘ ║ ╚════════╤════════╝ │ ╔════════╧════════╗ ║ TORSO ║ ║ ┌───────────┐ ║ ║ │ SMC CORE │ ║ ← Processing Unit ║ │ ARM V9 │ ║ ║ └───────────┘ ║ ║ [||||||||||] ║ ← Power Indicator ╚═══╤═══════╤════╝ │ │ ┌───┘ └───┐
I already have the source code of an MT5 Expert Advisor. The EA is about 70% complete. I need someone to modify and complete it. Requirements: • Manage EURUSD only. • Manage manual trades only (Magic Number = 0). • Support unlimited manual positions simultaneously. • Automatically add a 10-pip Stop Loss if a position has no Stop Loss. • Automatically add a 10-pip Take Profit if a position has no Take Profit. • Do not
I am looking for an expert MQL5 developer to build a robust, professional Expert Advisor for Gold (XAUUSD). The EA must be Event-Driven (OnTick) with no 'Sleep' functions, ensuring instant execution. ​ Core Logic: ​ Grid Strategy: Start with 0.02 Buy/Sell. Lot size sequence: 0.02, 0.03, 0.05, 0.09, 0.14, 0.26, 0.44, 0.75, 1.28, 2.18 (Max 10 steps). ​ Dynamic TP: Total basket TP must update instantly upon new order
SETJEO'S GOLD EA 30 - 200 USD
double GetTodayProfit() { double profit = 0; datetime today = StringToTime(TimeToString(TimeCurrent(), TIME_DATE)); HistorySelect(today, TimeCurrent()); for(int i = HistoryDealsTotal() - 1; i >= 0; i--) { ulong ticket = HistoryDealGetTicket(i); if(HistoryDealGetString(ticket, DEAL_SYMBOL) == _Symbol) { profit += HistoryDealGetDouble(ticket, DEAL_PROFIT); } } return profit; }
I have an expert advisor's investor login. I want you to study it and make me the exact same EA. There should be absolutely no differences or mistakes. You should have great observation skills for this aswell
I am looking for a developer to create an Expert Advisor (EA) for MetaTrader 5. Requirements: Trade XAUUSD (Gold) Automatically open and close trades Include Stop Loss and Take Profit settings Adjustable lot size and risk percentage Work on MT5 Allow me to change settings from the EA inputs Include backtesting support Source code preferred
I have build a trading view indicator which monitors trades. The strategy is based on OB, it buys and sells bullish and bearish OB. Also valid re enters on the retest of orderblocks only if TP is hit the first time. I’m looking for someone to develop me a EA which works on the same logic and buys and sells of the same logic as my Indicator. I currently have my indicator firing signals into a telegram channel so I
I am looking for an experienced MQL5 developer to code a simple grid trading strategy into an Expert Advisor. The strategy logic is already defined, and I am looking for someone with strong MQL5 development experience to implement it accurately and efficiently. If you are interested and have relevant experience, please get in touch so we can discuss the project details
I am looking for an experienced MQL5 or MQL4 developer with a strong background in low-latency algorithmic trading, market data integration, arbitrage and execution optimization. The project involves developing a high-performance HFT Expert Advisor (EA) for XAUUSD or US30 on IC Markets that is designed for robust execution in both demo and live environments. The EA may use market data feeds (such as lmax,one zero or
I am looking for an experienced MQL5 or MQL4 developer with a strong understanding of high-frequency trading (HFT) concepts who can explain how certain HFT-style strategies have historically been able to pass proprietary firm evaluations while also being profitable on demo accounts and capable of transitioning successfully to live trading. I am interested in understanding the legitimate trading logic, execution

Informações sobre o projeto

Orçamento
30 - 100 USD