[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 138

 
supernyb:

が、出力については、プリンタは4桁以下しか印刷しないとのことですが、どうなんでしょうか?

then if Print (DoubleToStr(Startprice,5)); // Startpriceを表示する。

が5つ出ます。

しかし、バータイムを追加すると

この行は、バータイムを追加しないのですか?



string name="Pr1_";
string cur_name=name+Time[0];
 
supernyb:


というような場合。

it's not working, it's blaming '=' - incompatible types C:\fortestexpertsne.mq4 (34, 14)

どう書けば正しいのか?

返信ありがとうございます!もう1週間もやってます(笑)


こんな風に試してみてください。

 extern int MA_Period = 50;                   //периуд Ма
extern int MA_Method =MODE_SMA;               //Метод усреднения скользящего среднего. Может быть любым из значений методов скользящего среднего (Moving Average):
                              //*MODE_SMA 
                              
 extern int Maximum_History = 0;              //Ограничение истории для расчетов, если 0 то расчет всей истории
 
   
    
                                               //начало кода советника
int start()
{      
    double MA4;                                // Значение МА на 4 баре     
    double Startprice;
  
   MA4=iMA(NULL,0,MA_Period,0,MA_Method,PRICE_CLOSE,4); 
 
   
 if  (Low[4]< MA4 && MA4 < High[4])            //условия если 4-я свеча лежит в скользящей  
     {      
   Startprice=Close[0];
     }
       
   Print (DoubleToStr(Startprice,5));          // распечатаем Startprice
     
      
   datetime TmR1=Time[0];                      // запоминаем время текущего бара? 
   
       ObjectCreate("Rep1"+TmR1,OBJ_ARROW, 0, TmR1, Startprice); // создаем обьект 
       ObjectSet("Rep1", OBJPROP_COLOR, White); // устанавливаем обьект на график
       ObjectSet("Rep1", OBJPROP_ARROWCODE,71); 
      
     return(0); 
 }    
 
supernyb:

が、出力については、プリンタは4桁以下しか印刷しないとのことですが、どうなんでしょうか?

then if Print (DoubleToStr(Startprice,5)); // Startpriceを表示する。

が5つ出ます。

しかし、バータイムを追加すると

この行は、バータイムを追加しないのですか?


 
Roger:
bay_minの取得方法を示してください。


 if (StochM < St_min && StochS < St_min) 
   bay_min = true;
 
r772ra:
if (bay_min == true)   datetime T=Time[0] //сработал сигнал на покупку запоминаем время  бара

if(iBarShift(NULL,0,T)==2) //по времени, сигнал был на 2 баре
   {   
  if (Open[1]<Close[1] && Open[2]<Close[2] )   //и эти бары бычьи 
     { 
    // что-то делаем
     }
   }
   
// я думаю, как-то так.

ありがとうございます。ロジックは明確なのですが、トレードを開くのが完全に止まってしまいました。
проблема в этой строчке
if(iBarShift(NULL,0,T)==2) //по времени, сигнал был на 2 баре
 
アドバイスをお願いします。ZigZagインジケータがオーバードローしているのですが。チャート上に特定のオブジェクトを描画するものです。価格が変動し、オブジェクトを削除する必要がある場合、オブジェクトは削除されますが、チャート上のバッファの値は残っています。 チャートからだけでなく、古い値も削除するにはどうすればよいですか?もしや、ジグザグに実装されているところをコード化したり、示したりするのでしょうか?
 
Dimka-novitsek:
この厳密にはビジネスタスクであるビズブレーキを、どうやってコンピューターに教えればいいのでしょうか?そうしないと、スピードテスターのレバーは反応したいときだけ反応します遅延は3〜8秒が多い。悪女ばかりに言及!
良い一日をお過ごしください。
 
Dimka-novitsek:
この厳密にはビジネスタスクであるビズブレーキを、どうやってコンピューターに教えればいいのでしょうか?そうしないと、スピードテスターのレバーは反応したいときだけ反応します遅延は3〜8秒が多い。悪女ばかりに言及!


ベストを尽くす
 



ストラテジーテスターレポート

サブオットー
(ビルド438)

シンボルマークEURUSD (ユーロ vs 米ドル)
期間1時間(H1) 2005.01.24 00:00 ~ 2012.09.26 23:00 (2005.01.24~2012.09.27)。
モデルすべてのティック(利用可能な最小のすべての時間枠に基づく最も正確な方法)
パラメータParameters=" EA"; lot=1; lot2=1; Magic_Number=68705; yroven=120; pr=50; sp=16; MA_Period=50; Maximum_History=0;

歴史に残るバー48438モデル化されたダニ62876826シミュレーション品質90.00%
チャートの不一致エラー0




初回入金額10000.00



当期純利益7635.00利益合計41380.00全損-33745.00
収益性1.23期待されるペイオフ16.71

アブソリュートドローダウン2271.00最大ドローダウン3769.00 (32.78%)相対的ドローダウン32.78% (3769.00)

総取引高457ショートポジション(勝率)0 (0.00%)ロングポジション(勝率)457 (24.29%)

利益を得た取引(全体の割合)111 (24.29%)損失取引(全体に占める割合)346 (75.71%)
最大儲け話600.00負け組み-150.00
平均値得な話372.79負け組み-97.53
最大数れんしょう5 (2020.00)継続的損失(ロス)20 (-2114.00)
最大継続的な利益(勝利数)2098.00 (4)連続損失(損失数)-2114.00 (20)
平均値連勝2継続損失5




なんとかEAを自作することができました。スプレッドを19に固定して走らせました。2005年から常にストップロスをする。いつも持っていてください。平均値やマーチンは使用しない。ポジションはその日のうちに決済され、翌日に持ち越されることはありません。

私のプログラマーは、控えめに言ってもお粗末なものです。

 
artmedia70:

数日留守にしていたのですが...。気になるのは、グラフの上に投げるウィザードは、計算で使うウィザードと同じパラメータを持っているのか、ということです。もしかして、そこに問題があるのでは?

もちろん、パラメータは同じです。ここでは、テストモードで、あるMAのプロパティを開いてみると...。

MAパラメータ

artmedia70 です。

(それでもコードを掘り下げて分解する時間はなかった)。

とてもシンプルに書かれているので、誰でも一目で理解することができますよ :)

artmedia70 です。

私なら、例えば、こんな機能を作ります。

//-----------------------------------------------------------------------------+
double ma(int MAperiod, int MAmethod, int MAshift) {return (iMA(Symbol(), Period(), MAperiod, 0, MAmethod, PRICE_OPEN,MAshift));} {return (iMA(Symbol(), Period(), MAperiod, 0, MAmethod, PRICE_OPEN,MAshift))
//-----------------------------------------------------------------------------+
を呼び出して、パラメータを取得します。


当初は、このExpert Advisorではなく、全体のExpert Advisorを書いたときに考えていたのですが。BUT.iMAは すでに機能として存在しています。iMA 関数を呼び出すと、任意のパラメータを入力することができ、グローバルに宣言された変数もあれば、デフォルトのものもある。要は、関数から関数を呼び出すことに何の意味もないのでは?