Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 549

 
GSB:

Não, se você colocar o int slippage em primeiro lugar ele alocará 4 bytes, então você deve somar até 8 (int reserva) ou usar longo ao invés de int


Há aqui mais um momento estranho. Se for um elemento de uma estrutura de string, então se o número de caracteres variáveis deste tipo de string for superior a 7, vamos colocá-lo acima dos outros? Afinal, as cordas sempre têm um caráter nulo no final da corda, e se houver mais de 7 itens na corda, por exemplo, 8 itens, então a corda terá 8 + 1 bytes, porque 8 + \n. Certo?
 
GSB:

129 erro ocorre quando o preço tem tempo de mudar antes que o CD execute seu pedido, use um deslizamento maior.


O deslizamento é de 50 pips antigos, o preço após o ponto decimal tem 5 ou 4 dígitos, às vezes é de 12 ou 16. Eu o testei em demonstração.
 
Example2:


Não não no testador, apenas uma conta demo.

Já notei seu post e excluí o meu - escrevi-o da última página. Sem o código, é difícil dizer-lhe algo específico.
 
artmedia70:
Já notei seu post e excluí o meu - escrevi-o da última página. Sem o código, é difícil dizer-lhe algo específico.


Devo enviá-lo a você no fórum ou em particular?
 
Example2:

Você quer que eu o poste no fórum ou pessoalmente?
Por favor, deixe-o no fórum se você não se importa. Alguém irá corrigi-lo. Já estou rastejando para a cama - são 5h30 da manhã, o cavalo ainda está de pé...
 
Eu também vou para a cama.
Arquivos anexados:
 
     USDCADAsk = MarketInfo("USDCAD",MODE_ASK);            
     USDCADBid = MarketInfo("USDCAD",MODE_BID);

     Comment("USDCADAsk = "+DoubleToStr(USDCADAsk,нужный диджитлс),"\n",
             "USDCADBid = "+DoubleToStr(USDCADBid,нужный диджитлс));
 
hoz:

Há aqui mais um momento estranho. Se houver um item da estrutura do tipo string, se o número de caracteres variáveis deste item for superior a 7, vamos colocá-lo acima do resto? Afinal, as cordas sempre têm um caráter nulo no final da corda e se houver mais de 7 itens na corda, por exemplo, 8 itens, a corda terá 8 + 1 bytes porque 8 + \n. Certo?

Se a estrutura contém variáveis do tipo string e/ou objeto de array dinâmico , o compilador atribui um construtor implícito a tal estrutura, onde todos os membros do tipostringsão zerados e uma inicialização correta érealizada para o objeto de array dinâmico.

 
Example2:

Eu também estou dormindo.

Arquivos anexos:
Kuklovod_USD_1.1.mq4


Você não pode escrever códigos que de forma desatenta :)

Primeiro, Comentário("USDCADAsk = ",USDCADAsk); depois USDCADAsk = DoubleToString(MarketInfo("USDCAD",MODE_ASK),usdcaddigits); USDCADAsk é declarado como um duplo, mas você coloca uma corda nele,

e depois Digits.... novamente ^) e Ponto

Você mesmo tem que procurar por tais erros, ninguém os corrigirá, assim como o comércio! O compilador gera 28 erros e você coloca a demonstração no comércio. Você pode desejar estar usando dinheiro real, mas o mercado teria corrigido você!

 if (USDCHF){while(IsTradeContextBusy()){Sleep(10);}
                    RefreshRates();
                    Result[1] = OrderSend("USDCHF",OP_BUY,Lot,USDCHFAsk,slip,USDCHFAsk-NormalizeDouble(sl*Point,Digits),USDCHFAsk+NormalizeDouble(tp*Point,Digits),"USDCHF",magic[0],0,Red);
                    if (Result[1] < 0){Alert("Функция OpenOrders ","\n","Валютная пара "+"USDCHF","\n",
                    "Команда: открыть ордер Sell","\n", "Ответ сервера: " ,errors(GetLastError()) );}}
        if (USDJPY){while(IsTradeContextBusy()){Sleep(10);}
                    RefreshRates();
                    Result[2] = OrderSend("USDJPY",OP_BUY,Lot,USDJPYAsk,slip,USDJPYAsk-NormalizeDouble(sl*Point,Digits),USDJPYAsk+NormalizeDouble(tp*Point,Digits),"USDJPY",magic[0],0,Red);
                    if (Result[2] < 0){Alert("Функция OpenOrders ","\n","Валютная пара "+"USDJPY","\n", 
                    "Команда: открыть ордер Sell","\n", "Ответ сервера: " ,errors(GetLastError()) );}}

De quem é o Bid Ask ?

//-----------

void CloseOrders(){
      for (int i = OrdersTotal()-1; i>=0; i--){
         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
             if (OrderMagicNumber() == magic[0]){
               if (USDBuySl || USDBuyTp){
                 while(IsTradeContextBusy()){Sleep(10);}
                 RefreshRates();
                 OrderClose(OrderTicket(),OrderLots(),Bid,slip,Blue);
               }
             }
   .................
        OrderClose(OrderTicket(),OrderLots(),Ask,slip,Blue);


Correção

RefreshRates();
double bid=MarketInfo(OrderSymbol(),MODE_BID);
double ask=MarketInfo(OrderSymbol(),MODE_ASK);
OrderClose(OrderTicket(),OrderLots(),bid,slip,Blue);
.............
OrderClose(OrderTicket(),OrderLots(),ask,slip,Blue);
 
Ajude-me a encontrar o valor máximo do indicador N para o dia anterior, eu obtenho dados através do iCustom e depois um impasse. Acho que é feito através do ArrayMaximum, mas como encontrar o valor

Eu não sei o que o iCustom deveria fazer, não consigo pensar em outras opções.