Trabalho concluído
Tempo de execução 1 dia
Comentário do cliente
Alles TipTop
Comentário do desenvolvedor
Всё прошло успешно! Я рад сотрудничеству!
Termos de Referência
Мне нужно передавать из одного терминала МТ5 в другой, количество открытых позиций.
На пример, из первого при помощи индикаторы, через файл, и потом во втором терминале, функцией блоком в советнике, читать эти данные.
Привожу пример индикатора. Задача или исправить этот индикатор, или предлагать другой и другие решения. Спасибо.
#property indicator_chart_window #property indicator_buffers 1 #property indicator_plots 1 //----- Indicator Parameters //+------------------------------------------------------------------+ input string SubFolder = "MetaTrader 5"; //+------------------------------------------------------------------+ int Handle; //--- int BearPositions; int BullPositions; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() {return(0);} //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { Comment(""); Handle=FileOpen(SubFolder+"\\MQL5\\Files\\"+Symbol()+".csv",FILE_WRITE); Print(Symbol()+".csv"+" File Created: ",(bool)FileIsExist(SubFolder+"\\MQL5\\Files\\"+Symbol()+".csv")); FileClose(Handle); Print(Symbol()+".csv"+" File Deleted: ",(bool) FileDelete(SubFolder+"\\MQL5\\Files\\"+Symbol()+".csv")); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, // number of bars in history at the current tick const int prev_calculated,// number of bars calculated at previous call const datetime &time[], const double &open[], const double& high[], // price array of maximums of price for the indicator calculation const double& low[], // price array of minimums of price for the indicator calculation const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //----- TotalPositions(); //----- Handle=FileOpen(SubFolder+"\\MQL5\\Files\\"+Symbol()+".csv",FILE_WRITE|FILE_SHARE_READ|FILE_ANSI,';'); if(Handle!=INVALID_HANDLE) { FileWrite(Handle,BullPositions,BearPositions); FileClose(Handle); Comment("\n","\n","\n","\n","\n","\n","\n","\n","\n","\n",Symbol(),": ","Bull: ",(string)BullPositions,", Bear: ",(string)BearPositions); //"\n","Ask: ",NormalizeDouble(SymbolInfoDouble(Symbol(),SYMBOL_ASK),_Digits), //"\n","Bid : ",NormalizeDouble(SymbolInfoDouble(Symbol(),SYMBOL_BID),_Digits)); } //----- else Print("File open Failed: "+SubFolder+"\\"+Symbol()+".csv, error",GetLastError()); //----- Done return(rates_total); } //+------------------------------------------------------------------+ //| Bear Positions Counter | //+------------------------------------------------------------------+ void TotalPositions() { //----- int Cnt=0; //----- BearPositions=0; BullPositions = 0; //----- for(Cnt=PositionsTotal()-1;Cnt>=0;Cnt--) { if(PositionGetSymbol(Cnt)==_Symbol) { if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL && PositionGetDouble(POSITION_SL) == NULL) BearPositions++; if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY && PositionGetDouble(POSITION_SL) == NULL) BullPositions++; } } return; } //+------------------------------------------------------------------+
Respondido
1
Classificação
Projetos
78
27%
Arbitragem
13
31%
/
62%
Expirado
15
19%
Livre
Publicou: 4 códigos
2
Classificação
Projetos
53
36%
Arbitragem
0
Expirado
0
Livre
3
Classificação
Projetos
665
41%
Arbitragem
2
100%
/
0%
Expirado
1
0%
Livre
Publicou: 9 códigos
4
Classificação
Projetos
154
29%
Arbitragem
1
100%
/
0%
Expirado
27
18%
Livre
5
Classificação
Projetos
241
20%
Arbitragem
22
50%
/
18%
Expirado
0
Trabalhando
6
Classificação
Projetos
1
0%
Arbitragem
0
Expirado
0
Livre
7
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
8
Classificação
Projetos
643
26%
Arbitragem
92
72%
/
14%
Expirado
12
2%
Trabalhando
Publicou: 1 código
Pedidos semelhantes
Нужен советник на основе разворотных паттернов
500 - 900 USD
Требуется создать советник на основе разворотных паттернов, используя дополнительные индикаторы такие как скользящее среднее, отклонение от скользящей средней, угол наклона скользящей средней. Возможно будет добавлено что то еще по ходу работы
Суть ТС:Приход в POI старшего тф, вход в позицию на младшем тф Анализ графика начинается всегда со старшего тф. Должен быть понятный контекст для работы. Активы: EURUSD, XAUUSD POI старшего таймфрейма: Liquidity (1M, 1W, 1D, 4H, 1H) Imbalance (1M, 1W, 1D, 4H, 1H) Order Block (1M, 1W, 1D, 4H, 1H) HTF Fractals (1M, 1W, 1D, 4H, 1H) Всегда дожидаться цену в POI старшего таймфрейма. Вход в позицию: Слом LTF структуры на
к примеру 10 стратегий выстреливают одновременно в одну и ту же милисекунду при открытие бара надо их сделать последовательными один за другим, с проверкой, что предыдущий ордер был открыт и модифицирован SL TP оредра могут быть отложенные и маркет пока один ордер исполняется другие ждут в очереди так как используется ММ настоящий баланс double Total_Current_Risk() { double res = 0; for (int i = 0; i <
Informações sobre o projeto
Orçamento
34+ USD
Prazo
para 8 dias