初学者的问题 MQL4 MT4 MetaTrader 4 - 页 208

 

你能告诉我,我可以联系谁来帮助我在电脑上安装软件,或者我可以从网络终端 进行安装吗?

我是新来的,谁能帮帮我?

或者告诉我应该与谁联系?

Вебтерминал для MetaTrader 5
Вебтерминал для MetaTrader 5
  • www.mql5.com
Подключайтесь к счету и торгуйте на финансовых рынках прямо из браузера
 

我不知道这是否是正确的写作地点,但总体情况是这样的。我对编程一无所知。


一个熟人在奥林帕斯上买了一个用于交易的mt4顾问,在自动模式下。我注意到,该EA与Yandex云或其他地方的虚拟机 绑定。如果我试图使用一个我有几台机器的账户,我在上面交易,它总是需要验证。 如果我单独交易,我得到输出没有问题,但如果我试图去他的地址,他给我发了一个密码和一个登录,我有另一种情况。这和什么有关系?我必须更仔细地观察我的cookies,也许我应该改变路由器的一些设置,或者我需要一个新买的EA与虚拟机?

 
Юлия Кузубова:

你能告诉我,我可以联系谁来帮助我在电脑上安装软件,或者我可以从网络终端 进行安装吗?

我是新来的,谁能帮帮我?

或者告诉我应该与谁联系?

尤利娅,我认为你之前只是被骗了......没有人打电话解释如何安装交易平台--它自己安装起来非常容易。

 
Microslonik:

我不知道这是否是正确的写作地点,但总体情况是这样的。我对编程一无所知。


一个熟人在奥林帕斯上买了一个用于交易的mt4顾问,在自动模式下。我注意到,该EA与Yandex云或其他地方的虚拟机 绑定。如果我试图使用一个我有几台机器的账户,我在上面交易,它总是需要验证。 如果我单独交易,我得到输出没有问题,但如果我试图去他的地址,他给我发了一个密码和一个登录,我有另一种情况。这和什么有关系?我必须更仔细地观察我的cookies,也许我应该改变路由器中的一些设置,或者我只是买了一个新的EA与虚拟机?

这就像一个奇迹。可能根本就不是这个资源的问题。

 

下午好!

尊敬的程序员,你能告诉我如何在某个通道中实现烛台计数吗?以下是代码。

extern string Symbol3 = ""; //Инструмент (""текущий по умолчанию)
extern int P=5;          //Таймфрейм


#include <ChartObjects\ChartObjectsLines.mqh>


CChartObjectHLine hLine, lowLine;

double   PRH=0;
double   PRL=0;

int OnInit() 
{
lowLine.Create(0, "lowLine", 0, 0);
lowLine.Color(clrDarkViolet); 
hLine.Create(0, "hLine", 0, 0);
hLine.Color(clrDodgerBlue);
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason) {
}

int start()
{

double ATR1=MathAbs(iATR(NULL,P,1,1))/Point;


if (ATR1>=100)
{
double   h1 = iHigh(NULL, PERIOD_CURRENT, 1);  // условие образования уровней
double   l1 = iLow(NULL, PERIOD_CURRENT, 1);
}


if (ATR1>=100) // установление уровней
{
PRH = h1; // то это будет уровень max
hLine.Price(0, PRH);

PRL = l1; // то это будет уровень min
lowLine.Price(0, PRL);
}




if ((Close[1]<=PRH)&&(Close[1]>=PRL)) // ??? Условие отсчёта свечей
{
datetime some_time=TimeCurrent();
int k=iBarShift("",PERIOD_CURRENT,some_time);
}


Comment ("КОЛЛИЧЕСТВО СВЕЧЕЙ В КАНАЛЕ =================: ",k,"\n");

return(0);
}

需要的是:在通道内有烛台计数。而一旦价格走出通道,计数器就被重置为零。

 

而解决方案非常简单。


if ((Close[1]<=PRH)&&(Close[1]>=PRL))
{
int k=iBarShift("",P,some_time); 
}
else
{
PRH=0;
PRL=0;
}

Comment ("КОЛЛИЧЕСТВО СВЕЧЕЙ В КАНАЛЕ =================: ",k,"\n");

所以这个问题现在已经不重要了。
 

下午好!


能否请您告知是否有人遇到过这个问题?

MT5测试仪,多币种专家顾问。当我在测试器中选择5位数报价的主货币对(欧元兑美元、澳元兑美元等),然后连接到多货币专家顾问USDJPY、GBPJPY的货币对,即3位数报价的货币对开始不正确地工作,即使用3位数货币对 的交易不正确地打开,不像我在测试器中选择3位数的主货币对那样在这种情况下,一切都很正常。



以下是代码(我只放了一个买入的函数 Buy2()卖出类似)。


void  OnInit()
  {
    hig4= iCustom("USDJPY",CP,"Examples\\1",Length);
   hig5= iMA("USDJPY",CP,1,SHIFT,MODE_SMA,PRICE_HIGH);
   hig6= iMA("USDJPY",CP,1,SHIFT,MODE_SMA,PRICE_LOW);
}

