[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 1066

 
Melena:

こんにちは、親愛なるフォーラムのメンバー、あなたの助けを非常に期待しています...。

そこで質問ですが、この分野の専門家の皆さんは、私の考えが正しいかどうか、もし正しくないなら、このデータで何ができるか、線形回帰をどこでどう適用するか、どんな仮説を立てて、それを確認または否定できるか、アドバイスをお願いします。私自身、この分野の専門家とは程遠く、探索的手法はおろか、統計学にも初めて出会いました(((;゚Д゚)))

ありがとうございました。

敬具

ミレーナ

1年の間に顧客の数は大きく変化する(だから分かる)、ならば治療する人数を変化させる力学を考える必要がある(歴史は繰り返す のだ)。

毎年12月1日に、私はどこに行く、時間に添付してください...

というように、あらゆる点で

あるいは、最小化する良い方法があります。

http://www.google.com.ua/search?source=ig&hl=ru&rlz=1G1GGLQ_RUUA357&=&q=%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0+%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8+%D1%83%D0%BF%D1%83%D1%89%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9+%D0%B2%D1%8B%D0%B3%D0%BE%D0%B4%D1%8B&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&aq=f&oq=

Desktop_1.zip(2 871.41 KB) 削除

 
granit77:

Print(iMA("EURUSD", PERIOD_D1, 14, 0, MODE_SMA, PRICE_CLOSE,0))。

こちらの方が正確です。
:)移動中の睡眠...:)
 
marker:

原則的にはそうなるのでしょう。1つのアカウント、8つのターム、8つのスクリプトはそれぞれ別のフォルダにトレードを保存します(マジックでソートされます)。なぜ1つのアカウントにするかというと、ポートフォリオ全体のカーブを見たいから...こんな感じ...sが別々にぶら下がるようになったのだそうです。回答ありがとうございました:))とはいえ、すべてのトレードが1つのファイルに保存されていれば便利なのですが、ソートされていると、1つのファイルにすべてソートされている、そんなことができるのでしょうか。

そのようなものがありますが、あなたはコーダーではないのです ;))

https://www.mql5.com/ru/code/8051

 

こんにちは。

981の収益性について教えてください。可能ですか?プラスの利益の合計は、マイナスの利益の合計の981倍ということでしょうか。(ただし、利益は24でドローダウンは13...何か納得いかない...)。私は「プロフィットファクター」によって最適化を行います。

ここで13ドルのドローダウンはどこにあるのか...?


以下は、そのテストレポートです。


 

はい!!非常に面白いです。 何よりの結果です、私は自分でテストするのが苦手なんです。

何もわからない!!! Expert Advisorにトレーリングストップを規定することにした。

vzletという変数は、私が注文を出したときと比較して、価格が何ポイント上がったかをカウントします。newlossという変数は新しい損失で、注文が移動したときに何ポイント移動するかというサイズと等しく、order-modify内では非常に単純明快にBid+newloss*PointXで記述されています。

130のエラーが出たので、面白半分にbylstop=Bid+stoploss*PointX; -bylstopという変数を作り、注文を出した時のストップの大きさを記憶しておきました。

-結果は驚くべきもので、newlossとbylstopの差は、時には200pipsを超え、通常は100pipsを下らない。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!! もちろん、エラーは130!でも、どうしてそうなるんだ!!!!計算式は極めてシンプル!!!!エラーなし!!!!それとも私は完全なバカなのでしょうか?3日前から見てたんだけど、わかんない!!!!

//+------------------------------------------------------------------+
//| mpm.mq4
//| ダイモン|
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright"Dimon"
#プロパティリンク "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+

extern int BandsPeriod=20, i=1; extern int BandsShift=0;
extern double BandsDeviations=2.0;
extern double Lots=0.1, TakeProfit=60, stoploss=25; double PointX;


int init()
{ if(Digits==5 || Digits==3) PointX = Point * 10; // 3桁または5桁の場合の補正ポイント
if(Digits==4 || Digits==2) PointX = Point;
//----

//----
return(0)です。
}
//+------------------------------------------------------------------+
//| 専門家による初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0)です。
}
//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
double order; int ticket;double bylstop;
int start()
{double newloss=12; Alert ("ticket",ticket);
double vzlet= (Close[1]-order)/PointX。

Alert ("vzlet",vzlet); int total=OrdersTotal();// Comment(" total ",total); Alert (" total ",total).Alert("vzlet",vzlet);
アラート("PointX",PointX)。


if (vzlet>=20)
{ for(int i = 0; i < total; i++)
{ OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES );
if(OrderSymbol() == Symbol()&&OrderMagicNumber() == 16384 &&OrderType() == OP_BUY)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid+newloss*PointX,OrderTakeProfit(),0,Blue)。
アラート("修正エラー",GetLastError());アラート("newlossbuy",Bid+newloss*PointX);アラート("bylstopbuy",bylstop);}。


if (vzlet<=(-20))
{ for( i = 0; i < total; i++)
{ OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES );
if(OrderSymbol() == Symbol() && OrderMagicNumber() == 16384&&OrderType() == OP_SELL)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask-newloss*PointX,OrderTakeProfit(),0,Blue)。
Alert ("Modification error",GetLastError()); Alert ("newlosssell",Ask-newloss*PointX); Alert ("bylstopsell",bylstop); } }.



if ( total !=0 ){return;}。

double 平均、Verhnyayaghranytsa、Nyzhnyayaghranytsa、newres、sum、deviation。
文字列テキスト; int err;
text="macd sample;
平均=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i)となります。
int k,counted_bars=IndicatorCounted();

//----
//----
for( k = 0; k<BandsPeriod; k++)
{ newres=Close[k]-Average;//Alert (" Average ",Average);
sum+=((newres*100)*(newres*100))/10000;//Alert (" newres ",newres);
}




deviation=BandsDeviations*MathSqrt(sum/BandsPeriod) となります。
Verhnyayaghranytsa=平均値+偏差値。
Nyzhnyayaghranytsa=平均偏差;//アラート(" sum ",sum);
// アラート(" deviation ",deviation);
//----
if (Verhnyayaghranytsa<Close[i])とする。
{Comment("ブイ",Verhnyayaghranytsa );
ticket=OrderSend(Symbol(,OP_BUY,Lots,Ask,3,Ask-stoploss*PointX,Ask+TakeProfit*PointX, "macd sample",16384,0,Green);
Alert(" stoploss ",Ask-stoploss*PointX);order=Close[0];bylstop= Ask-stoploss*PointX;Alert("Error",GetLastError()).Alert=Close[0];order=Close[0];bylstop= Ask-stoploss*PointX;Alert=Close[0];order=Close[0];bylstop= Ask-stoploss*PointX
}


if (Nyzhnyayaghranytsa>Close[i])とする。
{ Comment(" sell! ",Nyzhnyayaghranytsa );

ticket=OrderSend(Symbol(,OP_SELL,Lots,Bid,3,Bid+stoploss*PointX,Bid-TakeProfit*PointX, "macd sample",16384,0,Red)) を実行。
アラート(" stoploss ",Bid+stoploss*PointX);bylstop=Bid+stoploss*PointX;
Alert("ErrorOrdersell",GetLastError()); order=Close[0]; }.

}
return(0)です。

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

2010.12.22 14:22:09 2010.06.03 20:46 EURUSD,H1: アラート:bylstopsell1.2247

2010.12.22 14:22:09 2010.06.03 20:46 Thu Thunder EURUSD,H1: Alert: newlosssell1.2154

2010.12.22 14:22:09 2010.06.03 20:46 Thu Thunder EURUSD,H1: Alert: Modification Error130

2010.12.22 14:22:09 2010.06.03 20:46 Thu Thunder EURUSD,H1: OrderModify error 130

2010.12.22 14:22:04 2010.06.03 05:00 Thu Thunder EURUSD,H1: Alert: ticket2

2010.12.22 14:22:04 2010.06.03 05:00 Thu Thunder EURUSD,H1: Alert: PointX0.0001

2010.12.22 14:22:04 2010.06.03 05:00 Thu Thunder EURUSD,H1: Alert: vzlet16

2010.12.22 14:22:04 2010.06.03 05:00 Thu Thunder EURUSD,H1: Alert: ticket2

2010.12.22 14:22:04 2010.06.03 05:00 Thu Thunder EURUSD,H1: Alert: PointX0.0001

2010.12.22 14:22:04 2010.06.03 05:00 Thunder EURUSD,H1: Alert: vzlet16

3回書かないように、if(OrderSymbol() == Symbol() && OrderMagicNumber() == 16384&&OrderType() == OP_SELL)というコジツケを作りました。

OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES ); と、OrderModify(OrderTicket(),OrderOpenPrice(),Bid+newloss*PointX,OrderTakeProfit(),0,blue) と入れればいいんですね。

と、ありえないところでエラーになっています!!!!!!!!!!



そればかりか、PointX0.0001 に 10 を掛けてから割り算(もちろんループの外)をしてしまいましたが、これは根本的に間違っており、理由もわからず、混乱したままになってしまいました。

//+------------------------------------------------------------------+
||mq4
//| ダイモン|
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Dimon"
#プロパティリンク "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| エキスパート初期化関数

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

--------------------------------------------------+

extern int BandsPeriod=20, i=1; extern int BandsShift=0;
extern double BandsDeviations=2.0;
extern double Lots=0.1, TakeProfit=60, stoploss=25; double PointX;


int init()
{ if(Digits==5 || Digits==3) PointX = Point * 10; // 3桁または5桁の場合の補正ポイント
if(Digits==4 || Digits==2) PointX = Point;
//----

//----
return(0)です。
}
//+------------------------------------------------------------------+
//| 専門家による初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0)です。
}
//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
double order; int ticket;double bylstop;
int start()
{double newloss=12; Alert ("ticket",ticket); PointX= PointX*10 ;
double vzlet= (Close[1]-order)/PointX。

Alert ("vzlet",vzlet); int total=OrdersTotal();// Comment(" total ",total); Alert (" total ",total).Alert("vzlet",vzlet);
アラート("PointX",PointX)。


if (vzlet>=20)
{ for(int i = 0; i < total; i++)
{ OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES );
if(OrderSymbol() == Symbol()&&OrderMagicNumber() == 16384 &&OrderType() == OP_BUY)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid+newloss*PointX,OrderTakeProfit(),0,Blue)。
アラート("修正エラー",GetLastError());アラート("newlossbuy",Bid+newloss*PointX);アラート("bylstopbuy",bylstop);}。


if (vzlet<=(-20))
{ for( i = 0; i < total; i++)
{ OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES );
if(OrderSymbol() == Symbol() && OrderMagicNumber() == 16384&&OrderType() == OP_SELL)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask-newloss*PointX,OrderTakeProfit(),0,Blue)。
Alert ("Modification error",GetLastError()); Alert ("newlosssell",Ask-newloss*PointX); Alert ("bylstopsell",bylstop); } }.



if ( total !=0 ){return;}。 PointX = PointX/10;

double 平均、Verhnyayaghranytsa、Nyzhnyayaghranytsa、newres、sum、deviation。
文字列テキスト; int err;
text="macd sample;
平均=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i)となります。
int k,counted_bars=IndicatorCounted();

//----
//----
for( k = 0; k<BandsPeriod; k++)
{ newres=Close[k]-Average;//Alert (" Average ",Average);
sum+=((newres*100)*(newres*100))/10000;//Alert (" newres ",newres);
}




deviation=BandsDeviations*MathSqrt(sum/BandsPeriod) となります。
Verhnyayaghranytsa=平均値+偏差値。
Nyzhnyayaghranytsa=平均偏差;//アラート(" sum ",sum);
// アラート(" deviation ",deviation);
//----
if (Verhnyayaghranytsa<Close[i])とする。
{Comment("ブイ",Verhnyayaghranytsa );
ticket=OrderSend(Symbol(,OP_BUY,Lots,Ask,3,Ask-stoploss*PointX,Ask+TakeProfit*PointX, "macd sample",16384,0,Green);
Alert(" stoploss ",Ask-stoploss*PointX);order=Close[0];bylstop= Ask-stoploss*PointX;Alert("Error",GetLastError()).Alert=Close[0];order=Close[0];bylstop= Ask-stoploss*PointX;Alert=Close[0];order=Close[0];bylstop= Ask-stoploss*PointX
}


if (Nyzhnyayaghranytsa>Close[i])とする。
{ Comment(" sell! ",Nyzhnyayaghranytsa );

ticket=OrderSend(Symbol(,OP_SELL,Lots,Bid,3,Bid+stoploss*PointX,Bid-TakeProfit*PointX, "macd sample",16384,0,Red)) を実行。
アラート(" stoploss ",Bid+stoploss*PointX);bylstop=Bid+stoploss*PointX;
Alert("ErrorOrdersell",GetLastError()); order=Close[0]; }.

}
return(0)です。

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



2010.12.22 14:48:09 2010.06.03 07:40 GMT EURUSD,H1: アラート: PointX1.#INF

2010.12.22 14:48:09 2010.06.03 07:40 Thu Thunder EURUSD,H1: Alert: vzlet0

2010.12.22 14:48:09 2010.06.03 07:40 Thu Thunder EURUSD,H1: Alert: ticket-1

2010.12.22 14:48:08 2010.06.03 07:40 GMT,H1: アラート: PointX1.#INF

2010.12.22 14:48:08 2010.06.03 07:40 GMT,H1: アラート: vzlet0

2010.12.22 14:48:08 2010.06.03 07:40 GMT,H1: アラート: ticket-1

2010.12.22 14:48:08 2010.06.03 07:40 Thu EURUSD,H1: Alert: PointX1.#INF.



 
なるほど、第2バージョンでは、注文が開いていると、PointXが 分割されなくなるんですね。しかし、一番の問題は、捕まらないことです。
 

チケットの割り当ての理屈がわからない。 連番じゃないんでしょう?回を重ねるごとに枚数が増えていくような気がします。

しかし、どうしてマイナス1なんだ!!!?

 
PointXとは、何のためにあるのか?Pointはポイント、newloss*Pointはnewlossポイント
 

私はちょうど私の最初のEAを書いた とき、それは動作しませんでした、また、エラー130を書いたが、修正ではなく、順序の開口部は、フォーラムで助言、彼らはあなたのプラットフォームは5桁と言う、貼り付け if(Digits==5 || Digits==3) PointX = Point * 10; // 3-5桁用のポイント補正
if(Digits==4 || Digits==2) PointX = Point; 私は貼り付けた、すべてが働いた!!!!!!!!!!!!。貼り付け、コピーしたが、うまくいかなかった、そこでエラーを把握した、自分で把握する。



 
Dimka-novitsek:

チケットの割り当ての理屈がわからない。 連番じゃないんでしょう?回を重ねるごとに枚数が増えていくような気がします。

しかし、どうしてマイナス1なんだ!!!?

注文がトリガーされなかった場合は、「-1」と表示されます。注文が実行 された場合は、番号が付与されます。