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

 
Dimka-novitsek:

ivandurakさんの投稿を読んですぐに気づいたのですが、各ティック後にスタートだけがトリガーされるので、グローバルに変数を開けば、値が保存されるようです。

だから、そうなのでしょう。

つまり、コンパイラはint KolBars=Barsという行を断固として受け付けず、'Bars' - initialization expected C:\Program Files (x86)\Alpari ÌÒ4expertsÁëù.mq4 (8, 13)

すごい!!!!!!! 通常の変数宣言です。 でも、気にしないでください。

本題の質問ですが、週末にEAのデバッグをする際、ティックが行かない場合、どうすればいいのでしょうか?


//| Бред.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
int KolBars=Bars;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
KolBars=Bars;

return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{int r;
r=Bars- KolBars
//----
for( r>0 )
int k;

KolBars=Bars;

//----
return(0);
}
//+------------------------------------------------------------------+ 
テスターは何のためにあるのか?
 

遺伝的アルゴリズム について!!!

私の場合は、ニューラルネットワークの重みが選択されています。遺伝的アルゴリズムを使わずに最適化を行うと、非常に長い時間がかかってしまいます。

コードに擬似ランダム性はありません。

遺伝子アルゴリズムも多くのバリエーションを試しますが、一定のプログラム(同一区間、同一条件)に従って行動します。それなのに、なぜ違う結果が出るのか、私には理解できません。

ところで、GEN ALGORITHMの動作を確認するための質問は誰もしていない。その通り:2回最適化を実行して、結果を比較する......。 試してみてください。

 
Stepan241:

遺伝的アルゴリズムについて!!!

私の場合は、ニューラルネットワークの重みが選択されています。遺伝的アルゴリズムを使わずに最適化を行うと、非常に長い時間がかかってしまいます。

コードに擬似ランダム性はありません。

遺伝子アルゴリズムも多くのバリエーションを試しますが、一定のプログラム(同じ区間、同じ条件)に従って行動しています。それなのに、なぜ違う結果が出るのか、私には理解できません。

ところで、GEN ALGORITHMの動作を確認するための質問は誰もしていない。その通り:最適化を2回実行して、結果を比較する...Aやってみる。


自分を助ける。

https://www.mql5.com/ru/articles/1409https://www.mql5.com/ru/articles/1408 https://www.mql5.com/ru/articles/1511

 

専門家の皆様へ残高値によってロットや注文 数を変更する機能を提案していただけないでしょうか。

 
Stepan241:

遺伝的アルゴリズムについて!!!

ちなみに、GENE ALGORITHMの働きをTESTする質問は誰もしていない。その通り:最適化を2回実行して、結果を比較する...Aやってみる。

mqlを長く使われているようですが、私の理解では、gen.alg.は疑似乱数を使って初期設定パッケージをトレースし、その後、与えられた定義によってどこで何を探せばいいのか検討を始めるのだと思います。

https://www.mql5.com/ru/articles/1408

遺伝的アルゴリズムが機能する仕組み

1.初期時間モーメントt=0を開始する。k個の個体からなる初期集団をランダムに形成 する。B0 = {A1,A2,...,Ak)

2. ...

 
fanat:

専門家の皆様へ残高値によってロットや注文数を変更する関数を教えてください。


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

著者は動的ロットと最大オプション数を使用しています。

MaxOrders_Desc = "0の場合、同時に開くポジションの数は1-3に制限されない";
MaxOrders = 1;

Lots_Desc = "If 0 Apply Dynamic Lot";

ロット=1。

 

異なる通貨ペアの注文を一度に出すと、エントリー条件をチェックした後、4051のエラーが出続けるのですが、可能でしょうか?

while(真)

{
if (Total==0 && Opn_B==true && Total1==0 && Opn_S1==true) // 第1、第2通貨ペアと始値基準の未決済注文がない場合
{

RefreshRates(); // データを更新
double bid = MarketInfo(Symb2,MODE_BID);
Alert("Trying to open Buy and Sell. Waiting for reply.");
Ticket=OrderSend(Symb1,OP_BUY,Lts,Ask,2,0,0); //買い開始
Ticket1=OrderSend(Symb2,OP_SELL,Lts,bid,2,0,0);
if (Ticket > 0 && Ticket1 > 0) // うまくいった :)
{
Alert ("Buy and Sell order opened ",Ticket,Ticket1);
return; // Exit start()
}
if (Fun_Error(GetLastError())==1) // Error handling
continue; // Retry
return; // Exit start()
}.

 
Dimka-novitsek:

つまり、コンパイラはint KolBars=Barsという行を断固として受け付けず、'Bars' - initialization expected C:\Program Files (x86)\Alpari Ì4ÒexpertsÁåë.mq4 (8, 13)

私は主なものを聞くでしょう - どのように週末にEAをデバッグするには、ティックが行かない場合?

1.
//| Бред.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
int KolBars;//=барс нельзя переменную присвоить вне функций




//| expert initialization function 
|

int init()
{
KolBars=Bars; //один раз при инициализ.

return(0);
}
...
2.ストラテジーテストについて ;)
 

こんにちは!!!笑)!!!!!!! ''for'' - too complex expression C:\Program Files (x86)♪Alpari MT4 experts ♪bred.mq4 (34, 1)

''for'' - too complex expression C:\Program Files (x86)♪Alpari ♪♪Experts ♪♪.mq4 (34, 1)

週末にテスト モードでEAをデバッグする場合、プラットフォーム上でティックを受信し、Comment,Alert,関数からレスポンスを得るのと同じ方法で可能でしょうか?

 
xxxslavaxxx:

異なる通貨ペアの注文を一度に出すと、エントリー条件をチェックした後、4051のエラーが出続けるのですが、可能でしょうか?

while(真)

{
if (Total==0 && Opn_B==true && Total1==0 && Opn_S1==true) // 第1、第2通貨ペアの未決済注文がない + 未決済基準がある
{

RefreshRates(); // データをリフレッシュする
double bid = MarketInfo(Symb2,MODE_BID)。
Alert("Trying to open Buy and Sell. Waiting for reply...");
チケット=OrderSend(Symb1,OP_BUY,Lts,Ask,2,0,0);//買いを開始する
if(GetLastError()==4051)Alert("Symb1"+Symb1+" Lts "+Lts+" Ask "+Ask)。
//if(Ticket>0)Sleep(50);else continue;

Ticket1=OrderSend(Symb2,OP_SELL,Lts,bid,2,0,0)とする。
if(GetLastError()==4051)Alert("Symb2"+Symb2+" Lts "+Lts+" bid "+bid")。


if (Ticket > 0 && Ticket1 > 0) // うまくいった :)
{
アラート("売買注文を開始しました",チケット,チケット1)。
return; // 終了
}
if (Fun_Error(GetLastError())==1) // エラー処理
continue; // 再試行
return; // start() を終了する。
}