void OnTick()
  {
CopyBuffer(hig6,0,0,2,ss211);
        CopyBuffer(hig5,0,0,2,ss111);
        CopyBuffer(hig4,0,0,3,ss11);

  if(OrderSelect(Bticket100,SELECT_BY_TICKET==true)&&OrderCloseTime()==0)
        {
         if(ss211[0]<ss11[0]&&(ss111[0]+L*_Point)<ss11[0]&&b1==1)
           {
            Sell0();
            c1=1;
            b1=0;
           }
         if((ss211[0]-n*_Point)>ss11[0]&&ss111[0]>ss11[0]&&c1==1)
           {
            trade.PositionClose(Bticket1002);
            Buy1();
            OrderSelect(Bticket1002,SELECT_BY_TICKET,MODE_HISTORY);
            n11=(OrderProfit()+OrderSwap()+OrderCommission())+n11;
            b1=1;
            c1=0;
           }
        }
      else
        {
         if(ss211[0]<ss11[0]&&(ss111[0]+L*_Point)<ss11[0])
           {
            a1=1;
           }
         if((ss211[0]-n*_Point)>ss11[0]&&ss111[0]>ss11[0]&&a1==1)
           {
            Buy2();
            b1=1;
            a1=0;
           }
        }

void Buy2()
  {
   int MagicNumber=3;
   trade.SetExpertMagicNumber(MagicNumber);
   double volume=LOTLOT;         
   string symbol="USDJPY";     
   int    digits=(int)SymbolInfoInteger(symbol,SYMBOL_DIGITS);  
   double point=SymbolInfoDouble(symbol,SYMBOL_POINT);       
   double bid=SymbolInfoDouble(symbol,SYMBOL_BID);             
   double SL=0;                                
   SL=NormalizeDouble(SL,digits);                              
   double TP=0;                                  
   TP=NormalizeDouble(TP,digits);                               
   double open_price=SymbolInfoDouble(symbol,SYMBOL_ASK);
   if(!trade.Buy(volume,symbol,open_price,SL,TP,comment))
     {
          Print("Метод Buy() выполнен успешно. DIGITS=",digits);
     }
   else
     {  
     }
   Bticket100 = trade.ResultOrder();
  }

 
Xopb:

下午好!


能否请您告知是否有人遇到过这个问题?

MT5测试仪,多币种专家顾问。当我在测试器中选择5位数报价的主要货币对(欧元兑美元、澳元兑美元等)时,附属于多货币专家顾问USDJPY、GBPJPY的货币对,即3位数报价的货币对开始不正确地工作,即使用3位数货币对 的交易不正确地打开,不像在测试器中选择3位数的主要货币对在这种情况下,一切都很正常。



以下是代码(我只有一个买入Buy2()的函数来卖出类似的东西)。

你的代码在原则上不应该工作。

阅读手册:OrderSelect-不要混淆活跃的挂单和也显示在客户终端 "工具箱 "面板的 "交易 "标签中的头寸

换句话说,"订单选择 "是一个处理待处理订单的功能,而不是处理POISONS。

Документация по MQL5: Торговые функции / OrderSelect
Документация по MQL5: Торговые функции / OrderSelect
  • www.mql5.com
Выбирает ордер для дальнейшей работы с ним. Возвращает true при успешном завершении функции. Возвращает false при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError(). Не следует путать между собой действующие отложенные ордера и позиции, которые также отображаются на вкладке "Торговля" в...
 
Vladimir Karputov:

你的代码在原则上不应该工作。

阅读手册:OrderSelect-不要混淆活跃的挂单和头寸,它们也显示在客户终端的 "工具 "面板的 "交易 "选项卡中

OrderSelect函数用于处理待处理订单,而不是处理POPS。

弗拉基米尔,谢谢你!我把#include <MT4Orders.mqh>插了进去。 它工作得很好--也许代码很乱,但这不是为了真正的账户。我不明白为什么测试器中的任何货币对设置只对嵌入多货币EA的3位数货币对正常工作。只要我设置一个5位数的对子,它也能工作,但以不同的(相邻的)价格打开,即违反了工作原则,可能是什么原因?

 
Xopb:

弗拉基米尔,谢谢你!我把#include <MT4Orders.mqh>插进去了,它工作得很好--也许代码很乱,但它不是用于真正的账户。我不明白为什么测试器中的任何货币对设置只对嵌入多货币EA的3位数货币对正常工作。如我设置一个5位数的对子,它也能工作,但以不同的(相邻的)价格开盘,即违反了工作原则。

在这种情况下,写在旧终端的部分。如果你使用第三方库,你将永远无法重建你的大脑,并将永远受困于旧的术语和概念。

这是一个纯MQL5的论坛。


多符号MQL5专家顾问工作正常。无论是两个、三个还是五个字符,都没有区别。但是你继续相信阴谋论,继续坐在技术进步的边上。