if(OrderSelect(Ticket, SELECT_BY_TICKET)==true) // Если выбор рыночного ордера произошел успешно
{
if(OrderCloseTime()==0) // Если наш рыночный ордер не закрыт {
// Alert("Наш рыночный ордер жив, Модифицируем его если нужно ");
if(Tral_Stop!=0 || Tral_Profit!=0)
{ ModifyTral(); }
return;
}
if(OrderCloseTime()!=0) // Если наш рыночный ордер закрылся
{
Alert("Our market order has closed. The Adviser's work is completed ",
" Swap = ", OrderSwap(), " Commission = ", OrderCommission(),"Profit/loss = ",OrderProfit());
// ..... // получаем профит и считаем общий профит например
}
正确插入代码,alt S或通过图标,提示代码。
为什么你需要一个SaveTick 数组?
你只用了数组中的2个元素。如果你在函数中声明它们,就用全局变量或静态变量代替它们。
用一个数组来表示2个变量是不理智的。
而且你似乎在调用FindTick() 函数之前调用了数组,在那里SaveTick 数组的大小被设置。而且有一个超限的阵列。
谢谢你。明白了。
你能告诉我是什么错误吗?在我看来,这个函数没有正确计数。
***谢谢你。明白了。
你能告诉我是什么错误吗?在我看来,这个函数没有正确计数。
正确插入代码,它是答案窗口上面的第13个方框。
而且你可以用文字逐行写出该函数的作用。
它看起来当然不正确。
我不明白Tick 变量是 在哪里以及如何分配 给订单票 的。而不需要根据以下条件检查魔法数和订单类型
_magic < 0 || OrderMagicNumber() == _magic
如果函数被调用时魔法数小于零或魔法数等于所选订单的数量,我们将请求点的大小,如果等于零,我们将在订单符号中寻找一个空值...等等。
哦,记住,订单选择填入订单的数据结构并存储。而只有在下一个订单选择不同的订单号或票据后,这个结构中的数据才会发生变化。
也就是说,OrderSend并不填充订单数据结构,而是返回订单票或减去1。而订单结构只由OrderSelect填入。然后可以从这个结构中获得这个订单的数据。
正确插入代码,它是答案窗口顶部的第13个方框。
而且你可以用文字逐行写出该函数的作用。
当然,这似乎是错误的。
而且不清楚Tick 变量是 在哪里以及如何分配 给订单票 的。而不需要根据以下条件检查魔法数和订单类型
_magic < 0 || OrderMagicNumber() == _magic
如果函数被调用时魔法数小于零或魔法数等于所选订单的编号,我们将要求点的大小,如果等于零,我们将在订单符号中寻找一个空值...等等。
哦,记住,订单选择填入订单的数据结构并存储。而只有在下一个订单选择不同的订单号或票据后,这个结构中的数据才会发生变化。
也就是说,OrderSend并不填充订单数据结构,而是返回订单票或减去1。而订单结构只由OrderSelect填入。然后从这个结构中我们可以得到这个订单的数据。
在第一个函数中,我们找到所需的订单票据,第二个函数应计算该票据之后关闭的所有订单的利润。那些在它之前的订单的利润对我来说毫无意义。但第二个人没有正确地计算它。当一个订单被打开时,这两个函数被调用,因此它应该等于0,但事实并非如此。
PS接受了你的建议,放弃了数组)
上面的第12个盒子)
在第一个函数中,我找到所需订单的票据,第二个函数应计算在此票据之后关闭的所有订单的利润。我对前面那些人的利润不感兴趣。
PS接受了你的建议,我拒绝了数组)
,从上面的第12个方块)
第一个函数找到数字最高的票,如果票随数字增加而增加))在循环的下一次迭代中,下一个最高编号的订单的票与上一个订单的票进行比较。订单选择填充了订单结构,OrderTicket从这个结构中获取票据值。
自己写或读每行代码的作用。
在第二个函数中,OrderSelect将用相同的票据数据填充订单结构)
第一个函数找到数字最高的票,如果票数随数字增加而增加))在循环的下一次迭代中,下一个最高编号的订单的票与上一个订单的票进行比较。订单选择填充了订单结构,OrderTicket从这个结构中检索票据值。
自己写或读每行代码的作用。
在第二个函数中,OrderSelect将用相同的票据数据填充订单结构)
拼出来了,但似乎关于这种语言的逻辑性不好。你能告诉我如何确定最后一个开放订单的票据吗?
我如何计算它之后的所有平仓订单的利润?
拼出来了,但似乎与这种语言的逻辑关系不好。你能告诉我如何确定最后一个开放订单的票据吗?
我如何计算它之后的所有平仓订单的利润?
在打开订单的时候。它应该是最大的。)而且我们不应该使用订单号。或者我们必须在我们的基础上存储订单号码、票据、订单状态和开/关时间。
而且最好是把逻辑记到最后。那就更容易了。最好从必要的数据开始,而且应该有足够的数据来做决定)
我们有开放的订单时间(非待定)。我们有他们的票。我们有一个开放的价格,每个市场订单的SL和TP。而且有一个秩序关闭的时间。而在订单关闭后,"利润 "字段被填入。
这是我们需要在这些字段中创建逻辑的数据。
完全没有定义 "在最后一个未平仓订单之后的平仓订单 "这一短语。他们可以按编号、按票据和按时间进行。
在订单的开放时间之前。它应该是最大的)
你写得很正确,但代码看起来有点复杂 )))))
我会按照你说的方式来做。
ZS: 通过票号的OrderSelect()比通过未平仓订单的简单搜索需要更长的执行时间。
你写得很正确,但代码有点绕口 ))))
就按你想的方式写吧。
S:通过票号选择订单()比简单地枚举未结订单要花更多时间。
谢谢伊戈尔,只是当他们不理解本质的时候,正确的代码不能传达本质的东西,所以我要求把不复杂的算法放到word))))。
在订单的开放时间之前。应该是最大的)而且只能是不按订单号,往往开票也没有帮助。或者在你的数据库中记住订单号、票据、订单状态和开/关机时间。
而且最好是把逻辑记住,直到最后。那就更容易了。最好从必要的数据开始,而且应该有足够的数据来做决定)
我们有开放的订单时间(非待定)。我们有他们的票。我们有一个开放的价格,每个市场订单的SL和TP。而且有一个秩序关闭的时间。而在订单关闭后,"利润 "字段被填入。
这是我们需要在这些字段中创建逻辑的数据。
完全没有定义 "在最后一个未平仓订单之后的平仓订单 "这一短语。他们可以按编号、按票据和按时间进行。
非常感谢您的答复。我已经实施了你的一些建议。
,我已经写了一个函数,可以找到正确的勾。
编写了一个函数,在所选函数的预期订单刻度后,计算所有平仓订单的利润。我现在要做的就是根据你的建议进行修正,并增加一个按时间检查等。
现在唯一让我困惑的是,它的计算方式不正确。如果TP的测试结果是0.02,它就会计算并在Comment中写下0.1300。你能告诉我它有什么问题吗?