Divulgação do comércio no Meta Trader - página 159
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 pela informação.
Eis o que eu não consigo entender. Se eu usar data obtida com MarketInfo(),
Como estabelecer uma condição para proibir a abertura de vagas em 3 semanas? E, correspondentemente, se eu entendi corretamente, seria razoável fechar as posições existentes. Esta é a data de expiração, e quanto mais próximo dela, maior o risco de força maior.
Aqui está um roteiro que rastreia o spread de oferta e procura (especificamente para corretagem).
Em algum lugar acima no meio do fio há a mesma versão, mas como um indicador.
Meu script consome recursos significativos da CPU (-schedule), então é melhor colocá-lo imediatamente antes de abrir/fechar, e depois removê-lo de uma vez.
6NZ0, M1
Que tal usar o exemplo do goldtrader com o código de seu script
//Задаем цены аск и бид тикера Ask_Tiker = MarketInfo(_tiker,MODE_ASK); Bid_Tiker = MarketInfo(_tiker,MODE_BID);
Como um filtro em um EA. E você não precisa de um roteiro.Obrigado pela informação.
Eis o que eu não consigo entender. Se eu usar data obtida com MarketInfo(),
Como estabelecer uma condição para proibir a abertura de vagas em 3 semanas? E, correspondentemente, se eu entendi corretamente, seria razoável fechar as posições existentes. Esta é a data de expiração, e quanto mais próximo dela, maior o risco de força maior.
E se você usar a construção que o goldtrader sugeriu com o código de seu script
O mesmo que o filtro no Expert Advisor. E o roteiro não é necessário.Bem, isso é óbvio! O roteiro só é necessário para o comércio manual.
Você também pode inserir as condições de fechamento/abertura por meio de um ticker em seu Expert Advisor. No entanto, há uma dificuldade. O EA terá que fazer loop em seu trabalho (e portanto - carga excessiva no processador), caso contrário, este filtro será absolutamente inútil para contratos de baixa liquidez.
Boa tarde, minha pergunta está no ponto certo.
O indicador de dispersão em suas PROPRIEDADES permite definir os nomes dos instrumentos.
string externa Symbol_1 = "GCG1";
string externa Symbol_2 = "SIF1";
Como escrever
símbolo de corda, em tempo hábil,
- Qual ferramenta eu devo selecionar - a primeira ou a segunda? Ou qualquer um deles?
não há como aplicá-lo aqui
Você precisa incorporar o código no Expert Advisor e especificar a condição lá
//----
extern string Simbol1 = "ESZ0"; extern double k1 =1;
extern string Simbol2 = "NQZ0"; extern double k2 =1;
extern double lot =1;
//----
extern double maxSpred =30;
extern int MinTimeExp =1800000;
int exp1,exp2,v1,v2;
//+------------------------------------------------------------------+
double StoimPunkt(string B){return(MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT)));}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
double sred(int typ,string B)
{double j;RefreshRates();
if(typ==0)j=((MarketInfo(B+"#I",MODE_ASK)-MarketInfo(B,MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(typ==1)j=((MarketInfo(B,MODE_BID)-MarketInfo(B+"#I",MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(j<0)j=0;return(j);}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
int start()
{
exp1 =MarketInfo(Simbol1,MODE_EXPIRATION);
exp2 =MarketInfo(Simbol2,MODE_EXPIRATION);
v1 =MarketInfo(Simbol1,MODE_TRADEALLOWED);
v2 =MarketInfo(Simbol2,MODE_TRADEALLOWED);
if((sred(0,Simbol1)*lot*k1+sred(1,Simbol1)*lot*k1<maxSpred)&&(sred(0,Simbol2)*lot*k2+sred(1,Simbol2)*lot*k2<maxSpred)&&
(TimeCurrent()+MinTimeExp<exp1)&&(TimeCurrent()+MinTimeExp<exp2)&&(v1 ==1)&&(v2 ==1))
{
код советника
}
}
//+------------------------------------------------------------------+
não há como aplicá-lo aqui
Você precisa incorporar o código no Expert Advisor e especificar a condição lá
//----
extern string Simbol1 = "ESZ0"; extern double k1 =1;
extern string Simbol2 = "NQZ0"; extern double k2 =1;
extern double lot =1;
//----
extern double maxSpred =30;
extern int MinTimeExp =1800000;
int exp1,exp2,v1,v2;
//+------------------------------------------------------------------+
double StoimPunkt(string B){return(MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT)));}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
double sred(int typ,string B)
{double j;RefreshRates();
if(typ==0)j=((MarketInfo(B+"#I",MODE_ASK)-MarketInfo(B,MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(typ==1)j=((MarketInfo(B,MODE_BID)-MarketInfo(B+"#I",MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(j<0)j}0;return(j);}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
int start()
{
exp1 =MarketInfo(Simbol1,MODE_EXPIRATION);
exp2 =MarketInfo(Simbol2,MODE_EXPIRATION);
v1 =MarketInfo(Simbol1,MODE_TRADEALLOWED);
v2 =MarketInfo(Simbol2,MODE_TRADEALLOWED);
if((sred(0,Simbol1)*lot*k1+sred(1,Simbol1)*lot*k1<maxSpred)&&(sred(0,Simbol2)*lot*k2+sred(1,Simbol2)*lot*k2<maxSpred)&&
(TimeCurrent()+MinTimeExp<exp1)&&(TimeCurrent()+MinTimeExp<exp2)&&(v1 ==1)&&(v2 ==1))
{
код советника
}
}
//+------------------------------------------------------------------+
Mais uma vez, obrigado. Ela também responde às minhas perguntas.
Informações para reflexão...
MC - YM (4 ^ 9)
Informações para reflexão...
MC - YM (4 ^ 9)
=================================