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

 
alguém escreva a estrutura de uma ordem limite
 
Eu uso o sinal Flive, mas às vezes eu mesmo quero fechar uma ordem. Mas assim que eu a fecho, ela se abre novamente. Existe alguma maneira de resolver isso?
 
Artur116:
Eu uso o sinal Flive, mas às vezes eu mesmo quero fechar uma ordem. Mas assim que eu a fecho, ela se abre novamente. Existe alguma maneira de resolver isso?

Desmarcar "Sincronizar posições...".
 
Nesradamus:
Assumi que existem apenas dois extremos mensais - min e max... Bem, não importa, a princípio eu tinha um código longo, por isso pedi ajuda... Mas, ao amanhecer, consegui encaixá-lo em quatro linhas.

Isto se for em um castiçal mensal. É claro que haverá iHigh(Symbol(), PERIOD_MN1, BarOfMonth); e iLow(Symbol(), PERIOD_MN1, BarOfMonth);

E se precisarmos encontrar o extremo do preço em um gráfico diário dentro de um mês, definitivamente haverá mais de um em pelo menos 28 barras ;)

 
Zver4991:

outra pergunta sobre a função

como fazer o retângulo traçar para frente em vez de para trás, por exemplo, cinco barras para frente a um preço especificado ...... e não para redesenhá-lo

O nome "object_name" deve conter o tempo em que foi desenhado. Por exemplo, "Object_name "+TimeToString(Time[0]); então cada retângulo terá seu próprio nome.

Para especificar o deslocamento à direita da barra zero, adicione o número necessário de barras ao Tempo[0], por exemplo Tempo[0]+Periodo()*5*60 (adicione cinco barras)

datetime t1=Time[10], t2=Time[0]+Period()*60*5;
SetRectangle(clrBlue,"Прямоугольник"+TimeToString(Time[0]),t1,Low[10],t2,High[0]);
 
#property strict
#include <Indicators\Trend.mqh>
bool ind;
CiMA MA;
extern int pos=1;
extern int sl=40;
extern int tp=70;
datetime time;
datetime time2;
bool trade=false;
bool trade2=false;
int a,b;
int OnInit()
  {
//---
   MA.Create(Symbol(),PERIOD_CURRENT,10,6,MODE_EMA,PRICE_CLOSE);//создал машку
//---
   return(INIT_SUCCEEDED);
   
  }
void OnTick()
  {
//---
  if(IsNewBar()==true)//если новый бар включаемся
     {
     if(buy(pos)==true)//если цена выше МА продолжаем
     {
      if(!ExistPositions(Symbol(),-1,-1,0))//если нету открых ордеров продолжаем
        {

         if(GetTypeLastClosePos(Symbol(),-1)!=OP_BUY)//если тип последней закрытой позиции был не на покупку то тогда только покупаем таким образом я пред остерегаюсь от повторных входов в покупку если цена 
//все ещо выше МА...но почему то не работает открываются и дальше сделки на покупку если ордер закрылся выше МА....ХОТЯ НЕ ДОЛЖО ТАК КАК Я ОГРАНИЧИЛ ПО ТИПУ ПОЗИЦИИ ПОСЛЕДНЮЮ СДЕЛКУ И ОНИ ДОЛЖНЫ ТОЛЬКО 
//       ЧЕРЕДОВАТСЯ И УЖ НИ КАК НЕ ПОВТОРЯТСЯ ПО НЕСКОЛЬКО РАЗ ПОДРЯД
           {
            trade=true;
           }
  if(trade==true)
        {
         OpenPosition(Symbol(),OP_BUY,0.1,Ask-sl*Point,Ask+tp*Point);
         trade=false;
        }
}
        }
    
     
if(sell(pos)==true)
{
   if(!ExistPositions(Symbol(),-1,-1,0))
     {

      if(GetTypeLastClosePos(Symbol(),-1)!=OP_SELL)
        {
         trade2=true;
        }

      if(trade2==true)
        {
         OpenPosition(Symbol(),OP_SELL,0.1,Bid+sl*Point,Bid-tp*Point);
         trade=false;
      }
  }}
 }
  }

//возвращает истину если закрытие бара  с указаной позицией выше МА

bool buy(int pos)
  {
   if(iClose(Symbol(),0,pos)>MA.Main(1))
      return true;
   else
      return false;
  }
//+------------------------------------------------------------------+
//| возвращает истину если закрытие бара  с указаной позицией ниже МА
//+------------------------------------------------------------------+
bool sell(int pos)
  {
   if(iClose(Symbol(),0,pos)<MA.Main(1))
      return true;
   else return false;
  }
TODAS AS FUNÇÕES exceto duas condições de COMPRA e VENDA foram tiradas da filial da Kim...... por favor me diga onde eu cometi um erro...eu preciso de uma operação para abrir em um cruzamento
 

Há alguma maneira em mql4 de esconder algum código da vista, colapsar área de código para que ele seja colocado sob mais (+)?

como na #região # endregiãosharp , o código colocado entre estas diretrizes será possível entrar em colapso.

 
Eu não consigo descobrir o que está errado? No testador tudo funciona, mas no real e na demonstração, quando tento abrir um pedido, recebo "Erro 0". GetLastError() retorna "0", o que significa que não há erro. O que isso significa?
 
Leo59:
Eu não consigo descobrir o que está errado? No testador tudo funciona, mas no real e na demonstração, quando tento abrir um pedido, recebo "Erro 0". GetLastError() retorna "0", o que significa que não há erro. O que isso significa?

Significa que é assim que está escrito no código, se isso o incomoda, por favor, corrija.
 
evillive:

Está escrito no código, portanto, se o incomoda, conserte-o.

O que devo consertar se o pedido não abrir?
Razão: