[Arquivo!] Escreverei um assessor GRATUITO - página 19

[Deleted]  

Sou novo em programação, mesmo que você possa dizer que sou um completo boneco. Mas é interessante experimentar. Estou tentando escrever um simples Expert Advisor que trabalharia um dia por semana. Por exemplo, na segunda-feira, abre às 00-00 horas e fecha às 24-00 horas. Eu o entendo claramente em partes separadas, mas não posso montá-lo todo em um único programa. Se você sabe onde obter (download) o Expert Advisor sobre este assunto. Quero isso como uma amostra.

 
asd05:

Sou novo em programação, mesmo que você possa dizer que sou um completo boneco. Mas é interessante experimentar. Estou tentando escrever um simples Expert Advisor que trabalharia um dia por semana. Por exemplo, na segunda-feira, abre às 00-00 horas e fecha às 24-00 horas. Eu o entendo claramente em partes separadas, mas não posso montá-lo todo em um único programa. Se você sabe onde obter (download) o Expert Advisor sobre este assunto. Quero isso como uma amostra.


O Spamming não é aconselhado. Você pode ser banido.
 
asd05:

Sou novo em programação, mesmo que você possa dizer que sou um completo boneco. Mas é interessante experimentar. Estou tentando escrever um simples Expert Advisor que trabalharia um dia por semana. Por exemplo, na segunda-feira, abre às 00-00 horas e fecha às 24-00 horas. Eu o entendo claramente em partes separadas, mas não posso montá-lo todo em um único programa. Se você sabe onde obter (download) o Expert Advisor sobre este assunto. Quero isso como uma amostra.

Aqui está um exemplo de um "caçador noturno" primitivo. Funciona por padrão das 21h às 8h todos os dias.
Na versão mais simples, tente mais ou menos assim:

//+------------------------------------------------------------------+
//|                                                    222222222.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"


extern int   Magic = 31295;
 extern int     Start=21;//начало работы вечером
extern int      End=8; //конец работы утром
extern int      SL=410;
extern int      TP=280;
extern double  Lot=0.1;

extern string  __________ = "=== Функция Трейлинг Стоп ====";
extern bool      UseTrailing = false;//Выключатель трейлинг стопа
extern int    MinProfit = 200;//порог включения трейлин стопа
extern int    TrailingStop = 150;// величина трейлинг стопа
extern int    TrailingStep = 10; // шаг трейлинг стопа 

bool Trade;
bool  gbNoInit    = False;   // Флаг неудачной инициализации

//----------------------------------------------------
int init()
{
//-----------------------------------------------------------
gbNoInit=False;  
if (!IsTradeAllowed()) {
    Message("Для нормальной работы советника необходимо\n"+
            "Разрешить советнику торговать");
    gbNoInit=True; return;
  }
  if (!IsLibrariesAllowed()) {
    Message("Для нормальной работы советника необходимо\n"+
            "Разрешить импорт из внешних экспертов");
    gbNoInit=True; return;    }
}
//-----------------------------------------------------

//===================================================
int start() {// функция СТАРТ

if (UseTrailing) TrailPositions(); // выключатель трейлинг стопа


if ( Hour()>Start || Hour()<End )//если время - больше  Start или меньше End
    Trade=true;    else Trade=false;//то торговля разрешена
Comment ("Торговля разрешена с ",Start ," до ",End);
//---------------------------------------------------
if (Trade && NumberOfPositions(NULL,OP_BUY,Magic)<1) {
//если тоговля разрешена и нет откр. длинных позиций
   OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Ask-SL*Point,Ask+TP*Point,"хи - хи",Magic,0,SkyBlue);
                                               }
//---------------------------------------------------   
 if (Trade && NumberOfPositions(NULL,OP_SELL,Magic)<1) {
//если тоговля разрешена и нет откр. селл-  позиций 
   OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Bid+SL*Point,Bid-TP*Point,"тра-ля-ля",Magic,0,Green);
                                                   }
 //-----------------------------
 return (0);                                      
}//конец функции СТАРТ 


