For shift= barn downto 0 Begin LL=10000000;HH=-100000000; for i=shift+Length downto shift+1 Begin if Low[i]< LL then {LL=Low[i]; }; if High[i]>HH then {HH=High[i]; }; end;
if Low[shift]<LL和High[shift]>HHH,那么 { Swing=2; if Swing_n=1 then {zu=shift+1;}; if Swing_n=-1 then {zd=shift+1;};
} else { if Low[shift]<LL then {Swing=-1;}; if High[shift]>.HH则{Swing=1;}; };
if Swing <> Swing_n and Swing_n<>0 then { if Swing=2 then {swing=-Swing_n;BH = High[shift]; BL = Low[shift]; }; uzl=uzl+1; if swing = 1 then {Uzel[uzl,1]=zd;Uzel[uzl,2]=BL;}; if swing =- 1 then {Uzel[uzl,1]=zu;Uzel[uzl,2]=BH; }; BH = High[shift]; BL = Low[shift]; };
if swing = 1 then { if High[shift] >= BH then {BH=High[shift]。zu=shift;}; if swing = -1 then { if Low[shift]<=BL then {BL=Low[shift]; zd=shift;}; Swing_n=Swing;
end; for i =1 to uzl Begin SetIndexValue(Uzel[i,1], Uzel[i,2); end ;
//下面交易添加by eugene5
If FreeMargin<1000 then Exit; // nomoney - exit
flag=0; for i=1 to TotalTrades { if Symbol=Ord(i,VAL_SYMBOL) then flag=i; };
trend=Uzel[uzl,2]-Uzel[uzl-1,2];
if trend<0 then { comment( "differencezigzaz=" , trend, " wantbuy:)", " 最后位置=", 最后位置); } else if trend>0 then { comment("differencezigzag=",trend, " wantsell:)", " lastposition=", lastposition); } else comment("差距zigzag=",趋势, " 站在at:(", " lastposition=", lastposition);
//If CurTime > LastTradeTime + 10 Then //standardcheckbytime { if trend<0 then { if flag<>0 and ord(flag,VAL_TYPE)=OP_SELL then { Comment("close order"); CloseOrder(ord(flag,VAL_TICKET),ord(flag,VAL_LOTS), bid,slipage,red); lastposition="sell"; exit; } else if flag=0 and (lastposition="sell" or lastposition="") then { Comment("buy"); SetOrder(OP_BUY,lot,ask,Slippage,ask-StopLoss*point,ask+TakeProfit*Point,RED); exit; }; };
if trend>0则 { if flag<>0 and ord(flag,VAL_TYPE)=OP_BUY then { Comment("close order"); CloseOrder(ord(flag,VAL_TICKET),ord(flag,VAL_LOTS),ask,slapage,red); lastposition="buy"; exit; } else if flag=0 and (lastposition="buy" or lastposition="") then { Comment("sell"); SetOrder(OP_SELL,lot,bid,Slippage,bid+StopLoss*point,bid-TakeProfit*Point,RED); exit; }; }; }
我将写一个任何复杂的顾问。最主要的是要有一个好的想法。你将如何使用它,我不关心:将出售 - 我不介意(我不会要钱)。
P.S.如果你需要一个指标,你必须告诉我你想在其中使用它的策略。
https://forum.mql4.com/ru/34977
我已经告诉过你,没有必要滥竽充数,增加相同的帖子数量。
你好,请你告诉我是否有可能为MT4重新制作这个EA? 它是为MT3编写的,但现在没有人在MT3上工作。
我想提前感谢他。
/*[[
名称 := 哈萨克族 博雅
作者 :=原始 指标 ZigZag 来自 哈萨克斯坦
想法 细 化 和 使用 来自 nemo-X
小 编程 和 调试 来自 eugene5
链接 :=
注释 :=
Lots := 0。1
Stop Loss := 100
Take Profit:= 100
Trailing Stop := 0
]]*/
Defines: barn(100),Length(6);
Defines: slippage(10);
Variables : shift(0), lasthigh(-1), lastlow(-1), lasthighpos(0), lastlowpos(0) , currentvalue(0), lastvalue(0);
Variables :val(0),back(0),res(0),flag(0);
Variables : curlow(0),curhigh(0),currentshift(0),lastshift(0);
Variable:Trend(0),lastposition("");
Variables : LL(0),HH(0),Swing(0),Swing_n(0),BH(0),BL(0),i(0),zu(0),zd(0),NH(0),NL(0), uzl(0);
Array:Uzel[10000,2](0);
SetLoopCount(0);
//从第一个柱子到当前柱子的循环(用shift=0)
Swing_n=0; Swing=0; uzl=0;
BH=High[barn];BL=Low[barn];zu=barn;zd=barn;
For shift= barn downto 0 Begin
LL=10000000;HH=-100000000;
for i=shift+Length downto shift+1 Begin
if Low[i]< LL then {LL=Low[i]; };
if High[i]>HH then {HH=High[i]; };
end;
if Low[shift]<LL和High[shift]>HHH,那么
{
Swing=2;
if Swing_n=1 then {zu=shift+1;};
if Swing_n=-1 then {zd=shift+1;};
}
else
{
if Low[shift]<LL then {Swing=-1;};
if High[shift]>.HH则{Swing=1;};
};
if Swing <> Swing_n and Swing_n<>0 then
{
if Swing=2 then {swing=-Swing_n;BH = High[shift]; BL = Low[shift]; };
uzl=uzl+1;
if swing = 1 then {Uzel[uzl,1]=zd;Uzel[uzl,2]=BL;};
if swing =- 1 then {Uzel[uzl,1]=zu;Uzel[uzl,2]=BH; };
BH = High[shift]; BL = Low[shift];
};
if swing = 1 then { if High[shift] >= BH then {BH=High[shift]。zu=shift;};
if swing = -1 then { if Low[shift]<=BL then {BL=Low[shift]; zd=shift;};
Swing_n=Swing;
end;
for i =1 to uzl Begin
SetIndexValue(Uzel[i,1], Uzel[i,2);
end ;
//下面 交易 添加 by eugene5
If FreeMargin<1000 then Exit; // nomoney - exit
flag=0;
for i=1 to TotalTrades
{
if Symbol=Ord(i,VAL_SYMBOL) then
flag=i;
};
trend=Uzel[uzl,2]-Uzel[uzl-1,2];
if trend<0 then
{
comment( "difference zigzaz=" , trend, " want buy:)", " 最后位置=", 最后位置);
}
else
if trend>0 then
{
comment("difference zigzag=",trend, " want sell:)", " lastposition=", lastposition);
}
else
comment("差距 zigzag=",趋势, " 站在 at :(", " lastposition=", lastposition);
//If CurTime > LastTradeTime + 10 Then //standard check by time
{
if trend<0 then
{
if flag<>0 and ord(flag,VAL_TYPE)=OP_SELL then
{
Comment("close order");
CloseOrder(ord(flag,VAL_TICKET),ord(flag,VAL_LOTS), bid,slipage,red);
lastposition="sell";
exit;
}
else
if flag=0 and (lastposition="sell" or lastposition="") then
{
Comment("buy");
SetOrder(OP_BUY,lot,ask,Slippage,ask-StopLoss*point,ask+TakeProfit*Point,RED);
exit;
};
};
if trend>0则
{
if flag<>0 and ord(flag,VAL_TYPE)=OP_BUY then
{
Comment("close order");
CloseOrder(ord(flag,VAL_TICKET),ord(flag,VAL_LOTS),ask,slapage,red);
lastposition="buy";
exit;
}
else
if flag=0 and (lastposition="buy" or lastposition="") then
{
Comment("sell");
SetOrder(OP_SELL,lot,bid,Slippage,bid+StopLoss*point,bid-TakeProfit*Point,RED);
exit;
};
};
}
你好,请问你能为这个系统写一个EA吗?
我们做了两个EA,一个从买入开始,另一个从卖出开始。
在开仓交易时,我们总是设置10点的止损和40点的止盈,以保持盈亏比为1:4。
如果一笔交易证明是无利可图的--我们使用表格增加下一笔交易的赌注,直到我们获得至少一笔盈利的交易。这笔交易将偿还我们所有的损失并给我们带来一些利润。
交易# 手 损失 利润
1 0,01 1 4
2 0,01 1 4
3 0,01 1 4
4 0,01 1 4
5 0,02 2 8
6 0,02 2 8
7 0,03 3 12
8 0,03 3 12
9 0,04 4 16
10 0,05 5 20
11 0,06 6 24
12 0,08 8 32
13 0,1 10 40
14 0,12 12 48
15 0,15 15 60
16 0,18 18 72
17 0,23 23 92
18 0,29 29 116
19 0.36 36 144
为了更好地理解这一点,让我们看一个例子。
我们用0.01手做1个赌注(根据这个手的1个赌注的表格)。我们输了,得到1美元的损失。进行第二次下注--我们又输了,我们也得到了1美元的损失,总损失为2美元。
我们下了3,4次赌注,损失增加到4美元。在5笔交易中,我们将赌注增加到0.02手,我们也得到了一个损失。
我们下了6,7,8次赌注,结果又输了!
在第8个赌注上,我们有1$+1$+1$+1$+2$+2$+3$+3=14美元的损失。但我们还有11次尝试来获得一个有利可图的交易。
在第9笔交易中,我们用手数0.04下了一个赌注,赢了16美元!!。最后发现,之前交易的所有损失(14美元)我们都拿回来了,另外我们还赚了2美元!"。也就是说,连续8次亏损,最后有1次盈利的交易给我们带来了利润!
这样,我们不仅没有损失什么,而且还赚了!"。
之后,游戏从第一次下注重新开始,直到我们再次获得利润。
P.S. 这个系统(手动)在现实生活中完美无缺地运作
在第9笔交易中,我们用手数0.04 下了注,赢得了16美元!!!!。结果发现,之前交易的所有损失(14美元)我们都返还了,另外我们还赚了2美元!"。也就是说,连续8次亏损,最后有1次盈利的交易给我们带来了利润!
这样,我们不仅没有损失什么,而且还赚了!"。
之后,游戏从第一次下注重新开始,直到我们再次获得利润。
P.S.这个系统(用手)在真正的工作中是完美无缺的!
4000买入-(1.2美元)+ (40)点 =16-1.2-14.8美元
姓名 := 哈萨克族 Udav
谷歌:哈萨克族博雅网站:mql4.com
服务是新的))-让我为你谷歌一下-http://tinyurl.com/22wckjq
1000点1000元-0.1元 开场3点1000元-0.3元
4000买入-(1.2美元)+ (40)点 =16-1.2美元-14.8美元
全部完成,申请不予考虑
你好,请问你能为这个系统写一个EA吗?
我们做了两个EA,一个从买入开始,另一个从卖出开始。
在开仓交易时,我们总是设置10点的止损和40点的止盈,以保持盈亏比为1:4。
如果一笔交易证明是无利可图的--我们使用表格增加下一笔交易的赌注,直到我们获得至少一笔盈利的交易。这笔交易将偿还我们所有的损失并给我们带来一些利润。
交易# 手 损失 利润
1 0,01 1 4
2 0,01 1 4
3 0,01 1 4
4 0,01 1 4
5 0,02 2 8
6 0,02 2 8
7 0,03 3 12
8 0,03 3 12
9 0,04 4 16
10 0,05 5 20
11 0,06 6 24
12 0,08 8 32
13 0,1 10 40
14 0,12 12 48
15 0,15 15 60
16 0,18 18 72
17 0,23 23 92
18 0,29 29 116
19 0.36 36 144
为了更好地理解这一点,让我们看一个例子。
我们用0.01手做1个赌注(根据这个手的1个赌注的表格)。我们输了,得到1美元的损失。进行第二次下注--我们又输了,我们也得到了1美元的损失,总损失为2美元。
我们下了3,4次赌注,损失增加到4美元。在5笔交易中,我们将赌注增加到0.02手,我们也得到了一个损失。
我们下了6,7,8次赌注,结果又输了!
在第8个赌注上,我们有1$+1$+1$+1$+2$+2$+3$+3=14美元的损失。但我们还有11次尝试来获得一个有利可图的交易。
在第9笔交易中,我们用手数0.04下了一个赌注,赢了16美元!!。最后发现,之前交易的所有损失(14美元)我们都拿回来了,另外我们还赚了2美元!"。也就是说,连续8次亏损,最后有1次盈利的交易给我们带来了利润!
这样,我们不仅没有损失什么,而且还赚了!"。
之后,游戏从第一次下注重新开始,直到我们再次获得利润。
P.S. 这个系统(手动)在现实生活中完美无缺地运作