[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 408

[Deleted]  
costy_:
Obrigado.
 
Roman.:


Cópias de terminais... :-)

Cada um tem sua própria conta comercial única.

Você quer dizer que você tem que rodar vários terminais ao mesmo tempo e fazer login com nomes de usuário diferentes em cada um deles?
 
LOA:

Sim.... Resposta "Exaustiva". Cada evento tem que ter uma razão. Os profissionais, ao encontrarem alguns problemas, sabem o que devem prestar atenção. Já procurei várias vezes no algoritmo, mas não consigo encontrar a causa. Por isso, peço conselhos aos profissionais - qual poderia ser a causa?
Bem, se você mesmo não pode fazer isso, o algoritmo como um todo não dói, nas linhas dadas as falhas aparentes não o são. A observação é totalmente pertinente.
[Deleted]  
costy_:

... indicador.

int start(){
  double Val=iCustom(NULL, 0, "HMR MULTI Indicator",0,0);   
  Alert(Val);
}

experimente o método "gut feeling" com um Expert Advisor vazio,

Verifique no indicador para ObjectCreate para encontrar sua subjanela (ou por que desenhá-la SE TESTE OU OPTIMIZAÇÃO)

if(IsTesting()||IsOptimization())флаг_Канады_не_рисовать_obj=true;          //проверяем надо ли рисовать (в ините ему место через статик переменную)
if(!флаг_Канады_не_рисовать_obj){                                           //запрет отрисовки объектов ели оптимизация или тестирование
ObjectCreate(........................);
}


Eu tentei um Expert Advisor vazio, Alert é exibido normalmente, mas no indicador ObjectCreate tem esta visão:

#property indicator_separate_window
#property indicator_buffers 8
#property indicator_color1 Yellow
#property indicator_color2 Aqua
#property indicator_color3 Blue
#property indicator_color4 Red
#property indicator_color5 White
#property indicator_color6 Magenta
#property indicator_color7 Lime
#property indicator_color8 Indigo

extern string S1 = "EURUSD";  
extern string S2 = "EURJPY";  
extern string S3 = "EURCAD";  
extern string S4 = "AUDUSD";  
extern string S5 = "GBPUSD";  
extern string S6 = "USDJPY";  
extern string S7 = "USDCHF";  
extern string S8 = "USDCAD";
//переменные объявляем сразу,чтобы постоянно не создавались (оптимизация)
double Buff1[],Buff2[],Buff3[],Buff4[],Buff5[],Buff6[],Buff7[],Buff8[],
       x1,x2,x3,x4,x5,x6,x7,x8;
int    BarsOnScreen,LeftBar,RightBar,i;
bool   _init;
string name = "HMR MULTI Indicator";     
//+------------------------------------------------------------------+
int init()
  {
   _init = false;
   IndicatorBuffers(8);
   //Если символ графика совпадает с символом прорисовки,нарисуем линию толще
   if (Symbol()==S1) i=3;else i=1;
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,i,indicator_color1); SetIndexBuffer(0,Buff1);
   if (Symbol()==S2) i=3;else i=1;
   SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,i,indicator_color2); SetIndexBuffer(1,Buff2);
   if (Symbol()==S3) i=3;else i=1;
   SetIndexStyle (2,DRAW_LINE,STYLE_SOLID,i,indicator_color3); SetIndexBuffer(2,Buff3);
   if (Symbol()==S4) i=3;else i=1;
   SetIndexStyle (3,DRAW_LINE,STYLE_SOLID,i,indicator_color4); SetIndexBuffer(3,Buff4);
   if (Symbol()==S5) i=3;else i=1;
   SetIndexStyle (4,DRAW_LINE,STYLE_SOLID,i,indicator_color5); SetIndexBuffer(4,Buff5);
   if (Symbol()==S6) i=3;else i=1;
   SetIndexStyle (5,DRAW_LINE,STYLE_SOLID,i,indicator_color6); SetIndexBuffer(5,Buff6);
   if (Symbol()==S7) i=3;else i=1;
   SetIndexStyle (6,DRAW_LINE,STYLE_SOLID,i,indicator_color7); SetIndexBuffer(6,Buff7);
   if (Symbol()==S8) i=3;else i=1;
   SetIndexStyle (7,DRAW_LINE,STYLE_SOLID,i,indicator_color8); SetIndexBuffer(7,Buff8);
  return(0);
  }
//+------------------------------------------------------------------+
int deinit()
  {
  ObjectsDeleteAll();  
  return(0);
  }
//+------------------------------------------------------------------+
int start()
{
      if (!_init) MyInit();
      BarsOnScreen = WindowBarsPerChart()+1;
      LeftBar = WindowFirstVisibleBar();
      RightBar = LeftBar-BarsOnScreen;
      if (RightBar<0) RightBar=0;
       //Проверяем есть ли история баров для прорисовки
      if (LeftBar>iBars(S1,0) || LeftBar>iBars(S2,0) || LeftBar>iBars(S3,0) || LeftBar>iBars(S4,0) ||
          LeftBar>iBars(S5,0) || LeftBar>iBars(S6,0) || LeftBar>iBars(S7,0) || LeftBar>iBars(S8,0)) return;
       //Выносим из цикла,чтобы уменьшить расчёты (оптимизация)
       x1=iClose(S1,0,iHighest(S1,0,MODE_CLOSE,BarsOnScreen,RightBar));
       x2=iClose(S2,0,iHighest(S2,0,MODE_CLOSE,BarsOnScreen,RightBar));
       x3=iClose(S3,0,iHighest(S3,0,MODE_CLOSE,BarsOnScreen,RightBar));  
       x4=iClose(S4,0,iHighest(S4,0,MODE_CLOSE,BarsOnScreen,RightBar));
       x5=iClose(S5,0,iHighest(S5,0,MODE_CLOSE,BarsOnScreen,RightBar));
       x6=iClose(S6,0,iHighest(S6,0,MODE_CLOSE,BarsOnScreen,RightBar));
       x7=iClose(S7,0,iHighest(S7,0,MODE_CLOSE,BarsOnScreen,RightBar));
       x8=iClose(S8,0,iHighest(S8,0,MODE_CLOSE,BarsOnScreen,RightBar));
       for(i=RightBar; i<LeftBar; i++)
        {       
         Buff1[i] = iClose(S1,0, i)/x1;
         Buff2[i] = iClose(S2,0, i)/x2;
         Buff3[i] = iClose(S3,0, i)/x3;  
         Buff4[i] = iClose(S4,0, i)/x4;
         Buff5[i] = iClose(S5,0, i)/x5;
         Buff6[i] = iClose(S6,0, i)/x6;
         Buff7[i] = iClose(S7,0, i)/x7;
         Buff8[i] = iClose(S8,0, i)/x8;
        }
return(0);
}   
//+------------------------------------------------------------------+
void MyInit ()
{
   //Подменяем имя индикатора чтобы получить уникальный номер окна
   string label = GetTickCount();
   IndicatorShortName(label);
   int win = WindowFind(label);
   //Восстанавливаем имя индикатора
   IndicatorShortName(name);
   //---- labels    
   ObjectCreate("L1"+label,OBJ_LABEL,win,0,0,0,0);
   ObjectSet("L1"+label,OBJPROP_XDISTANCE,10);
   ObjectSet("L1"+label,OBJPROP_YDISTANCE,12);
   ObjectSetText("L1"+label,S1,10,"Tahoma",indicator_color1);
   ObjectCreate("L2"+label,OBJ_LABEL,win,0,0,0,0);
   ObjectSet("L2"+label,OBJPROP_XDISTANCE,10);
   ObjectSet("L2"+label,OBJPROP_YDISTANCE,24);
   ObjectSetText("L2"+label,S2,10,"Tahoma",indicator_color2);
   ObjectCreate("L3"+label,OBJ_LABEL,win,0,0,0,0);
   ObjectSet("L3"+label,OBJPROP_XDISTANCE,10);
   ObjectSet("L3"+label,OBJPROP_YDISTANCE,36);
   ObjectSetText("L3"+label,S3,10,"Tahoma",indicator_color3);
   ObjectCreate("L4"+label,OBJ_LABEL,win,0,0,0,0);
   ObjectSet("L4"+label,OBJPROP_XDISTANCE,10);
   ObjectSet("L4"+label,OBJPROP_YDISTANCE,48);
   ObjectSetText("L4"+label,S4,10,"Tahoma",indicator_color4);
   ObjectCreate("L5"+label,OBJ_LABEL,win,0,0,0,0);
   ObjectSet("L5"+label,OBJPROP_XDISTANCE,10);
   ObjectSet("L5"+label,OBJPROP_YDISTANCE,60);
   ObjectSetText("L5"+label,S5,10,"Tahoma",indicator_color5);   
   ObjectCreate("L6"+label,OBJ_LABEL,win,0,0,0,0);
   ObjectSet("L6"+label,OBJPROP_XDISTANCE,10);
   ObjectSet("L6"+label,OBJPROP_YDISTANCE,72);
   ObjectSetText("L6"+label,S6,10,"Tahoma",indicator_color6);
   ObjectCreate("L7"+label,OBJ_LABEL,win,0,0,0,0);
   ObjectSet("L7"+label,OBJPROP_XDISTANCE,10);
   ObjectSet("L7"+label,OBJPROP_YDISTANCE,84);
   ObjectSetText("L7"+label,S7,10,"Tahoma",indicator_color7);
   ObjectCreate("L8"+label,OBJ_LABEL,win,0,0,0,0);
   ObjectSet("L8"+label,OBJPROP_XDISTANCE,10);
   ObjectSet("L8"+label,OBJPROP_YDISTANCE,96);
   ObjectSetText("L8"+label,S8,10,"Tahoma",indicator_color8);
   WindowRedraw();
   _init = true;
}

