最近、私の不良セクタのハードディスクを救い出すことに成功し、複数の取引プラットフォームから 何百ものEAとIndicatorを掘り始めました。10point3 variant, that alone I have like 20 versions Besides, I've been stopped coding for several years, am really lazy and having trouble catching up when looked into the codes.
if (mm!=0) { lotsi=MathCeil(AccountBalance()*risk/10000); }.
else { lotsi=Lots; }.
} else { // その後がミニ
if (mm!=0) { lotsi=MathCeil(AccountBalance()*risk/10000)/10; } }.
else { lotsi=Lots; }.
}
if (lotsi>100){ lotsi=100; }.
OpenOrders=0;
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol())
{
OpenOrders++;
}
}
if (OpenOrders<1)
{
if (TimeYear(CurTime())<StartYear) { return(0); }.
if (TimeMonth(CurTime())<StartMonth){戻り値(0); }.
if (TimeYear(CurTime())>EndYear){return(0);}。
if (TimeMonth(CurTime())>EndMonth ) { return(0); }.
}
if (Symbol()=="fSi") { PipValue=fSiPipValue; }.
if (Symbol()=="EURUSD") { PipValue=EURUSDPipValue; } { PipValue=EURUSDPipValue; } { PipValue=EURUSDPipValue
if (Symbol()=="GBPUSD") { PipValue=GBPUSDPipValue; }.
if (Symbol()=="USDJPY") { PipValue=USDJPYPipValue;}。
if (Symbol()=="USDCHF") { PipValue=USDCHFPipValue; } もし (Symbol()=="USDCHF") { PipValue=USDCHFPipValue。
if (PipValue==0) { PipValue=5; }.
if (PreviousOpenOrders>OpenOrders)
{
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
mode=OrderType()。
if (OrderSymbol()==Symbol())
{
if (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue); }.
if (mode==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red); } { 注文終了。
return(0);
}
}
}
PreviousOpenOrders=OpenOrders;
if (OpenOrders>=MaxTrades)
{
ContinueOpening=False。
} else {
ContinueOpening=True。
if (LastPrice==0)
{
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
mode=OrderType();
if (OrderSymbol()==Symbol())
{
LastPrice=OrderOpenPrice()。
if (mode==OP_BUY) { myOrderType=2; }.
if (モード==OP_SELL) { myOrderType=1; }.
}
}
}
if (OpenOrders<1)
{
myOrderType=3です。
//if (iMACD(14,26,9,MODE_MAIN,0)>0 and iMACD(14,26,9,MODE_MAIN,0)>iMACD(14,26,9,MODE_MAIN,1)) then OrderType=2.If (iMACD(14,26,9,MODE_MAIN,1)), then OrderType=2;
if (iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0)>iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,1)) { myOrderType=2; } } { iMACD(NULL,0,14,26,9,MODE_MAIN,0) >iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,1)
//if (iMACD(14,26,9,MODE_MAIN,0)<0 and iMACD(14,26,9,MODE_MAIN,0)<iMACD(14,26,9,MODE_MAIN,1)) then OrderType=1.If (iMACD(14,26,9,MODE_MAIN,1)), orderType=1;
if (iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0)<iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,1)) { myOrderType=1; } もし、(ReverseCondition==1) if (NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0)
if (ReverseCondition==1)
{
if (myOrderType==1) { myOrderType=2; }.
else { if (myOrderType==2) { myOrderType=1; }.}
}
}
// もし、オープンポジションがあれば、それを処理します。
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol())
{
if (オーダータイプ()==OP_SELL)
{
if (TrailingStop>0)
{
if (OrderOpenPrice()-Ask>=(TrailingStop+Pips)*Point)
if (mm!=0) { lotsi=MathCeil(AccountBalance()*risk/10000); }.
else { lotsi=Lots; }.
} else { // その後がミニ
if (mm!=0) { lotsi=MathCeil(AccountBalance()*risk/10000)/10; } }.
else { lotsi=Lots; }.
}
if (lotsi>100){ lotsi=100; }.
OpenOrders=0;
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol())
{
OpenOrders++;
}
}
if (OpenOrders<1)
{
if (TimeYear(CurTime())<StartYear) { return(0); }.
if (TimeMonth(CurTime())<StartMonth){戻り値(0); }.
if (TimeYear(CurTime())>EndYear){return(0);}。
if (TimeMonth(CurTime())>EndMonth ) { return(0); }.
}
if (Symbol()=="fSi") { PipValue=fSiPipValue; }.
if (Symbol()=="EURUSD") { PipValue=EURUSDPipValue; } { PipValue=EURUSDPipValue; } { PipValue=EURUSDPipValue
if (Symbol()=="GBPUSD") { PipValue=GBPUSDPipValue; }.
if (Symbol()=="USDJPY") { PipValue=USDJPYPipValue;}。
if (Symbol()=="USDCHF") { PipValue=USDCHFPipValue; } もし (Symbol()=="USDCHF") { PipValue=USDCHFPipValue。
if (PipValue==0) { PipValue=5; }.
if (PreviousOpenOrders>OpenOrders)
{
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
mode=OrderType()。
if (OrderSymbol()==Symbol())
{
if (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue); }.
if (mode==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red); } { 注文終了。
return(0);
}
}
}
PreviousOpenOrders=OpenOrders;
if (OpenOrders>=MaxTrades)
{
ContinueOpening=False。
} else {
ContinueOpening=True。
if (LastPrice==0)
{
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
mode=OrderType();
if (OrderSymbol()==Symbol())
{
LastPrice=OrderOpenPrice()。
if (mode==OP_BUY) { myOrderType=2; }.
if (モード==OP_SELL) { myOrderType=1; }.
}
}
}
if (OpenOrders<1)
{
myOrderType=3です。
//if (iMACD(14,26,9,MODE_MAIN,0)>0 and iMACD(14,26,9,MODE_MAIN,0)>iMACD(14,26,9,MODE_MAIN,1)) then OrderType=2.If (iMACD(14,26,9,MODE_MAIN,1)>iMACD)
if (iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0)>iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,1)) { myOrderType=2; } } { iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0) >iMACD(NULL,1,14,26,9,MODE_MAIN,1)
//if (iMACD(14,26,9,MODE_MAIN,0)<0 and iMACD(14,26,9,MODE_MAIN,0)<iMACD(14,26,9,MODE_MAIN,1)) then OrderType=1.If (iMACD(14,26,9,MODE_MAIN,1)), then OrderType=1;
if (iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0)<iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,1)) { myOrderType=1; } もし、(ReverseCondition==1) if (NULL(14,26,9,MODE_MAIN,0) <iMACD(14,26,9,MODE_MAIN,2)
if (ReverseCondition==1)
{
if (myOrderType==1) { myOrderType=2; }.
else { if (myOrderType==2) { myOrderType=1; }.}
}
}
// もし、オープンポジションがあれば、それを処理します。
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol())
{
if (オーダータイプ()==OP_SELL)
{
if (TrailingStop>0)
{
if (OrderOpenPrice()-Ask>=(TrailingStop+Pips)*Point)
最近の相場はこうだ。レンジとスパイクウォール街や金融界の大物たちが、市場を予測不能にするための新しい戦術だ。少なくとも、私たちは、上昇したものが、時には下降しなければならないことを知っています。それは波の法則に従わなければならない。全宇宙は波によって駆動されているので、市場。
10pts EA販売取引スコア-$2o5しかし、それはダウンします。すべての指標は、そこを指す。
ヘルメス
davidke20 私たちはまだ10pts EAに取り組んでおり、それを改善したり、完璧にしたり、化粧品にしようとしています。なぜスレッドを変更するよりも?我々はそのテーマで壁に当たったのですか?エルメス
私は、10p3で作業することが間違っているとは言っていません。私は、ダブル "ダウン "の代わりにダブル "アップ "するシステムを作ることは、もはや10p3ではない、と言っていた、同様に新しいスレッドを呼び出すかもしれません。![](https://c.mql5.com/forextsd/smiles/smile.png)
最近、私の不良セクタのハードディスクを救い出すことに成功し、複数の取引プラットフォームから 何百ものEAとIndicatorを掘り始めました。10point3 variant, that alone I have like 20 versions
Besides, I've been stopped coding for several years, am really lazy and having trouble catching up when looked into the codes.![](https://c.mql5.com/forextsd/smiles/embaressed_smile.png)
このEAで売買の方向性を決めたいのですが、どなたか教えてください。
このEAで売買の方向性を指定したいのですが、どなたか教えてください。
Shakilbossさん、こんにちは。
Ea.をクリックしてチャートにインストールし、コモンタブを開くと、左端にロング&ショートというタブがあり、それをクリックすると、ドロップダウンにロング&ショート、ロング、ショートがあり、どちらかを選ぶと、Ea.はEa.の指標がその方向に一致した後、その方向に取引します。
確かに今ロングトレードするとやりがいがありそうですEAは-$520のダウンですが、まだ大したことはありません。私は一度FX Hackedで$1,500以上ダウンしましたが、回復しました(結局+$7でした)。最近、Jesse Livermoreが自殺で人生を終えたというニュースを読みました。大きな虫を作り始めたら要注意です!大金持ちになると飽きるし、喜びもなくなる。若い女性の簿記係がいれば、喜びは持続する。彼女があなたの株式の過負荷を処理してくれるでしょう。
それでは、良い週末をお過ごしください。
エルメス
P.S. 取引の方向を制御 する他の可能性は、最初のページにあるExpert Adviserに入り、ライブ取引を許可するボックス「ask manual confirmation」をマークすることですが、それは確認のためにいつもあなたを悩ませるので迷惑なことです。
ヘルプ
EAで10ポイント 3のみ ショートポジションをオープン(((![](https://c.mql5.com/forextsd/smiles/embaressed_smile.png)
のコードが必要です。
extern double TakeProfit = 40;
extern double Lots = 1;
extern double InitialStop = 0;
extern double TrailingStop = 20; extern double InitialStop = 0; extern double TrailingStop = 20;
extern int MaxTrades=10;
extern int Pips=15;
extern int SecureProfit=10;
extern int AccountProtection=1;
extern int OrderstoProtect=3;
extern int ReverseCondition=0;
extern double fSiPipValue=10;
extern double EURUSDPipValue=10; extern double GBPUSDPipValue=10;
extern double GBPUSDPipValue=10;
extern double USDCHFPipValue=10;
extern double USDJPYPipValue=9.715;
extern int StartYear=2005;
extern int StartMonth=1;
extern int EndYear=2006; extern int StartMonth=1; extern int EndMonth=2006;
extern int EndMonth=12;
extern int EndHour=22;
extern int EndMinute=30; extern int EndHour=22; extern int EndMinute=30。
extern int mm=0;
extern int risk=12;
extern int AccountisNormal=0;
int OpenOrders=0, cnt=0;
int slippage=5;
double sl=0, tp=0;
double BuyPrice=0、SellPrice=0;
double lotsi=0、mylotsi=0;
int mode=0, myOrderType=0;
bool ContinueOpening=True;
double LastPrice=0;
int PreviousOpenOrders=0;
double Profit=0。
int LastTicket=0, LastType=0;
double LastClosePrice=0、LastLots=0;
double Pivot=0;
double PipValue=0;
文字列 text="", text2="";
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
int start()
{
//----
if (AccountisNormal==1)
{
if (mm!=0) { lotsi=MathCeil(AccountBalance()*risk/10000); }.
else { lotsi=Lots; }.
} else { // その後がミニ
if (mm!=0) { lotsi=MathCeil(AccountBalance()*risk/10000)/10; } }.
else { lotsi=Lots; }.
}
if (lotsi>100){ lotsi=100; }.
OpenOrders=0;
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol())
{
OpenOrders++;
}
}
if (OpenOrders<1)
{
if (TimeYear(CurTime())<StartYear) { return(0); }.
if (TimeMonth(CurTime())<StartMonth){戻り値(0); }.
if (TimeYear(CurTime())>EndYear){return(0);}。
if (TimeMonth(CurTime())>EndMonth ) { return(0); }.
}
if (Symbol()=="fSi") { PipValue=fSiPipValue; }.
if (Symbol()=="EURUSD") { PipValue=EURUSDPipValue; } { PipValue=EURUSDPipValue; } { PipValue=EURUSDPipValue
if (Symbol()=="GBPUSD") { PipValue=GBPUSDPipValue; }.
if (Symbol()=="USDJPY") { PipValue=USDJPYPipValue;}。
if (Symbol()=="USDCHF") { PipValue=USDCHFPipValue; } もし (Symbol()=="USDCHF") { PipValue=USDCHFPipValue。
if (PipValue==0) { PipValue=5; }.
if (PreviousOpenOrders>OpenOrders)
{
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
mode=OrderType()。
if (OrderSymbol()==Symbol())
{
if (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue); }.
if (mode==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red); } { 注文終了。
return(0);
}
}
}
PreviousOpenOrders=OpenOrders;
if (OpenOrders>=MaxTrades)
{
ContinueOpening=False。
} else {
ContinueOpening=True。
if (LastPrice==0)
{
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
mode=OrderType();
if (OrderSymbol()==Symbol())
{
LastPrice=OrderOpenPrice()。
if (mode==OP_BUY) { myOrderType=2; }.
if (モード==OP_SELL) { myOrderType=1; }.
}
}
}
if (OpenOrders<1)
{
myOrderType=3です。
//if (iMACD(14,26,9,MODE_MAIN,0)>0 and iMACD(14,26,9,MODE_MAIN,0)>iMACD(14,26,9,MODE_MAIN,1)) then OrderType=2.If (iMACD(14,26,9,MODE_MAIN,1)), then OrderType=2;
if (iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0)>iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,1)) { myOrderType=2; } } { iMACD(NULL,0,14,26,9,MODE_MAIN,0) >iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,1)
//if (iMACD(14,26,9,MODE_MAIN,0)<0 and iMACD(14,26,9,MODE_MAIN,0)<iMACD(14,26,9,MODE_MAIN,1)) then OrderType=1.If (iMACD(14,26,9,MODE_MAIN,1)), orderType=1;
if (iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0)<iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,1)) { myOrderType=1; } もし、(ReverseCondition==1) if (NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0)
if (ReverseCondition==1)
{
if (myOrderType==1) { myOrderType=2; }.
else { if (myOrderType==2) { myOrderType=1; }.}
}
}
// もし、オープンポジションがあれば、それを処理します。
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol())
{
if (オーダータイプ()==OP_SELL)
{
if (TrailingStop>0){
if (OrderOpenPrice()-Ask>=(TrailingStop+Pips)*Point)
{
if (OrderStopLoss()>(Ask+Point*TrailingStop))の場合
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderClosePrice() - TakeProfit*Point-TrailingStop*Point,800,Purple).OrderOpenPrice(),Ask+TrailingStop()の場合。
return(0);
}
}
}
if (OrderType()==OP_BUY)
{
if (TrailingStop>0){
if (買値-売値()>=(TrailingStop+Pips)*ポイント)
{
if (オーダーストップロス()<(ビッド-ポイント*トレイリングストップ))
{
注文変更(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderClosePrice() +TakeProfit*Point+TrailingStop*Point,800,Yellow).OrderModify(OrderOpenPrice())
return(0);
}
}
}
}
}
Profit=0;
LastTicket=0;
LastType=0。
LastClosePrice=0。
LastLots=0。
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol())
{
LastTicket=OrderTicket()。
if (オーダータイプ()==OP_BUY){ LastType=OP_BUY; } { LastType=OP_BUY。
if (OrderType()==OP_SELL) { LastType=OP_SELL;}。
LastClosePrice=OrderClosePrice()。
LastLots=OrderLots()。
if (LastType==OP_BUY)
{
//Profit=Profit+(Ord(cnt,VAL_CLOSEPRICE)-Ord(cnt,VAL_OPENPRICE))*PipValue*Ord(cnt,VAL_LOTS));
if (OrderClosePrice()<OrderOpenPrice())の場合。
{ 利益=利益-(OrderOpenPrice()-OrderClosePrice())*OrderLots()/ポイント; }.
もし(OrderClosePrice()>OrderOpenPrice())
{ 利益=利益+(OrderClosePrice()-OrderOpenPrice())*OrderLots()/Point; } }.
}
if (LastType==OP_SELL)
{
//Profit=Profit+(Ord(cnt,VAL_OPENPRICE)-Ord(cnt,VAL_CLOSEPRICE)) *PipValue*Ord(cnt,VAL_LOTS);
if (OrderClosePrice()>OrderOpenPrice())の場合。
{ 利益=利益-(OrderClosePrice()-OrderOpenPrice())*OrderLots()/Point; } } { 利益=利益-(OrderClosePrice()-OrderOpenPrice())
もし(OrderClosePrice()<OrderOpenPrice())
{ 利益=利益+(OrderOpenPrice()-OrderClosePrice())*OrderLots()/Point; } { 利益=利益+OrderClosePrice()*OrderLots())/Point
}
//Print(Symbol,":",Profit,", "LastLots)。
}
}
利益=Profit*PipValue;
text2="利益: $"+DoubleToStr(Profit,2)+" +/-";
if (OpenOrders>=(MaxTrades-OrderstoProtect) && AccountProtection==1)
{
//Print(Symbol,":",Profit)。
if (利益>=SecureProfit)(利益)
{
オーダークローズ(LastTicket,LastLots,LastClosePrice,slippage,Yellow);
ContinueOpening=False。
return(0);
}
if (!IsTesting())
{
if (myOrderType==3) { text="No conditions to open trades"; }.
else { text=" "; }.
Comment("LastPrice=",LastPrice," Previous open orders=",PreviousOpenOrders,"\nContinue opening=",ContinueOpening," OrderType=",myOrderType,"\n",text2,"\nLots=",lotsi,"\n", text).
}
if (myOrderType==1 && ContinueOpening)
{
if ((Bid-LastPrice)>=Pips*Point || OpenOrders<1)
{
SellPrice=Bid;
LastPrice=0;
if (TakeProfit==0) { tp=0; }.
else { tp=SellPrice-TakeProfit*Point; }.
if (InitialStop==0){sl=0;}とする。
else { sl=SellPrice+InitialStop*Point;}。
if (OpenOrders!=0)
{
mylotsi=lotsi;
for(cnt=1;cnt<=OpenOrders;cnt++)
{
if (MaxTrades>12) { mylotsi=NormalizeDouble(mylotsi*1.5,1); }.
else { mylotsi=NormalizeDouble(mylotsi*2,1); } } } { mylotsi=NormalizeDouble(mylotsi*2,1)
}
} else { mylotsi=lotsi; } }
if (mylotsi>100) { mylotsi=100; }.
OrderSend(Symbol(),OP_SELL,mylotsi,SellPrice,slippage,sl,tp,NULL,0,0,Red).OrderSend(Symbol(),OP_SELL,mylotsi,SellPrice,slippage,sl,tp,NULL,0,Red);
return(0);
}
}
if (myOrderType==2 && ContinueOpening)
{
if ((LastPrice-Ask)>=Pips*Point||OpenOrders<1))。
{
BuyPrice=Ask;
LastPrice=0;
if (TakeProfit==0) { tp=0; }.
else { tp=BuyPrice+TakeProfit*Point; }.
if (InitialStop==0){sl=0;}。
else { sl=BuyPrice-InitialStop*Point;}。
if (OpenOrders!=0)の場合{。
mylotsi=lotsi;
for(cnt=1;cnt<=OpenOrders;cnt++)
{
if (MaxTrades>12) { mylotsi=NormalizeDouble(mylotsi*1.5,1); }.
else { mylotsi=NormalizeDouble(mylotsi*2,1); } } } { mylotsi=NormalizeDouble(mylotsi*2,1)
}
} else { mylotsi=lotsi; } }
if (mylotsi>100) { mylotsi=100; }.
OrderSend(Symbol(),OP_BUY,mylotsi,BuyPrice,slippage,sl,tp,NULL,0,0,Blue).OrderSend(Symbol(),OP_BUY,mylotsi,BuyPrice,sl,tp,NULL,0,0,Blue);
return(0);
}
}
//----
return(0)。
}
+------------------------------------------------------------------+
別の質問
EA10pts3_Smi_Rsi1_mrtoolsの エラーで
インジケータをダウンロードしてください
友人に感謝
やあ、みんな
私はかつてこのEAを使って1ヶ月で500%稼いだが、翌週には全部食いつぶしてしまった。![](https://c.mql5.com/forextsd/smiles/biggrin.png)
私のアドバイスは、このマネーマシンをddksgdなどの一般的でないペアで取引することです、ただ、あまり揮発性のないペアはしないでしょう。
ards
EAで10ポイント3オンリーの オープンショートポジション((
のコードになります。
extern double TakeProfit = 40;
extern double Lots = 1;
extern double InitialStop = 0;
extern double TrailingStop = 20;
extern int MaxTrades=10;
extern int Pips=15;
extern int SecureProfit=10;
extern int AccountProtection=1;
extern int OrderstoProtect=3;
extern int ReverseCondition=0;
extern double fSiPipValue=10;
extern double EURUSDPipValue=10; extern double GBPUSDPipValue=10;
extern double GBPUSDPipValue=10;
extern double USDCHFPipValue=10;
extern double USDJPYPipValue=9.715;
extern int StartYear=2005;
extern int StartMonth=1;
extern int EndYear=2006; extern int StartMonth=1; extern int EndMonth=2006;
extern int EndMonth=12;
extern int EndHour=22;
extern int EndMinute=30; extern int EndHour=22; extern int EndMinute=30。
extern int mm=0;
extern int risk=12;
extern int AccountisNormal=0;
int OpenOrders=0, cnt=0;
int slippage=5;
double sl=0, tp=0;
double BuyPrice=0、SellPrice=0;
double lotsi=0、mylotsi=0;
int mode=0, myOrderType=0;
bool ContinueOpening=True;
double LastPrice=0;
int PreviousOpenOrders=0;
double Profit=0。
int LastTicket=0, LastType=0;
double LastClosePrice=0、LastLots=0;
double Pivot=0;
double PipValue=0;
文字列 text="", text2="";
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
int start()
{
//----
if (AccountisNormal==1)
{
if (mm!=0) { lotsi=MathCeil(AccountBalance()*risk/10000); }.
else { lotsi=Lots; }.
} else { // その後がミニ
if (mm!=0) { lotsi=MathCeil(AccountBalance()*risk/10000)/10; } }.
else { lotsi=Lots; }.
}
if (lotsi>100){ lotsi=100; }.
OpenOrders=0;
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol())
{
OpenOrders++;
}
}
if (OpenOrders<1)
{
if (TimeYear(CurTime())<StartYear) { return(0); }.
if (TimeMonth(CurTime())<StartMonth){戻り値(0); }.
if (TimeYear(CurTime())>EndYear){return(0);}。
if (TimeMonth(CurTime())>EndMonth ) { return(0); }.
}
if (Symbol()=="fSi") { PipValue=fSiPipValue; }.
if (Symbol()=="EURUSD") { PipValue=EURUSDPipValue; } { PipValue=EURUSDPipValue; } { PipValue=EURUSDPipValue
if (Symbol()=="GBPUSD") { PipValue=GBPUSDPipValue; }.
if (Symbol()=="USDJPY") { PipValue=USDJPYPipValue;}。
if (Symbol()=="USDCHF") { PipValue=USDCHFPipValue; } もし (Symbol()=="USDCHF") { PipValue=USDCHFPipValue。
if (PipValue==0) { PipValue=5; }.
if (PreviousOpenOrders>OpenOrders)
{
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
mode=OrderType()。
if (OrderSymbol()==Symbol())
{
if (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue); }.
if (mode==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red); } { 注文終了。
return(0);
}
}
}
PreviousOpenOrders=OpenOrders;
if (OpenOrders>=MaxTrades)
{
ContinueOpening=False。
} else {
ContinueOpening=True。
if (LastPrice==0)
{
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
mode=OrderType();
if (OrderSymbol()==Symbol())
{
LastPrice=OrderOpenPrice()。
if (mode==OP_BUY) { myOrderType=2; }.
if (モード==OP_SELL) { myOrderType=1; }.
}
}
}
if (OpenOrders<1)
{
myOrderType=3です。
//if (iMACD(14,26,9,MODE_MAIN,0)>0 and iMACD(14,26,9,MODE_MAIN,0)>iMACD(14,26,9,MODE_MAIN,1)) then OrderType=2.If (iMACD(14,26,9,MODE_MAIN,1)>iMACD)
if (iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0)>iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,1)) { myOrderType=2; } } { iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0) >iMACD(NULL,1,14,26,9,MODE_MAIN,1)
//if (iMACD(14,26,9,MODE_MAIN,0)<0 and iMACD(14,26,9,MODE_MAIN,0)<iMACD(14,26,9,MODE_MAIN,1)) then OrderType=1.If (iMACD(14,26,9,MODE_MAIN,1)), then OrderType=1;
if (iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0)<iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,1)) { myOrderType=1; } もし、(ReverseCondition==1) if (NULL(14,26,9,MODE_MAIN,0) <iMACD(14,26,9,MODE_MAIN,2)
if (ReverseCondition==1)
{
if (myOrderType==1) { myOrderType=2; }.
else { if (myOrderType==2) { myOrderType=1; }.}
}
}
// もし、オープンポジションがあれば、それを処理します。
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol())
{
if (オーダータイプ()==OP_SELL)
{
if (TrailingStop>0){
if (OrderOpenPrice()-Ask>=(TrailingStop+Pips)*Point)
{
if (OrderStopLoss()>(Ask+Point*TrailingStop))の場合
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderClosePrice() - TakeProfit*Point-TrailingStop*Point,800,Purple).OrderOpenPrice(),Ask+TrailingStop()の場合。
return(0);
}
}
}
if (OrderType()==OP_BUY)
{
if (TrailingStop>0){
if (買値-売値()>=(TrailingStop+Pips)*ポイント)
{
if (オーダーストップロス()<(ビッド-ポイント*トレイリングストップ))
{
注文変更(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderClosePrice() +TakeProfit*Point+TrailingStop*Point,800,Yellow).OrderModify(OrderOpenPrice())
return(0);
}
}
}
}
}
Profit=0;
LastTicket=0;
LastType=0。
LastClosePrice=0。
LastLots=0。
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol())
{
LastTicket=OrderTicket()。
if (オーダータイプ()==OP_BUY){ LastType=OP_BUY; } { LastType=OP_BUY。
if (OrderType()==OP_SELL) { LastType=OP_SELL;}。
LastClosePrice=OrderClosePrice()。
LastLots=OrderLots()。
if (LastType==OP_BUY)
{
//Profit=Profit+(Ord(cnt,VAL_CLOSEPRICE)-Ord(cnt,VAL_OPENPRICE))*PipValue*Ord(cnt,VAL_LOTS));
if (OrderClosePrice()<OrderOpenPrice())の場合。
{ 利益=利益-(OrderOpenPrice()-OrderClosePrice())*OrderLots()/ポイント; }.
もし(OrderClosePrice()>OrderOpenPrice())
{ 利益=利益+(OrderClosePrice()-OrderOpenPrice())*OrderLots()/Point; } }.
}
if (LastType==OP_SELL)
{
//Profit=Profit+(Ord(cnt,VAL_OPENPRICE)-Ord(cnt,VAL_CLOSEPRICE)) *PipValue*Ord(cnt,VAL_LOTS);
if (OrderClosePrice()>OrderOpenPrice())の場合。
{ 利益=利益-(OrderClosePrice()-OrderOpenPrice())*OrderLots()/Point; } } { 利益=利益-(OrderClosePrice()-OrderOpenPrice())
もし(OrderClosePrice()<OrderOpenPrice())
{ 利益=利益+(OrderOpenPrice()-OrderClosePrice())*OrderLots()/Point; } { 利益=利益+OrderClosePrice()*OrderLots())/Point
}
//Print(Symbol,":",Profit,", "LastLots)。
}
}
利益=Profit*PipValue;
text2="利益: $"+DoubleToStr(Profit,2)+" +/-";
if (OpenOrders>=(MaxTrades-OrderstoProtect) && AccountProtection==1)
{
//Print(Symbol,":",Profit)。
if (利益>=SecureProfit)(利益)
{
オーダークローズ(LastTicket,LastLots,LastClosePrice,slippage,Yellow);
ContinueOpening=False。
return(0);
}
if (!IsTesting())
{
if (myOrderType==3) { text="No conditions to open trades"; }.
else { text=" "; }.
Comment("LastPrice=",LastPrice," Previous open orders=",PreviousOpenOrders,"\nContinue opening=",ContinueOpening," OrderType=",myOrderType,"\n",text2,"\nLots=",lotsi,"\n", text).を追加しました。
}
if (myOrderType==1 && ContinueOpening)
{
if ((Bid-LastPrice)>=Pips*Point || OpenOrders<1)
{
SellPrice=Bid;
LastPrice=0;
if (TakeProfit==0) { tp=0; }.
else { tp=SellPrice-TakeProfit*Point; }.
if (InitialStop==0){sl=0;}とする。
else { sl=SellPrice+InitialStop*Point;}。
if (OpenOrders!=0)
{
mylotsi=lotsi;
for(cnt=1;cnt<=OpenOrders;cnt++)
{
if (MaxTrades>12) { mylotsi=NormalizeDouble(mylotsi*1.5,1); }.
else { mylotsi=NormalizeDouble(mylotsi*2,1); } } } { mylotsi=NormalizeDouble(mylotsi*2,1)
}
} else { mylotsi=lotsi; } }
if (mylotsi>100) { mylotsi=100; }.
OrderSend(Symbol(),OP_SELL,mylotsi,SellPrice,slippage,sl,tp,NULL,0,0,Red).OrderSend(Symbol(),OP_SELL,mylotsi,SellPrice,slippage,sl,tp,NULL,0,Red);
return(0);
}
}
if (myOrderType==2 && ContinueOpening)
{
if ((LastPrice-Ask)>=Pips*Point||OpenOrders<1))。
{
BuyPrice=Ask;
LastPrice=0;
if (TakeProfit==0) { tp=0; }.
else { tp=BuyPrice+TakeProfit*Point; }.
if (InitialStop==0){sl=0;}。
else { sl=BuyPrice-InitialStop*Point;}。
if (OpenOrders!=0)の場合{。
mylotsi=lotsi;
for(cnt=1;cnt<=OpenOrders;cnt++)
{
if (MaxTrades>12) { mylotsi=NormalizeDouble(mylotsi*1.5,1); }.
else { mylotsi=NormalizeDouble(mylotsi*2,1); } } } { mylotsi=NormalizeDouble(mylotsi*2,1)
}
} else { mylotsi=lotsi; } }
if (mylotsi>100) { mylotsi=100; }.
OrderSend(Symbol(),OP_BUY,mylotsi,BuyPrice,slippage,sl,tp,NULL,0,0,Blue).OrderSend(Symbol(),OP_BUY,mylotsi,BuyPrice,sl,tp,NULL,0,0,Blue);
return(0);
}
}
//----
return(0)。
}
+------------------------------------------------------------------+
別の質問
EA10pts3_Smi_Rsi1_mrtoolsの エラーで
インジケーターをダウンロードしてください
有朋Kosntantin。
あなたが投稿したコードについては、この修正されたバージョンを試すかもしれませんここでhttps://www.mql5.com/en/forum/174975投稿 番号:4819
あなたの質問の第二部のために指標はここにあるhttps://www.mql5.com/en/forum/174975post#4845
ボラティリティの低いペアは、以下の通りでしょう。EURGBP、EURCHF、NZDUSD、AUDUSDです。RSIを組み込んだ新しいEAは、トレードを開始するのが恥ずかしいです。まだ取引はしていません。
エルメスさん、ありがとうございます。
EAは-550ドルから-330ドルへ少し回復したが、まだ先が長い。10pts RSIが死んでいる。
エルメス