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

 
jarikn:
谢谢你,我会研究的。

谢谢你,你让我想起了一个曾经在利润方面起作用的老系统。我需要在闲暇时记下它,并在目前的市场上进行测试。

 
jarikn:
大家好。我是编程新手。
我写了一个简单的专家顾问,现在我需要向它添加以下条件。
如果买入订单触发了止损,那么我们就开出一个卖出订单。
请帮助处理这个代码

更多选择。

1.买入时,将SellStop订单放在买入订单的止损水平上。那么你的愿望将由服务器来实现。但在特别罕见但准确的情况下,并不 :-)

2.完全不设止损,而设双倍量的卖出止损。这也将被服务器快速处理。在一天结束时或保证金耗尽时,你需要运行一些UnLock,它可以相互关闭相反的订单(CloseBy)。

然而,还有一个细微的差别--止损单(和止损也是)可能不起作用。而这是很经常的。
也就是说,在一个 "战斗 "机器人中,我们仍然要反复检查。
Общие принципы - Торговые операции - Справка по MetaTrader 5
Общие принципы - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Перед тем как приступить к изучению торговых функций платформы, необходимо создать четкое представление об основных терминах: ордер, сделка и позиция. — это распоряжение брокерской компании купить или продать финансовый инструмент. Различают два основных типа ордеров: рыночный и отложенный. Помимо них существуют специальные ордера Тейк Профит...
 
Vladimir Simakov:

他写道,你不能用const char*值来初始化一个wchar_t实体

如果你不明白,很遗憾,你没有掌握语言的基本知识。对你来说,现在写一个dll还为时过早,尤其是对于mql这样的特殊语言。从基本的东西开始。

我不知道他们建议你做什么。学习图书馆的这一时刻永远不会有好时机,要么现在,要么永远。

 
Maxim Kuznetsov:

2.完全不设止损,而是设双倍量的卖出止损。这也将由服务器来处理,而且速度很快。在一天结束时或保证金耗尽时,你需要运行一些UnLock,它可以相互关闭相反的订单(CloseBy)。

我们应该对CloseBy 更加小心,因为不是所有的经纪公司都支持这一功能。

 
我不是一个程序员,所以我不能解决最简单的问题:如何将零条与时间绑定,分钟:00,小时00:,01:,02:等等。谁能给我一个提示?
 
Creativ:
我不是一个程序员,所以我不能解决最简单的问题:如何将零条与时间绑定,分钟:00,小时00:,01:,02:等等。谁能建议一下?

有一个函数用于此。

iTime(символ,таймфрейм, номер бара)

它返回酒吧的时间。

 

大家好。伙计们,请帮忙。我是编程新手。
如何在MQL4代码中实现这一点。
例如,我将按下按钮A,一个光标<屏幕截图_2>将出现在这样的图表上。
在绘制矩形<Screenshot_1>上,没有热键。如何获得这个功能。

屏幕截图_1

屏幕截图_1

屏幕截图_2。

屏幕截图_2

谢谢你。

 
伙计们,请帮助我解决专家顾问的问题。我已经厌倦了....我似乎无法修复它,它只有错误。
这里是底线。
它对Tma公平指标起作用。
1) 只要价格高于上线--卖出指令被打开,价格低于下线--买入指令 被打开。
我都做了,但问题是。
2) 只要我触发了止损,就会有一个订单打开相同的订单!我如何才能解决这个错误?
3) 当价格越过相反的线时,订单不会被关闭!它似乎在工作,但它不会,它在止损或止盈时关闭。

我还想增加一个条件:如果买入时触发了止损,则开出卖出订单。我想我可以自己处理。 只要帮我解决这些错误。
我不知道该如何处理它。我想我应该自己做)。
附加的文件:
777.mq4  10 kb
TMA_Fair.mq4  9 kb
 

请帮助解决买卖转换的问题,我才刚刚开始学习!

空白的OnTick()

{

MAprice=iMA(Symbol(),0,MAperiod,MAshift,MODE_SMA,PRICE_CLOSE,1)。

如果(CountBuy() + CountSell() == 0 && Ask > MAprice)

{

如果(OrderSend(Symbol(,OP_BUY,lot,Ask,slip,0,0,NULL,magic,0,clrBlue)<1)

Print("Failed to opena Buy order!");

如果(CountBuy()>=1)

{

price = FindLastBuyPrice();

如果((价格-要价)>=步骤*点)

{

如果(OrderSend(Symbol(,OP_BUY,lot,Ask,slip,0,0,NULL,magic,0,clrBlue)<1)

Print("开立买入订单失败!")

}

}

如果(CountBuy() + CountSell() == 0 && Bid < MAprice)

{

如果(OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,0,clrRed)<1)

Print("打开卖出订单失败!")

}

}

如果(CountSell()>=1)

{

price = FindLastSellPrice();

如果((价格-出价)>=步骤*点)

{

如果(OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,0,clrRed)<1)

Print("Failed to open Sell order!");

}

}

double op = CalculateProfit()。

如果(op>=profit)

{

CloseAll()。

}

}


//+------------------------------------------------------------------+

空白的CloseAll()


或在哪里学习?

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
该函数不将条形图与时间绑定。我希望Bar[0]=:00(分钟)或每天的01:00, 02:00 ...。因此,只有当某个时间到来时,才会计算出算法。其余的时间,指标由我负责。
Seric29:

有一个函数用于此。

它返回酒吧的时间。