[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 414
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Obrigado! Encontrei mais alguns aqui, talvez alguém precise dele. Indo para terminar o graal:)
Если массив double а нужен int? Я правильно понял?
Não. Estou escrevendo o link MT4 para outras aplicações através de soquetes. A função soquete retorna na matriz:
Eu importo esta dll para a EA. Entretanto, para chamar esta função, ela precisa ser declarada no Expert Advisor:
A declaração acima provavelmente não está correta - uma opção dll retorna uma matriz, enquanto uma função declarada em um Expert Advisor retornará uma única int.
Como declará-lo em um Expert Advisor para que ele devolva um array, não um único número?
Quem sabe?
Como especificar uma variável em dobro no formato de precisão especificado sem arredondar o número, por exemplo, especificar Bid=1,3988 como Bid=1,398 ???
Кто знает?
Как указать переменную double в указаном формате точности без округление числа, к примеру Bid=1.3988 указать как Bid=1.398 ???
como esta?
Tudo resolvido, a resposta está aqui: https://forum.mql4.com/ru/25945
Por favor, ajude...
\Fim_do_programa' - parêntese_esquerda desequilibrada
extern double Lots = 0.1; extern int TrailingStop=0; extern string symbol="GBPUSD"; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { double ma_close,ma_close_pr,ma_open,ma_open_pr; double spread,sl_buy,sl_sell,high,high_n,low,low_n; int cnt, ticket, total; if(Bars<55) { Print("bars less than 55"); return(0); } // to simplify the coding and speed up access // data are put into internal variables ma_close=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,1); ma_close_pr=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,2); ma_open=iMA(NULL,0,5,0,MODE_EMA,PRICE_OPEN,1); ma_open_pr=iMA(NULL,0,5,0,MODE_EMA,PRICE_OPEN,2); spread=MarketInfo(symbol,MODE_SPREAD); sl_buy=iLow(NULL,0,1)-spread*Point; sl_sell=iHigh(NULL,0,1)+spread*Point; high=iHigh(NULL,0,1); high_n=iHigh(NULL,0,0); low=iLow(NULL,0,1); low_n=iLow(NULL,0,0); //---- total=OrdersTotal(); if(total<1) { // no opened orders identified if(AccountFreeMargin()<(1000*Lots)) { Print("We have no money. Free Margin = ", AccountFreeMargin()); return(0); } // check for long position (BUY) possibility if(ma_close>ma_open && ma_close_pr<ma_open_pr && high_n>high) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,sl_buy,0,"FXJEDDI_MTF:Buy",16384,0,Lime); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice()); } else Print("Error opening BUY order : ",GetLastError()); return(0); } // check for short position (SELL) possibility if(ma_close<ma_open && ma_close_pr>ma_open_pr && low_n<low) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,sl_sell,0,"FXJEDDI_MTF:Sell",16384,0,Red); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice()); } else Print("Error opening SELL order : ",GetLastError()); return(0); } for(int i = 0; i < OrdersTotal(); i++) { // выбор одера if(OrderSelect(i, SELECT_BY_POS) == false) continue; // not current symbol if(OrderSymbol() != Symbol()) continue; } if(OrderType() == OP_SELL) { //при профите >20 pips добавится или докупится ... if(OrderProfit()>20) OrderSend(Symbol(),OP_SELL,Lots,Bid,3,sl_sell,0,"FXJEDDI:Sell",16384,0,Red); } if(OrderType() == OP_BUY) { //при профите >20 pips добавится или докупится ... if(OrderProfit()>20) OrderSend( (Symbol(),OP_BUY,Lots,Ask,3,sl_buy,0,"FXJEDDI:Buy",16384,0,Lime); } return(0); }O que está errado?Parte 2.
Necron скобку где то не закрыл, ищи...
Você já colocou os adendos no código correto?