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

 
Valeriy Yastremskiy:

想用4K终端的常规打印方式在一台彩色打印机上打印图表。这并不奏效。它打印的是黑白的,尽管打印机设置显示是彩色照片。预览也是黑白的。它是否只打印黑白两色?

打印机打印图片并保存为图片,当然,这是不可取的。

一个人来到一个算命先生面前。

- 他们说你能预知未来?

- 我愿意。

然后那个人把一叠打印好的图表扔在桌子上 :)

 
Vitaly Muzichenko:

一个人去找一个算命先生。

- 他们说你能预知未来?

- 我愿意。

然后那人把一叠打印好的图表扔在桌子上 :)

好吧,好像他没有想到照片会被保存成彩色的,但他无法战胜印刷)施乐6010。MT4 1320

http://joxi.ru/V2Vb46dUk5O0Y2

 
Valeriy Yastremskiy:

嗯,有点没想到图片会被保存成彩色的,但我不能击败打印)施乐6010。MT4 1320

http://joxi.ru/V2Vb46dUk5O0Y2


我试了一下,只是为了好玩。

图形是黑白的,但例如物体是彩色的。但它们在印刷品上看起来很糟糕,所有的东西都是错的!

文字都是错的......。

 
MakarFX:

Artem在这里 给出了一个很好的链接

这一切都很好,但这里也没有魔法的历史。我们将不得不在开设职位的时候进行选择,这里有一切的选择。

 
Valeriy Yastremskiy:

想用4K终端的标准打印方式在一台彩色打印机上打印图表。它不起作用。它打印的是黑白的,尽管打印机设置显示是彩色照片。预览也是黑白的。它是否只打印黑白两色?

打印屏幕和,将图片保存为,当然,是出路,但不是好事。

我试着改变分辨率。

它按照你想要的方式工作。


 
MakarFX:

试着改变分辨率

它将会变成你想要的样子。

这张照片没有问题。这是一个来自终端的标准打印。

Vladislav Andruschenko:


我试了一下,只是为了好玩。

图表是黑白的,但物体是彩色的。但它们在打印出来的时候看起来很糟糕,全乱了!"。

文字都是乱七八糟的......。

是的,我刚刚注意到,我的评论没有出现在打印稿中)。

 
Valeriy Yastremskiy:

图片没有问题。标准的打印输出是来自终端。

是的,刚刚注意到,我的评论并不在印刷品上)

14年来(差不多),我从未在菜单上看到过这一项............。

现在我的眼睛和灵魂都受到了伤害,因为我现在不能打印我的图表(我不需要它们................)。

{{{{{{{{

 
Vladislav Andruschenko:

14年来(差不多),我从未见过这个菜单项目............。

而现在,由于现在无法打印我的图表,我的眼睛和灵魂都被割伤了(我不需要它们................ )。

{{{{{{{{

是的,没有悲伤( 彩色激光打印机 ))))
 
Valeriy Yastremskiy:

想用4K终端的常规打印方式在一台彩色打印机上打印图表。这并不奏效。它打印的是黑白的,尽管打印机设置显示是彩色照片。预览也是黑白的。它是否只打印黑白两色?

打印和保存的图片,当然是输出的,但不是很好。

 

大家下午好。圣杯机不想在不检查新酒吧的情况下工作--它开了一堆订单,直到钱用完。到目前为止,我已经创建了两个用于计算订单的函数。第一个是计算买入订单,第二个是计算坐下订单......这是他们的代码

// ФУНКЦИЯ ПОДСЧЁТА СВОИХ РЫНОЧНЫХ БАЙ ОРДЕРОВ 
   int CountBuy()
  {
   int count=0;
   for(int trade=OrdersTotal()-1;trade>=0; trade--)
     {
      OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magik_number)
        {
         if(OrderType()==OP_BUY)
            count++;
        }
     }
   return(count);
  }// КОНЕЦ ПОДСЧЁТА СВОИХ РЫНОЧНЫХ БАЙ ОРДЕРОВ 
   
   //-----------------
   
   // ФУНКЦИЯ ПОДСЧЁТА СВОИХ РЫНОЧНЫХ СЕЛЛ ОРДЕРОВ 
  int CountSell()
  {
   int count=0;
   for(int trade=OrdersTotal()-1;trade>=0; trade--)
     {
      OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magik_number)
        {
         if(OrderType()==OP_SELL)
            count++;
        }
     }

   return(count);
  }// КОНЕЦ ПОДСЧЁТА СВОИХ РЫНОЧНЫХ СЕЛЛ ОРДЕРОВ 



让我解释一下,我把一个外部 变量 传递给所有函数上面的函数,所以买单和坐单都没有输入参数。

在写完这两个函数后,我在OnTick中创建了计算市场买入和卖出订单的变量。我首先将它们归零,然后将它们分配给我写的这些函数,像这样。

void OnTick()
  { // НАЧАЛО ОН ТИК
   int count_orders_market_buy = 0; // КОЛИЧЕСТВО РЫНОЧНЫХ БАЙ ОРДЕРОВ
    int count_orders_market_sell = 0; // КОЛИЧЕСТВО РЫНОЧНЫХ СЕЛ ОРДЕРОВ
     int count_orders_stop_buy = 0; // БУДЕТ КОЛИЧЕСТВО СТОП БАЕВ
      int count_orders_stop_sell = 0; // БУДЕТ КОЛИЧЕСТВО СТОП СЕЛОВ
      count_orders_market_buy= CountBuy();
      count_orders_market_sell = CountSell();

然后我通过tick代码打开订单,条件是如果一个包含订单数量 的变量等于0,我是这样做的

   /*УСЛОВИЕ 1*/
   if(flag_screen1==en_vbIkl_screen1 &&flag_screen2==en_vbIkl_screen2)
   { // НАЧАЛО УСЛОВИЕ 1
   if(macd_buy!=EMPTY_VALUE && count_orders_market_buy ==0)
   {
    if(OrderSend(Symbol(),OP_BUY,lot,Ask,slippages,Ask-sl,Ask+tp , Coment)) Print("Buy Open"); // ОТКРЫВАЕМ БАЙ ОРДЕР
   }
   } // КОНЕЦ УСЛОВИЕ1

但很多订单都是在我们的钱用完之前开的。错误在函数的什么地方,还是我应该在其他地方检查?

原因: