[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 845

 
Top2n:
也许有人有书面的Loca代码,请寄给我,我将对你感激不尽!
我已经当面回答过你了,那是同一个开场姿势,但方向相反。而姿势的体积自己看,根据你的逻辑。
 
我做的是待定,但有一个错误,在这个地方打开的次数越多,离订单就越远。它需要没有遮挡,就在现场,但我不能写出在什么情况下会打开的条件!
 
Top2n:
我用一个待定的做了,但有一个问题:它在这个地方打开的次数越多,离订单就越远。 我需要它没有盖子,但就在现场,但我不能写出在什么情况下它应该打开的条件!"。

如果你自己不能决定开放条件,那么我怎么能帮助你呢?

你必须尝试以某种方式将你想做的事情正式化。

 
相反的订单应该在某个点打开,如果它被关闭,它应该在同一点再次打开,当然,如果价格下降到它。
 
Top2n:
相反的订单应该在某个点打开,然后,如果它已经关闭,它将在这个点再次打开,如果价格已经下降到它。我想是这样

说实话...这更像是来自一个臭名昭著的客户的某种TOR,其中有很多,而不是程序员的逻辑:)

1.你是否需要一个挂单,或者在当前头寸达到一定的亏损点时开一个相反的头寸?

2.如果它是一个相反的订单,并且价格触及它,那么它将被转化为一个市场订单,因此

