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

 
bool Val_max=true;
bool Cl_dn=true;
bool Val_min=true;
//лучше определиться где правда, а где ложь, ладн, будем считать все семафоры открытыми

void start()
  {
      if(Val_max==true)
         if(условие_1)
         {
           Alert("Значение инд. >= 1.0000 (исп. 1-е усл.)");
           Val_max=false;//считаем что первое условие выполнилось                                       //заглушка
         }
      if(Cl_dn==true && Val_max==false) //тут тоже более менее нормуль, второе условие проверяется если отметилось первое
         if(условие_2)
         {
           Alert("1 бар закрылся падением (исп. 2-е усл.)");
           Cl_dn=false;                                         //заглушка
         }
      if(Val_min==true && Val_max==false && Cl_dn==false)//третье будет проверяться только после наступления первых двух
         if(условие_3)
         {
           Alert("Значение инд. <= 0.9980 (исп. 3-е усл.)");
           Val_min=false;                                       //заглушка
         }
      if(Val_max!=true && Cl_dn!=true && Val_min!=true)
         {
           //здесь будет посылаться жирный ордер
           Val_max=true;
           Cl_dn=true;
           Val_min=true;      
         }   
//----
   return(0);
  }
Qual é exatamente o problema? Demasiado preguiçoso para executá-lo e verificar como vai funcionar?
 
igid:
Você quer dizer que você tem que rodar vários terminais simultaneamente e fazer login com logins diferentes em cada terminal?

Sim. Cada terminal tem sua própria conta de negociação.
 
nadya:
Você pode me dizer como dividir todas as ordens em dois grupos quando cada ordem é aberta, para que eu possa ver a que grupo cada ordem pertence mais tarde? (MAGIC não vai funcionar)

Ao abrir uma ordem deste ou daquele grupo, você deve decidir por si mesmo - coloque um comentário à ordem em um grupo, não no outro. Então você analisará se a ordem tem um comentário, e se assim for, ela pertencerá ao primeiro grupo, e se não houver nenhum comentário, então ela pertencerá ao segundo.
 

Amigos, eu tentei escrever um especialista primitivo, mas tive um problema!

Não há como minha lógica chegar a isso...

Se alguém pode ajudar, os parâmetros são os seguintes:

Seqüência de ações:

1. verificar se há alguma ordem em aberto e pendente.

(se houver pelo menos uma ação pendente ou em aberto - nenhuma ação);

se houver 0 pedidos - passo 2).

2) Abrir um pedido BuyStop a 50 pips do preço atual, SL=50, TP=100 por Tempo=100 minutos.

3. Início.

Parâmetros variáveis:

Lotes

TakeProfit

StopLoss

TralingStop

Preço (número de pontos de distância do preço atual ao qual a ordem pendente será aberta)

Tempo (tempo de expiração da ordem pendente)

Por favor, ajude!

Obrigado de antemão!

 
OlegArH:

Amigos, eu tentei escrever um especialista primitivo, mas tive um problema!

Não há como minha lógica chegar a isso...

Se alguém pode ajudar, os parâmetros são os seguintes:

Seqüência de ações:

1. verificar se há alguma ordem em aberto e pendente.

(se houver pelo menos uma ação pendente ou em aberto - nenhuma ação);

se houver 0 pedidos - etapa 2).

2) Abrir um pedido BuyStop a 50 pips do preço atual, SL=50, TP=100 por Tempo=100 minutos.

3. Início.

Parâmetros variáveis:

Lotes

TakeProfit

StopLoss

TralingStop

Preço (número de pontos de distância do preço atual ao qual a ordem pendente será aberta)

Tempo (tempo de expiração da ordem pendente)

Por favor, ajude!

Obrigado de antemão!

Você já leuesta seção do livro didático?
 
Roman.:
Você já leu esta seção do livro didático?

Aha!

Mas, estando longe da programação, eu tinha apenas uma miríade de perguntas e mal-entendidos.

Acabou com todo o entusiasmo... (

 
OlegArH:

Aha!

Mas, estando longe da programação, eu tinha apenas uma miríade de perguntas e mal-entendidos.

Acabou com todo o entusiasmo... (


Nesse caso, favor consultar os tópicos apropriados do fórum, por exemplo, aqui.
 

Você pode me dizer como arredondar o rsi para um número inteiro, e como posso mudar o período do rsi (o padrão é 14)?

Obrigado

//+------------------------------------------------------------------+
//|                                                  RSI_to_File.mq4 |
//|                      Copyright © 2007, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.ru/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.ru/"

#property show_inputs
string SymbolsArray[11]={"","USDCHF","GBPUSD","EURUSD","USDJPY","CHFJPY","EURGBP","EURCHF","EURJPY","GBPJPY","GBPCHF"};

//+------------------------------------------------------------------+
//| string SymbolByNumber                                   |
//+------------------------------------------------------------------+
string GetSymbolString(int Number)
  {
//----
   string res="";
   res=SymbolsArray[Number];   
//----
   return(res);
  }

//+------------------------------------------------------------------+
//| возвращает период                                                |
//+------------------------------------------------------------------+
int PeriodNumber(int number)
   {
   int per_min;
   switch (number)
      {
     
      case 5: per_min=PERIOD_H4;break;
      default: per_min=PERIOD_D1;break;
      }
   return(per_min);   
   }

//+------------------------------------------------------------------+
//|   выводит в файл котировки + значения индикатора                 |
//+------------------------------------------------------------------+
void RSI_output(string SymbolName,int PeriodMinutes)
   {
   int size=iBars(SymbolName,PeriodMinutes);
//----
   if (size==0) return;
   int handle=FileOpen(SymbolName+PeriodMinutes+"_RSI.csv",FILE_WRITE|FILE_CSV);
   if (handle<0) return;
   FileWrite(handle,"Time;RSI");
   for (int i=size-1;i>=0;i--)
      {
      FileWrite(handle,TimeToStr(iTime(SymbolName,PeriodMinutes,i))
         ,iCustom(SymbolName,PeriodMinutes,"RSI",0,i));
      }
   FileClose(handle);      
//----
   return;
   }
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
  int SymbolCounter,PeriodCounter; 
//----
   for (SymbolCounter=1;SymbolCounter<13;SymbolCounter++)
      {
      for (PeriodCounter=2;PeriodCounter<=6;PeriodCounter++)
         {
         //Print("NewBar on ",GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"M");
         RSI_output(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter));
         }
      }
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
Boa tarde, eu tenho um estranho erro 4023 ao chamar uma função de uma dll autoescrita, e uma função da dll é chamada normalmente, a outra não é, o que é este erro, não consegui encontrar uma descrição dela, por favor, ajude-me.
 
splxgf:
procurar por #indicador de propriedade_color1 Vermelho


Não está no código (meu). ou deve ser prescrito? para todos os 6? Eu afixarei o código se você precisar dele.

p.s. Eu devo ter falado mal. O Expert Advisor é escrito usando o indicador MA padrão (6 variáveis, respectivamente 6 linhas), sem usar o indicador personalizado. Depois de testar o Expert Advisor e chamar o gráfico, vejo 6 linhas vermelhas. Então eu tenho que criar um personalizado? Ou existe uma linha para atribuir cores às linhas do indicador padrão?

Razão: