Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1122

 
Alekseu Fedotov:

Não vai embora.

leia

Modificado

if(Bid == PriceLine)

para

if(NormalizeDouble(Bid,4) == NormalizeDouble(PriceLine,4))

As transações ainda não se abrem no cruzamento

 
Fib0 RU:

Modificado

para

Os ofícios ainda não se abrem na travessia

O preço entre carrapatos não é igual a 1 ponto, esta igualdade é rara. se de baixo do preço, então apanhar o preço é maior ou igual. Se sem controlar de onde veio o preço, é mais complicado. como se fosse menos, tornou-se mais ou igual e simétrico. Há duas verificações. Verifique a faixa de nível de linha mais 5 pips e menos 5 pips.

 
É possível para a biblioteca emitir informações para um arquivo (simular a função Print()) para verificar quais valores estão dentro da função da biblioteca, tentou a maneira usual de emitir para um arquivo usando meios C++ não ajudou, eu dei exemplos antes, quem pode dar conselhos?
 
Valeriy Yastremskiy:

o preço entre carrapatos não é igual a 1 ponto, esta igualdade é rara. se de baixo do preço, então apanhar o preço é maior ou igual. Se sem controlar de onde veio o preço. É mais complicado. Como se fosse menos, tornou-se mais ou igual e simétrico. Há duas verificações. Verifique a faixa de nível de linha mais 5 pips e menos 5 pips.

Mas ao definir as linhas manualmente sem o indicador, os negócios são abertos, mesmo que nem sempre. O assessor não vê as linhas indicadoras.
 
Seric29:
É possível, a partir do lado da biblioteca, enviar informações para arquivo (simular função Print()) para verificar quais valores estão dentro da função da biblioteca, a forma usual de envio para arquivo por meio de C++ não ajudou, dei exemplos antes, quem pode aconselhar o quê?
std::fstream, CreateFile. O que você mais gosta, ambos trabalham.
 
Vladimir Simakov:
std::fstream, CreateFile. O que eu gosto mais, ambos trabalham.

Você verificou seus próprios conselhos?

Por favor, tente isto e nenhum arquivo é criado ou escrito Eu tentei manualmente e também não funciona

#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <fstream>
#include <string>


/*using std::cout;
using std::endl;
using std::cin;*/

using namespace std;


#define _DLLAPI extern "C" __declspec(dllexport)

/*_DLLAPI int __stdcall Funkt(int qa){//"C:\\Program Files(x86)\\Forex4you\\MQL4\\Experts\\Moyperviyzapisfiles.txt\\Moyperviyzapisfiles.txt"
        ofstream file;//"C:\\Users\\123\\Documents\\Visual Studio 2012\\Projects\\ConsoleApplication8\\ConsoleApplication8\\Moyperviyzapisfiles.txt"
        //"C:\\Users\\123\\documents\\visual studio 2012\\Projects\\ConsoleApplication8\\Debug\\ConsoleApplication8.dll\\Moyperviyzapisfiles.txt"
        file.open("C:\\Program Files(x86)\\Forex4you\\MQL4\\Experts\\Moyperviyzapisfiles.txt");//,ios::out
        file<<"Moyperviyzapisfiles";//(string)qa
        file.close();   
        return 12;}*/
A função conecta e devolve 12, mas não faz nenhum trabalho de arquivo.
 

Alguém pode ajudar onde eu tenho o erro?


/////////////////////////////////////////////////

// Feche o pedido, mas somente se estiver em lucro //

/////////////////////////////////////////////////


void CloseIfInProfit(string symb , int index)

{

para (int i = 0;i <= OrderTotal();i++)

{

if( OrderSelect(i,SELECT_BY_POS,MODE_TRADES) )

{

if( OrderSymbol() == symb )

{

lucro duplo = ( OrderProfit() - OrderComission () - OrderSwap() );

if( ( ( OrderType() == OP_BUY || OrderType() == OP_SELLL) && ( lucro >= 0 ) && (OrderMagicNumber() == MAGIC) )

{

OrderClose(OrderTicket(),OrderLots(),MarketInfo(symb,MODE_BID),100,Red); // Fechar qualquer ordem aberta

ObjectSetText("Text2"+symb,",TextSize, "Arial"); // Livra-se da mensagem de critérios de entrada.

}

if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)

{

OrderDelete(OrderTicket()); // Eliminar qualquer ordem pendente

ObjectSetText("Text2"+symb,",TextSize, "Arial"); // Livra-se da mensagem de critérios de entrada.

}

}

}

}

parcial[índice] = falso;

}


 

Olá a todos!

Por favor, ajude-me a resolver um problema.

Eu escrevi um robô em mql4. Quero reescrever este robô em alguma linguagem mql próxima para poder trabalhar na bolsa, como binance, bimex que tem um terminal comercial diferente.

 
Seric29:

Você verificou seus próprios conselhos?

Por favor, tente isto e nenhum arquivo é criado ou escrito Eu tentei manualmente e também não funciona

A função conecta e devolve 12, mas não funciona com os arquivos.
Tente criar um arquivo onde você tenha direitos de acesso))))
 
Fib0 RU:
Mas ao definir as linhas manualmente sem um indicador, as negociações são abertas, mesmo que nem sempre. O Expert Advisor não vê as linhas indicadoras.
if((fabs( round((Bid - PriceLine}/Point))<=10)Print (Bid,"  ",PriceLine);

Tente olhar o livro de registro para ver o que ele imprime. Este é o módulo da diferença arredondada para o inteiro dividido pelo ponto.

Razão: