新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1918 1...191119121913191419151916191719181919192019211922192319241925...1953 新评论 Rustam Bikbulatov 2022.02.23 17:39 #19171 Andrey Sokolov #:你自己真的看不出来吗?"我如何写下这个?" - 在写有0.01手的地方,你必须计算出最小的可用量。 我可以看到。如果你设置为0.02,那么0.02手的订单就会被选中。 我问如何设置为先看0.01手,再看0.02手,以此类推。 Rustam Bikbulatov 2022.02.23 17:41 #19172 Sergey Gridnev #: 你需要2个周期:你在第一个周期中找出最小量,并在第二个周期中关闭它。请注意,当你平仓时,订单会被转移1个位置,所以你必须从最大位置到0进行循环。 你如何从最大值到0? Andrei Sokolov 2022.02.23 17:42 #19173 Rustam Bikbulatov #:我问的是如何让它先看0.01,再看0.02,以此类推。 已经两次告诉你如何做了。 Alexey Viktorov 2022.02.23 17:43 #19174 Rustam Bikbulatov #:我可以看到。如果你设置为0.02,它将选择0.02手的订单。我问的是如何设置为先看0.01,再看0.02,以此类推。 将数组聚合为一个二维数组,第一维是地段,第二维是门票。对数组进行排序,并在第一个维度有最小批量时关闭。或者,如果你需要关闭所有,但随着批次的增加,关闭直到最后... Andrei Sokolov 2022.02.23 17:45 #19175 Sergey Gridnev #: 你需要2个周期:你在第一个周期中找出最小量,在第二个周期中关闭它。而且要注意,订单在平仓时要移位1个位置, 所以你必须从最大位置到0做循环。 不。从最早的到最晚的。 Rustam Bikbulatov 2022.02.23 17:47 #19176 我知道他们说什么。好吧,我只能像往常一样通过试验和错误来学习。 Galim_V 2022.02.23 18:15 #19177 Rustam Bikbulatov #:我知道他们说什么。好吧,我只能像往常一样通过试验和错误来学习。 //+------------------------------------------------------------------+ //| Око_01.mq4 | //| Copyright 2019, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2019, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #include <GrosBuch.mqh> #property script_show_inputs //input double Max_loss=0; // extern int N=6; // Количество ордеров input int SLpips=0; // Количество пунктов //Вычисляем возможное оставшееся количество лотов при N лоссов от оставшихся свободных средств // Buch bi; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { double PipValue = MarketInfo(NULL, MODE_TICKVALUE), min_lot = MarketInfo(NULL, MODE_MINLOT), lot_step = MarketInfo(NULL, MODE_LOTSTEP), Margin = MarketInfo(Symbol(), MODE_MARGINREQUIRED), Max_loss=N*SLpips*PipValue*min_lot, //Вычисляем сумму совокупного возможного лосса M_m=DBL_MIN; double remains= AccountFreeMargin()-Max_loss; //Значение свободных средств для открыти ордера Margin*Lots; while(remains>Margin*min_lot&&!IsStopped()) //если они больше,чем необходимо для открытия 1 лота { min_lot=NormalizeDouble(min_lot+lot_step,2); //добавим минлот M_m=Margin*min_lot; //получим значени св средств при вычисленном лоте и размере стопа // Lots*=min_lot; Print("remains = ",remains," Margin =",Margin," PipValue =",PipValue," N =",N,"min_lot =",min_lot," Max_loss =",Max_loss," M-m =",M_m); } } //+------------------------------------------------------------------+ MrBrooklin 2022.02.24 17:15 #19178 晚上好,亲爱的专家们! 请帮助我理解一件事。我正在写一个函数的开头,并决定用一个脚本来检查其代码的某些部分。 //+------------------------------------------------------------------+ //| 3.mq5 | //| Copyright 2021, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2021, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { /* Создадим запрос на сервер и получим ответ с результатом */ MqlTradeRequest request= {}; MqlTradeResult result= {0}; /* запустим цикл для перебора всех установленных отложенных ордеров */ for(int i=OrdersTotal()-1; i>=0; i--) { /* определим параметры установленного ордера */ string symbol=OrderGetString(ORDER_SYMBOL); // символ ордера int digits=(int)SymbolInfoInteger(symbol,SYMBOL_DIGITS); // количество знаков после запятой double point=SymbolInfoDouble(symbol,SYMBOL_POINT); // значение одного пункта ulong ticket=OrderGetTicket(i); // тикет ордера ENUM_ORDER_TYPE type=(ENUM_ORDER_TYPE)OrderGetInteger(ORDER_TYPE); // тип ордера double volume=OrderGetDouble(ORDER_VOLUME_INITIAL); // объём ордера ulong magic=OrderGetInteger(ORDER_MAGIC); // MagicNumber ордера double price_current=OrderGetDouble(ORDER_PRICE_CURRENT); // текущая цена по символу ордера double price_order_open=OrderGetDouble(ORDER_PRICE_OPEN); // цена открытия указанная в ордере double sl=OrderGetDouble(ORDER_SL); // стоп лосс ордера double tp=OrderGetDouble(ORDER_TP); // тейк профит ордера /* выведем информацию об установленных отложенных ордерах */ PrintFormat("#%I64u %s %s %.2f price_current: %.5f price_order_open: %.5f sl: %.5f tp: %.5f magic: %d", ticket,symbol,EnumToString(type),volume,price_current,price_order_open,sl,tp,magic); } } //+------------------------------------------------------------------+ 但在专家选项卡中打印的结果却有点令人费解。挂单ORDER_TYPE_BUY_STOP有符号,但ORDER_TYPE_SELL_STOP因某种原因没有符号。 它能与什么相联系?问候,弗拉基米尔。 Sergey Gridnev 2022.02.24 17:47 #19179 MrBrooklin #:晚上好,亲爱的专家们!请帮助我理解一件事。我正在写一个函数的开头,并决定用一个脚本来检查其代码的某些部分。然而,在专家选项卡中打印的结果却有点令人费解。挂单ORDER_TYPE_BUY_STOP有符号,但ORDER_TYPE_SELL_STOP因某种原因没有符号。它能与什么相联系?问候,弗拉基米尔。 这是因为你没有选择一张票,而是试图获得其特征。 MrBrooklin 2022.02.24 18:12 #19180 Sergey Gridnev #: 这与你没有选择一张票,但试图获得其特征的事实有关。 谢谢你,谢尔盖,谢谢你的答复你的回答让我更加疑惑。怎么可能呢?当我运行该脚本时,所有设定的挂单都被询问了。正如我们在图片中看到的,图表上有两个,同时,一个票被选中,另一个没有?这一点并不十分清楚。 你能更详细地解释一下吗? 我问这个问题不是出于空闲的好奇心,而是为了继续自我学习。 问候,弗拉基米尔。 1...191119121913191419151916191719181919192019211922192319241925...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你自己真的看不出来吗?
"我如何写下这个?" - 在写有0.01手的地方,你必须计算出最小的可用量。
我可以看到。如果你设置为0.02,那么0.02手的订单就会被选中。 我问如何设置为先看0.01手,再看0.02手,以此类推。
你需要2个周期:你在第一个周期中找出最小量,并在第二个周期中关闭它。请注意,当你平仓时,订单会被转移1个位置,所以你必须从最大位置到0进行循环。
你如何从最大值到0?
我问的是如何让它先看0.01,再看0.02,以此类推。
已经两次告诉你如何做了。
我可以看到。如果你设置为0.02,它将选择0.02手的订单。我问的是如何设置为先看0.01,再看0.02,以此类推。
将数组聚合为一个二维数组,第一维是地段,第二维是门票。对数组进行排序,并在第一个维度有最小批量时关闭。或者,如果你需要关闭所有,但随着批次的增加,关闭直到最后...
你需要2个周期:你在第一个周期中找出最小量,在第二个周期中关闭它。而且要注意,订单在平仓时要移位1个位置, 所以你必须从最大位置到0做循环。
不。从最早的到最晚的。
我知道他们说什么。好吧,我只能像往常一样通过试验和错误来学习。
我知道他们说什么。好吧,我只能像往常一样通过试验和错误来学习。
晚上好,亲爱的专家们!
请帮助我理解一件事。我正在写一个函数的开头,并决定用一个脚本来检查其代码的某些部分。
但在专家选项卡中打印的结果却有点令人费解。挂单ORDER_TYPE_BUY_STOP有符号,但ORDER_TYPE_SELL_STOP因某种原因没有符号。
它能与什么相联系?问候,弗拉基米尔。
晚上好,亲爱的专家们!
请帮助我理解一件事。我正在写一个函数的开头,并决定用一个脚本来检查其代码的某些部分。
然而,在专家选项卡中打印的结果却有点令人费解。挂单ORDER_TYPE_BUY_STOP有符号,但ORDER_TYPE_SELL_STOP因某种原因没有符号。
它能与什么相联系?问候,弗拉基米尔。
这与你没有选择一张票,但试图获得其特征的事实有关。
谢谢你,谢尔盖,谢谢你的答复你的回答让我更加疑惑。怎么可能呢?当我运行该脚本时,所有设定的挂单都被询问了。正如我们在图片中看到的,图表上有两个,同时,一个票被选中,另一个没有?这一点并不十分清楚。
你能更详细地解释一下吗?
我问这个问题不是出于空闲的好奇心,而是为了继续自我学习。
问候,弗拉基米尔。