//жжжжжжжжжжжжжжжжжжжжж Пользовательские функции жжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru/                  |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает количество позиций.                                 |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
int NumberOfPositions(string sy="", int op=-1, int mn=-1) {
  int i, k=OrdersTotal(), kp=0;

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++)                                    {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))      {
      if (OrderSymbol()==sy || sy=="")                   {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op)                   {
            if (mn<0 || OrderMagicNumber()==mn) kp++;
          }}}}}   return(kp); }

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
 void TrailPositions() // функция трейлинг стоп
{
  int Orders = OrdersTotal();
  for (int i=0; i<Orders; i++) {
    if (!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continue;
    if (OrderSymbol() != Symbol()) continue;
     if (OrderMagicNumber() == Magic ){    
     if (OrderType() == OP_BUY )  {
      if (Bid-OrderOpenPrice() > MinProfit*Point) {
        if (OrderStopLoss() < Bid-(TrailingStop+TrailingStep-1)*Point) {
          OrderModify(OrderTicket(), OrderOpenPrice(), Bid-TrailingStop*Point,
                                                     OrderTakeProfit(), 0, Blue);
        }      }    }
    if (OrderType() == OP_SELL)  {
      if (OrderOpenPrice()-Ask >MinProfit*Point) {
        if (OrderStopLoss() > Ask+(TrailingStop+TrailingStep-1)*Point 
                                                       || OrderStopLoss() == 0) {
          OrderModify(OrderTicket(), OrderOpenPrice(), Ask+TrailingStop*Point,
                                                      OrderTakeProfit(), 0, Blue);
        }   }   }    }   }  }

//+----------------------------------------------------------------------------+
//|  Вывод сообщения в коммент и в журнал                                      |
//+----------------------------------------------------------------------------+
void Message(string m) {
  Comment(m);
  if (StringLen(m)>0) Print(m);
}
[Deleted]  

olá! a escrita ainda está em vigor? :) tanto já foi escrito aqui.... Eu gostaria de escrever uma pequena dica ...uma simples, sobre dois mashmas e Momentum, e continuarei se alguém quiser fazer isso.

Boa sorte.
[Excluído]  

O simples Enterra_Forex_Star_EA_3.1 Expert Advisor precisa de um pouco de afinação.

Ele opera em um determinado momento usando um de dois RSIs e coloca um takeprofit virtual em seis temporizadores.

Em caso de perda de preço, há uma função para abrir pedidos adicionais na mesma direção quando o número de pontos excede um determinado valor (algo como média).

O problema: eu tenho que abrir posições adicionais somente em um determinado momento do comércio e não recalculo os lucros.

Eu tenho que fazer:

Quando um preço desce de uma direção lucrativa de um pedido aberto, então um pedido será aberto (e depois mais alguns - o número deve ser ajustado) do mesmo volume na mesma direção independentemente do "tempo de trabalho" em tais condições (mas não "ou" juntos):

-o número mínimo de pontos pelos quais o preço deve ficar negativo (ajustável) foi excedido

O indicador I-Regajustável (anexo) deve "girar" na direção do lucro (a largura do canal pode ser negligenciada)

Devemos acrescentar um mecanismo de média com a primeira ordem aberta (e subsequente) na forma de "x pontos a partir do ponto de equilíbrio" e também a possibilidade de tomar a ordem de "média", como na primeira ordem (levando em conta que ela muda de acordo com o timer).

Tudo a respeito de citações de 4/5 dígitos

Tudo isso é quase como deveria ser feito em Ilan_RSI_mm_extr193 (anexado como doador) Eu simplesmente não entendo nada dessa linguagem.

Exemplo:

Tempo especificado de negociação (abertura de posições) de 10 a 12

às 11h10, a EA abre um Sell 5lot a 1.5000 - o preço sobe e às 11h20, o segundo pedido de Sell é aberto com o mesmo volume. Ambos são fechados por takeaway virtual do primeiro, que é definido por 6 timers na EA (embora na verdade seja definido de forma diferente), por exemplo, o takeaway é de 10 pontos e a EA fecha em 6 pontos, em suma, não é muito importante. Então eles fecham quando o preço atinge o ponto do primeiro (por exemplo, 1,4094).

Já o tenho assim. Devo fazer um pedido adicional quando o preço não passar menos de 20 pontos e somente quando o indicador I-Reg (configurado por mim) mostrar inversão de tendência.

Tenho que acrescentar parâmetros de média, como já disse.

Há mais uma coisa:

Se o pedido for aberto às 11:50, digamos, vender, e o preço subir fortemente depois das 12:00, a EA não abre nenhum pedido - devemos corrigir isso para abrir a média.

Eu queria ser mais claro, mas isso se tornou algo complicado.

Alguém pode fazer isso?

Obrigado.

Arquivos anexados:
enterra.rar  23 kb
[Deleted]  
leonid553:

Aqui está um exemplo de um "caçador noturno" primitivo. Funciona por padrão das 21h às 8h todos os dias.
Na versão mais simples, tente algo como isto:


Obrigado, vou tentar.
 
Boa tarde, tenho algumas idéias interessantes que gostaria de implementar em uma EA. Entre em contato comigo em mrforex@mail.ru. Eu ficaria muito grato.
[Deleted]  

Olá, se possível, escreva um consultor especializado baseado em dois Muwings para abrir negócios de crossovers Muito obrigado e desculpe-me por usar seu precioso exemplo de tempo na foto anexada com antecedência OBRIGADO com tanto tempo de antecedência chughoy@list.ru


 
Boa tarde. Preciso de um EA que me alerte quando dois dos quatro muwings forem cruzados. Estou disposto a pagar. Para contatar: shurik302(dog)gmail.com
 
molodec8:

A estratégia traz até 40 por cento ao mês

Melhor DE 5 do que ANTES de 40% ))))