2.1. 如果一个市场头寸已经关闭(有损失?有利润?(其类型将取决于当前价格)

2.2 如果挂单被触发,我是否应该再次设置?

2.3

2.4.

....还有无数的问题要问。让我们不要钳制关于你所追求的信息,嗯?

写下你想做的事情的逻辑。这是第一件事。你可以把它写在一张纸和一支铅笔上...

然后你可以决定如何将其全部纳入代码。

 

我对卷的工作感兴趣。有.csv格式的文件。我看了一下,在交易服务器文件夹中,有.hst格式的文件。

csv文件 应该是什么格式,我应该如何将其转换为.NET文件?hst ?

 

在我看来,这实际上比这更简单。

1.打开海湾订单,如果价格下降了10个点,那么我们就打开卖出。

2.如果卖出被SL关闭,价格开始与海湾一起工作,如果价格再次下降到负10点,再次打开卖出。

如果sll被TP关闭,那么我的EA就会做对一切。

我有一个问题,如何发布一个条件。

1.打开海湾订单,如果价格下降了10个点,那么就打开卖出

2.如果卖出被SL关闭,价格开始与海湾一起工作,如果价格再次下降到负10点,那么再次打开卖出

 

如果我用一个可能是愚蠢的问题分散你的注意力,请原谅我。

我刚开始学这个,没有人可以请教。

我已经读了几遍手册。我已经开始用最简单的功能--挂单--做一个专家顾问。

我仍然不明白,我必须做的是开一次单,而不是每次开单。

//+------------------------------------------------------------------+
//| my.mq4 |
//| ǞǞǞǞ
//| |
//+------------------------------------------------------------------+
#财产版权"serjik"


//---- 外部变量
外置双数 Lots=0.1; // 批量大小
外置 int StopLoss=0; // 止损
extern int TakeProfit=10; //利润
extern int int DistanceSet=10; // 与订单市场的距离。
外部 inttern Slippage=3; //价格滑坡
//----global variables

//+------------------------------------------------------------------+
//|专家初始化功能|
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//|专家去初始化功能|
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//|专家启动功能|
//+------------------------------------------------------------------+
int start()
{

double ldStop=0, ldTake=0。
double pAsk=Ask+DistanceSet*Point;
double pBid=Bid-DistanceSet*Point;

如果(StopLoss!=0) ldStop=pAsk-StopLoss*Point;
如果(TakeProfit!=0) ldTake=pAsk+TakeProfit*Point;
SetOrder(OP_BUYSTOP, pAsk, ldStop, ldTake); //

如果(StopLoss!=0) ldStop=pBid+StopLoss*Point; //
如果(TakeProfit!=0) ldTake=pBid-TakeProfit*Point;
SetOrder(OP_SELLSTOP, pBid, ldStop, ldTake); //



}
//+------------------------------------------------------------------+
//| 订单设置|
//| 参数: |
//| op - 操作 |
//| pp - 价格 |
//| ldStop - 停止水平|
//| ldTake - 采取的水平 |
//+------------------------------------------------------------------+
空白 SetOrder(int op, double pp, double ldStop, double ldTake)。
{

OrderSend(Symbol(),op,Lots,pp,Slippage,ldStop,ldTake)。


return(0);
}
//+------------------------------------------------------------------+



我可能已经在这个论坛上看到了,但我没有足够的精力去重新阅读它。

如果有人帮助我,那就大大地感谢你了。

 
Top2n:

在我看来,这实际上比这更简单。

1.打开海湾订单,如果价格下降了10个点,那么我们就打开卖出。

2.如果卖出被SL关闭,价格开始与海湾一起工作,如果价格再次下降到负10点,再次打开卖出。

如果sll被TP关闭,那么我的EA就会做对一切。

我有一个问题,如何发布一个条件。

1.打开海湾订单,如果价格下降了10个点,那么就打开卖出

2.如果卖出被SL关闭,价格开始与海湾一起工作,如果价格再次下降到负10点,那么再次打开卖出

在每一个点上,检查未结头寸 的利润,如果它小于或等于10个点,那么就做你接下来需要做的事情。
 
serjik77:

如果我用一个可能是愚蠢的问题分散你的注意力,请原谅我。

我刚开始学这个,没有人可以请教。

我已经读了几遍手册。我已经开始用最简单的功能--挂单--做一个专家顾问。

我仍然不明白,我必须做的是开一次单,而不是每次开单。

//+------------------------------------------------------------------+
//| my.mq4 |
//| ǞǞǞǞ
//| |
//+------------------------------------------------------------------+
#财产版权 "serjik"


//---- 外部变量
外置双数 Lots=0.1; // 批量大小
外置 int StopLoss=0; // 止损
extern int TakeProfit=10; //利润
extern int int DistanceSet=10; // 与订单市场的距离。
外部int int Slippage=3; //价格滑点
//----global variables

//+------------------------------------------------------------------+
//|专家初始化功能|
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//|专家去初始化功能|
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//|专家启动功能|
//+------------------------------------------------------------------+
int start()
{

double ldStop=0, ldTake=0。
double pAsk=Ask+DistanceSet*Point;
double pBid=Bid-DistanceSet*Point;

如果(StopLoss!=0) ldStop=pAsk-StopLoss*Point;
如果(TakeProfit!=0) ldTake=pAsk+TakeProfit*Point;
SetOrder(OP_BUYSTOP, pAsk, ldStop, ldTake); //

如果(StopLoss!=0) ldStop=pBid+StopLoss*Point; //
如果(TakeProfit!=0) ldTake=pBid-TakeProfit*Point;
SetOrder(OP_SELLSTOP, pBid, ldStop, ldTake); //



}
//+------------------------------------------------------------------+
//| 订单设置|
//| 参数: |
//| op - 操作 |
//| pp - 价格 |
//| ldStop - 停止水平|
//| ldTake - 采取的水平 |
//+------------------------------------------------------------------+
空白 SetOrder(int op, double pp, double ldStop, double ldTake)。
{

OrderSend(Symbol(),op,Lots,pp,Slippage,ldStop,ldTake)。


return(0);
}
//+------------------------------------------------------------------+



我可能已经在这个论坛上看到了,但我没有足够的精力去重新阅读它。

如果有人帮助我,那就大大地感谢你了。

在下订单之前,你必须首先检查该订单是否已经存在...如果还没有,那就应该放在那里,如果有,就不要...
原因: