新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1660

 
MakarFX #:

1)是的,这些是"确认蜡烛 " 的数量值。

2)不,它不在第一时间打开,只在一定数量的"确认蜡烛 " 之后打开。

3) 改变魔力,把它放在任何一对上

最好是让魔力成为一个外部变量

1)得到了。

2)我会在这篇文章中附上一张截图,它在第一条上没有打开,但如果在条件中加入了4根蜡烛,它将在第四条上打开,就像截图中一样。当然,这不是主要的,我只想知道如何解决这个问题。但即使我们留下它,"Init=true "又是为了什么?其本质是什么?

3) 如何制作一个Magik外部变量?我只是没有接触过Magik,不知道怎么做。

#property copyright "Copyright 2021, DrMak."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//--- input parameters
#define MagicNumber  122122
extern string s1             = "Trading options";
extern double Lot            = 0.01;    // размер лота 0 - авт.расчет
extern double StopLoss       = 40;     // стоплосс
extern double TakeProfit     = 10;     // тейкпрофит
extern double TrailStop      = 21;     // уровень без убытка
extern int    Trailing       = 0;      // трейлинг стоп 1 вкл. 0 выкл.
extern int    Breakeven      = 0;      // перенос стоп лосса в без убыток
extern string s2             = "Day & Hour";
extern int    HrStart        = 0;      // время начала торговли
extern int    HrEnd          = 23;     // время окончания торговли
extern int    Monday         = 1;      // Понедельник 1 вкд. 0 выкл.
extern int    Tuesday        = 1;      // Вторник
extern int    Wednesday      = 1;      // Среда
extern int    Thursday       = 1;      // Четверг
extern int    Friday         = 1;      // Пятница
//+------------------------------------------------------------------+
// параметры индикаторов
int MovingPeriodLw        = 5;      
int MovingPeriodS1        = 75;
int MovingPeriodS2        = 85;
double StopLevel;
double TrailStep             = 3;      // шаг трейлинг стопа
bool OrderBuy = true, OrderSell = true, Order = false, Init = true;
int timeprev = 0, Slip = 3.0, Start, cnt=1;
datetime newbar=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   if (Digits == 3 || Digits == 5) { // Пересчет для 5-ти знаков                                                    
      TakeProfit *= 10;
      TrailStop *= 10;
      TrailStep *= 10;
      StopLoss *=10;
      Slip *=10;
   } 
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL); 
   //---
   if(newbar!=Time[0])
     {
      if(CheckForOpen()!=Start)
        {Start=CheckForOpen(); cnt=1;}
      else
        {cnt+=1;}
      //---
      if(cnt==8)
        {
         // Открытие ордера по методу Пуриа
         if(CheckForOpen()==0) // Если сигнал для покупок 
           {
            if(OrderSend(Symbol(),OP_BUY,Lots(),Ask,Slip,Bid-StopLoss*Point,Ask+TakeProfit*Point,"",MagicNumber,0,Blue))
              {Print("BUY OK");}
              else {Print(GetLastError());}
           } 
         if(CheckForOpen()==1) // Если сигнал для продаж 
           {
            if(OrderSend(Symbol(),OP_SELL,Lots(),Bid,Slip,Ask+StopLoss*Point,Bid-TakeProfit*Point,"",MagicNumber,0,Red))
              {Print("SELL OK");}
              else {Print(GetLastError());}
           }
        }   
      newbar=Time[0];
     }
  }
附加的文件:
 
MakarFX #:

还不错!

 
artem artem #:

1)得到了。

2)我将在这篇文章中附上一张截图,它没有在第一根蜡烛上打开,但如果在条件中以4根蜡烛进入,它将在第4根打开,如截图所示。当然,这不是主要的,我只想知道如何解决这个问题。但即使我们留下它,"Init=true "又是为了什么?其本质是什么?

3) 如何制作一个Magik外部变量?只是我没有在附近接触过magik,不知道怎么做。

#define MagicNumber  122122

换成

extern string MagicNumber = 122122;

"Init=true "可以被删除。

关于第一个输入,我会考虑的,但明天)

 

artem artem #:

我想知道如何才能消除这种情况。

已删除

附加的文件:
artem.mq4  11 kb
 
MakarFX #:
// Мертвая строка

好主意,做得很好,马卡!

 

告诉我怎么做,我有一个不正常的情况:

测试中的通行证显示在过去六个月有40个交易。账户中的余额超过1000美元。

整年都在运行同一套产品--只有8个交易。剩余的大约1000美元。

,我从2020年初开始运行它,3个月它的交易--进一步的0反应。

,我不明白为什么它不愿意在大的时期内交易。它在日志中没有显示任何错误。

 
artem artem #:

那个在测试器中是很好的乐趣。

而这个是给你的,作为礼物--赚钱。

\\\\\\\\\\\\\\\\\\\\\\\\\\

我测试了一下,今晚会看看效果如何。

屏幕截图 2021-10-10 054654

\\\\\\\\\\\\\\\\\\\\\\\\\\\

检查了它是如何改变所有图表上的图案的--一切都成功了!-总利润如何达到目标。

屏幕截图 2021-10-10 055232

附加的文件:
artem_artem.mq4  26 kb
 

在测试器中检查是很好的--当你保存带有指标的模板时,如果你改变了指标设置--只要在测试器中按下暂停键并调整指标。

屏幕截图 2021-10-10 063557

\\\\\\

图表模板 - 为上述专家。

附加的文件:
 
SanAlex #:

那个在测试器中是很好的乐趣。

而这个是给你的,作为礼物,可以赚钱的。

大家早上好,心情很好!我很感兴趣。如果你没有问题,请将artem artem.mq4 代码翻译成MT5。我想看看它将如何 "处理 "真实账户上的展期。

真诚的弗拉基米尔。

 
MrBrooklin #:

大家早上好,心情不错!我很感兴趣。如果不难的话,请把artem artem.mq4 代码翻译成MT5。我想看看它将如何 "处理 "真实账户上的翻转。

真诚的,弗拉基米尔。

早上好!现在我将用这些指标为MT5创建一个信号指标。

\\\\\\\\\\\\\\\\\\\\\\\\\\\\

在这里,我做了它--其余的非常简单--在专家顾问中,它的欲望和逻辑,拖网和其他一切。

EURUSDH1

\\\\\\\\\\\\\\\\\\\\\\

在专家顾问中,你可以设置在零点或第一根柱子上打开。

屏幕截图 2021-10-10 085616

附加的文件:
Fx10_artem.mq5  20 kb
原因: