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

 
Olá! Esta pode ser uma pergunta boba, mas talvez haja uma solução? Entendo que as solicitações são tratadas por um servidor em uma corretora, mas talvez haja uma forma programática de lidar com elas? É possível reduzir seu tempo? Meu corretor às vezes leva de 7 a 10 segundos! Isto é um pesadelo.
 
Shniperson:
Olá! Esta é provavelmente uma pergunta idiota, mas talvez haja uma solução? Entendo que as solicitações são feitas pelo servidor de corretagem, mas talvez haja uma forma programática de lidar com as solicitações? É possível reduzir seu tempo? Meu corretor às vezes leva de 7 a 10 segundos! Isto é um pesadelo.


Não. A única coisa que você tem à sua disposição é um software de tratamento de solicitações. Exemplo - Função OpenPosition() para online por Kim I.V. - na última linha do ciclo de processamento de solicitações

 if (err!=135) Sleep(1000*7.7);

Em geral, os erros #135 e #138 - envolvem o mesmo processamento, como eu entendo...:-))

ERR_PRICE_CHANGED 135 Preço alterado
ERR_OFF_QUOTES 136 Sem preço
ERR_BROKER_BUSY 137 Corretor ocupado
ERR_REQUOTE 138 Novos preços

Em minha coruja, esta linha é pontuada da seguinte forma

if ((error != ERR_PRICE_CHANGED) && (error != ERR_REQUOTE)) Sleep(1000*7.7);
      


	          
 
Roman.:


Não. Você só tem que lidar com solicitações programáticas. Exemplo - Função OpenPosition() por Kim na última linha do laço para processamento de solicitações

Em geral, os erros #135 e #138 - envolvem o mesmo processamento, como eu entendo...:-))

ERR_PRICE_CHANGED 135 Preço alterado
ERR_OFF_QUOTES 136 Sem preço
ERR_BROKER_BUSY 137 Corretor ocupado
ERR_REQUOTE 138 Novos preços

Em minha coruja esta linha é preenchida da seguinte forma


Não entendo como o atraso do software lhe permite "lutar" contra as solicitações?

A questão é que os DTs estão atrasando a abertura do pedido, e há também um atraso no software.

A única maneira de "combatê-la":

a) usar um grande deslizamento

b) utilizar ordens pendentes

Minha corretora começou ultimamente a atrasar as ordens até um minuto para que eu não possa negociar por ordens do mercado.

 
nadya:
Por que não calcular você mesmo o valor usando a função OrderComission()?

int n=OrdersTotal();
double Comission=0;
while (n>0)
 {
 OrderSelect(n-1,SELECT_BY_POS,MODE_TRADES);
 Comission=Comission+OrderCommission();
 n--;
 }
Não tenho certeza se este código o calcula corretamente
 
abolk:


...

a) utilizar um grande deslizamento

b) utilizar ordens pendentes

...com as ordens do mercado simplesmente não é possível.

a) - esse é o padrão.

b) - se as ordens do mercado estão abertas, por que não usá-las também...

 
Amigos, respondam à minha mensagem anterior, por favor
 

Encontrar valor médio

MathAbs(iClose(NULL,0,i)-iOpen(NULL,0,i))

Executá-lo no testador para n castiçais e produzi-lo em Alerta

Simplesmente não consigo colocá-lo para trabalhar.

Ajuda

 
palesandr:

Encontrar valor médio

MathAbs(iClose(NULL,0,i)-iOpen(NULL,0,i))

Executá-lo no testador para n castiçais e produzi-lo em Alerta

Simplesmente não consigo colocá-lo para trabalhar.

Ajuda

Mostre-nos como não funciona e nós o consertaremos
 


duplo externo n = 360;


int start()
{

double v, vol;

for(int i=1;i<=n;i=i+1)
{
v=MathAbs(iClose(iClose(NULL,0,i)-iOpen(NULL,0,i));
vol=(vol+v);
}
Alert ("vol=", vol );
return;
}

 
palesandr:


duplo externo n = 360;


int start()
{

duplo v, vol;

for(int i=1;i<=n;i=i+1)
{
v=MathAbs(iClose(NULL,0,i)-iOpen(NULL,0,i)));
vol=(vol+v);
}
Alerta ("vol=", vol );
retornar;
}


vol = vol / n;
Alert ("vol=", vol );
Razão: