アスク! - ページ 97

 

まだ問題があります

こんにちは、皆さん。

Big Beさん、私のEAを見てくださってありがとうございます。私のストキャスティックRSIはアンダーラインがありません。で試したところ、エラーになりました。でも、いくつか分かったことがあります。

1)StrategyTesterを 下の時間枠で試すと、動作が早いようです。H1以上になると、本当に遅くなる。これは、ティックごとに多くのチェックをしなければならないからだと思います。それについて何かできることはありますか?H4や、場合によってはDailyにも最適化したいです。

2) 最初のトレードが実際のクロスの前に起こるという問題がまだあります。

3) 私のバックテストを見ると、いくつかのトレードを完全に見逃しているようです。これは、私のデータに欠陥があるためでしょうか、それともミスマッチでしょうか?New Digitalのサイトで、使用しているブローカーのデータを取得する方法として、履歴をダブルクリックし、各時間枠を開いて最後まで「Page Up」を押し続けるというのを見つけましたが、役に立たなかったようです。

私が送ったプログラムの部分は3つのうちの1つで、残りの3つの部分はまだ追加しなければなりません。ストラテジーテスターが速くならないと、儲かるかどうかわからない。

何かアイデアや提案があれば助かります。

よろしくお願いします。

プッツ

 

私が修正したVolatility Quality Index EA、Kiko_v2に対して行ったことを勉強してください。

こちらの投稿319をご覧ください。

https://www.mql5.com/en/forum/general

楽しんでください。

Big Be

 

Vq

こんにちは、Big Beです。

アイデアをありがとうございます。今週末に取り組んで、もしすべてがうまくいったら、来週末にはお金持ちになっていることでしょう。

プッツ

 

ヘルプ...お願い

こんにちは、Big Beとプログラマーの皆さん。

Big Be、私はあなたのボラティリティEAを研究しましたが、結局それは私の問題ではなかったようです。私はバックテストに IBFXを使っていたのですが、問題ばかりでした。最終的にあきらめてAlpariをダウンロードしたのですが、そちらの方がずっとうまくいきました。

少なくとも、私のEAのバックテストを行うのに何日もかかることはなくなりました。そこで、私は一からプログラムを作り直したのですが、注文を出すことはありません。

プログラムは基本的にcodersguruのEMS Fresh Crossですが、私はStochastic RSIとStochRSIが50ラインを超えたときにそれをベースにしたいのです。私は、問題の切り分けを容易にするために、変数を含むほとんどすべてをcodersguruのままにしています。

私は、問題はiCustom関数にあると信じています。それは基本的に私がプログラムに加えた唯一の変更であり、それはどんな注文も取らないからです。どなたか、私の間違いを見つけられるかどうか、見ていただけませんか?私は2週間もこれを動かそうとしているのですが、気が狂ってしまいそうです。

私は、//で始まるいくつかのノートを入れています。

ありがとうございます。

プッツ

#property copyright "Putz FX

#property link "http://www.putzfx.com"

//---- input parameters

extern double TakeProfit=130;

extern double StopLoss = 60;

extern double Lots=1;

extern double TrailingStop=30;

extern double TimeFrame= 60;

extern bool ExitOnCross = true;

extern int MagicNumber = 444444;

//+------------------------------------------------------------------+

//| expert initialization function |

//+------------------------------------------------------------------+

int init()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| expert deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

int FreshCross ()

{

//This was added in based on what I could figure from Big Be.

if (Volume[0] != 1) return(0);

//what is the difference between using "Null" or "Symbol()" in iCustom as

//neither one works.

double SEma, LEma,SEmaP, LEmaP;

//The following 4 lines have been changed from the original

SEma = iCustom(Symbol(),PERIOD_H1,"Stochastic RSI",28,55,9,0,0);

LEma = 50;

SEmaP = iCustom(Symbol(),PERIOD_H1,"Stochastic RSI",28,55,9,0,1);

LEmaP = 50;

//Don't work in the first load, wait for the first cross!

//some changes were done to the below two lines as he was comparing the

//return value with the Ask or Bid and Close values

if(SEma>LEma && SEmaP < LEmaP) return(1); //up

if(SEma LEmaP) return(2); //down

return (0); //not changed

}

//+------------------------------------------------------------------+

//| Check Open Position Controls |

//+------------------------------------------------------------------+

int CheckOpenTrades()

{

int cnt;

int NumTrades; // Number of buy and sell trades in this symbol

NumTrades = 0;

for(cnt=OrdersTotal()-1;cnt>=0;cnt--)

{

OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES);

if ( OrderSymbol() != Symbol()) continue;

if ( OrderMagicNumber() != MagicNumber) continue;

if(OrderType() == OP_BUY ) NumTrades++;

if(OrderType() == OP_SELL ) NumTrades++;

}

return (NumTrades);

}

//+------------------------------------------------------------------+

//| expert start function |

//+------------------------------------------------------------------+

int start()

{

//----

int cnt, ticket, total;

double TP;

if(Bars<100)

{

Print("bars less than 100");

return(0);

}

/* if(TakeProfit<10)

{

Print("TakeProfit less than 10");

return(0); // check TakeProfit

}

*/

int isCrossed = 0;

isCrossed = FreshCross ();

total = CheckOpenTrades();

if(total < 1)

{

if(isCrossed == 1)

{

TP = 0;

if (TakeProfit > 0) TP = Ask + TakeProfit * Point;

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,TP,"EMA_CROSS",MagicNumber,0,Green);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());

}

else Print("Error opening BUY order : ",GetLastError());

return(0);

}

if(isCrossed == 2)

{

TP = 0;

if (TakeProfit > 0) TP = Bid - TakeProfit * Point;

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,TP,"EMA_CROSS",MagicNumber,0,Black);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());

}

else Print("Error opening SELL order : ",GetLastError());

return(0);

}

return(0);

}

total = OrdersTotal();

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

//OrderPrint();

if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNumber)

{

if(OrderType()==OP_BUY) // long position is opened

{

// should it be closed?

/* REMOVED - Trailling stop only close */

if(ExitOnCross && isCrossed == 2)

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Black); // close position

return(0); // exit

}

/**/

// check for trailing stop

if(TrailingStop>0)

{

if(Bid-OrderOpenPrice()>Point*TrailingStop)

{

if(OrderStopLoss()<Bid-Point*TrailingStop)

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);

return(0);

}

}

}

}

else // go to short position

{

// should it be closed?

/* REMOVED - Trailling stop only close */

if(ExitOnCross && isCrossed == 1)

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Black); // close position

return(0); // exit

}

/* */

// check for trailing stop

if(TrailingStop>0)

{

if((OrderOpenPrice()-Ask)>(Point*TrailingStop))

{

if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);

return(0);

}

}

}

}

}

}

return(0);

}

//+------------------------------------------------------------------+
 

ストキャスティック RSIの入力パラメータが3つであることを確認しましたか?

(私が見たものは4つでした)

 

役立つ

ラルフさん、こんにちは。

ご苦労様です。私のはバッファは2つですが、入力パラメータは 4つです。4つのパラメータで試したところ、うまくいきませんでしたが、2つのパラメータで試したところ、注文が入りました。あとは、残りを解決するだけです。ありがとうございました。

プッツ

 

noobieからnoob question!

の投稿はこちらに移動しました: https://www.mql5.com/en/forum

ファイル:
buy.jpg  7 kb
 

誰か助けて

皆さんこんにちは。

Pivot_Monday_fixedというインジケータをご存知でしょうか?

このインジケータを少し変更したいのですが

ピボットラインだけでなく、4本のラインも欲しいです。

2つの青い 色 Pivot +20 と Pivot +40

赤色2本 Pivot - 20 と Pivot - 40

5つのラインのみ

ありがとうございます。

ファイル:
 

馬鹿な質問

どなたかEAのmq4ファイルをex4ファイルに変換する一番手っ取り早い方法を教えていただけませんか?

mt4で一度実行するとexpertsファイルにex4と表示されるのは知っていますが、これしか方法がないのでしょうか?

よろしくお願いします。

 
fxgrm:
どなたかEAのmq4ファイルをex4ファイルに変換する一番手っ取り早い方法を教えてください。

mt4で一度実行するとexpertsファイルにex4として表示されるのは知っていますが、この方法しかないのでしょうか?

よろしくお願いします。

MetaEditorで.mq4ファイルを開き、「Compile」をクリックすると、.ex4ファイルが作成されます。