O que eu deveria mudar aqui...?

 
kolyango:


Eu tentei um EA vazio, Alerta é exibido ok, mas no indicadorObjectCreate temesta visão:

O que precisa ser mudado aqui...?

o desalinhamento é assegurado.

iClose(S1,0,iHighest(S1,0,MODE_CLOSE,BarsOnScreen,iBarShift(S1,0,Time[RightBar])));

e você tem

iClose(S1,0,iHighest(S1,0,MODE_CLOSE,BarsOnScreen,RightBar))

turno no tempo, mas não em bares

a realização de tudo em uma janela não é boa (embora grinaldas de ano novo))

e isso leva tanto tempo )) tutz

Arquivos anexados:
xxx.mq4  7 kb
 
gara:

Olá a todos, pergunta para profissionais:

Por favor, explique como funciona o MT4.

Minha visão:

O terminal está funcionando, a Internet está conectada, na visão geral do mercado alguns instrumentos estão funcionando, alguns gráficos estão abertos a partir deles. Vamos considerar um instrumento que tenha um gráfico aberto, digamos que ele tenha sido marcado para frente e para trás e a barra fechada. O momento não está claro:

A última barra formada que vejo no meu gráfico corresponde à barra do lado do corretor, porque uma parte dos carrapatos pode faltar ou há uma sincronização total com a chegada de cada carrapato?

Com que freqüência meu histórico está sincronizado com o histórico do corretor?


Atrevo-me a repetir a pergunta
[Deleted]  
gara:
Atreva-se a repetir a pergunta
gara O terminal é sincronizado a cada tique. Pode haver vários carrapatos por segundo. Ela só está fora de sincronia se a conexão for perdida. Neste caso, quando a comunicação é restabelecida, os carrapatos perdidos são carregados.
 
igid:
Então você tem que iniciar vários terminais ao mesmo tempo e fazer login com logins diferentes em cada um deles?

Exatamente. É mais fácil nem mesmo instalar terminais do zero, mas copiar o existente com configurações já disponíveis em pastas, por exemplo 1,2,3,4...100

E você tem que pressionar "Abrir Conta" em cada terminal e simultaneamente iniciar o Expert Advisor com configurações diferentes, que você quer verificar e ver em um ou dois meses, quais são as melhores configurações.

 

Você pode aconselhar quem tem usado o terminal Alpari? Eu dirijo um Expert Advisor para 50 pares de moedas, mas ele continua faltando um tique, mesmo para ordens pendentes. Eu tenho um deslize preparado.

Também recebo erro 4066, nenhum símbolo na janela de visão geral do mercado, embora esteja lá.

É um servidor com tantas falhas? Em outro corretor, mesmo com uma fração desses problemas, eu não enfrentei

 

Boa tarde a todos,

Sou um completo novato em programação e meu robô faz apenas 2 ofícios por semana,

Mas você pode me dizer como (! realmente cansado de procurar!) mudar a cor da linha de média móvel (estou usando o iMa padrão) na tabela?

Exemplo de código: FixEma= iMA (NULL,0,fix,0, MODE_EMA, PRICE_LOW,0);

Eles são vermelhos, de fato (tenho 6 deles) e depois de cada teste tenho que pintar a tabela manualmente (sou assim...). Eu não quero reescrevê-lo.

Talvez haja um comando padrão?

Não julgue estritamente, estou apenas aprendendo...