[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 253

 

ターキーに関数を挿入できない。(' - 想定外のC:を判定する機能。\ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ

何が足りないのだろう?'(' -関数 定義 unexpected C:\ÒterminalëëxpertsÍindicatorsÈäþêÄìîínà .mq4 (142, 19)

//+------------------------------------------------------------------+
//|                                                 ИндюкДимона .mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property link      "http://www.metaquotes.net"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 DarkBlue
#import "user32.dll"
   int   PostMessageA(int  hWnd,int  Msg,int  wParam,string lParam);
#import
#define WM_COMMAND                     0x0111
int delimiter = 0;



double ВерхняячертаBuffer1[];
double НижняячертаBuffer2[];
double СинняячертаBuffer3[];
 double вершина; 
 double основание_первого_снижения;
 double начало;
 double вершина_волны_3;
 extern int T=4,K=200;
 int timeframe, start ;
 int бар_вершина ;
 int бар_основание_первого_снижения;
 int бар_начало;
 int pereklutsatel;
double naklon,linija2; int P;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()

  {SetIndexStyle(0,DRAW_SECTION,STYLE_SOLID,2,CLR_NONE);//Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(0,ВерхняячертаBuffer1);//Alert ("SetIndexBuffer ",GetLastError( ) );
   SetIndexEmptyValue(0,0.0);
   
   SetIndexStyle(1,DRAW_SECTION,STYLE_SOLID,2,CLR_NONE);//Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(1,НижняячертаBuffer2);//Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue(1,0.0);
   
   SetIndexStyle(2,DRAW_SECTION,STYLE_SOLID,T,CLR_NONE);//Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(2,СинняячертаBuffer3);//Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue(2,0.0);
//---- indicators




//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
   
   for ( int J=0;J<=49;J++){
//----

  // for(int i=Bars; i>=0;i--)
  int i=Bars;
      бар_вершина=iHighest( NULL,  timeframe, MODE_HIGH, K, start ) ;
       вершина =High[ бар_вершина ];
       бар_основание_первого_снижения=iLowest( NULL,  timeframe, MODE_LOW,NormalizeDouble ( бар_вершина/2,0), start ) ;
       основание_первого_снижения=Low[ бар_основание_первого_снижения ];
       бар_начало=iLowest( NULL,  timeframe, MODE_LOW,NormalizeDouble (бар_вершина*1.5,0), бар_вершина ) ;
       начало=Low[ бар_начало ];
       
      //   Alert ( " бар_вершина   ",бар_вершина  , " вершина  " , вершина ,
      //    " бар_основание_первого_снижения  " ,бар_основание_первого_снижения  , " основание_первого_снижения  " , основание_первого_снижения , 
      //    " бар_начало  " , бар_начало   , " начало  " , начало    );
  if(начало>основание_первого_снижения){naklon=(начало-основание_первого_снижения)/(бар_начало-бар_основание_первого_снижения);
 // Alert("naklon  ", naklon);
    НижняячертаBuffer2[бар_начало]=начало;linija2=начало;for(i=бар_начало-1;i>=0;i--){linija2=linija2-naklon;
  //  Alert ("linija2  " , linija2 );
    НижняячертаBuffer2[i]=linija2;
   //  Alert("НижняячертаBuffer2[i]  ", НижняячертаBuffer2[i] , "  i " , i);
   }
    НижняячертаBuffer2[бар_основание_первого_снижения]=основание_первого_снижения;}
    
    
         for (i=0;i<100;i++){  СинняячертаBuffer3[i]= Open[i];}
          for (i=330;i<500;i++){  СинняячертаBuffer3[i]= Open[i];}

     ВерхняячертаBuffer1[бар_начало]=начало;
     
 double точка4; int бар_точка4;   бар_точка4=iHighest( NULL,  timeframe, MODE_HIGH, бар_основание_первого_снижения, 3 ) ; 
  точка4 =High[ бар_точка4 ];  
   
   if(вершина>точка4){naklon=(начало-точка4)/(бар_начало-бар_точка4);  
   double linija1=начало;for(i=бар_начало-1;i>=0;i--){linija1=linija1-naklon;ВерхняячертаBuffer1[i]=linija1; }}
   
 double vulf=НижняячертаBuffer2[0];
  if ( vulf==Ask&&vulf==Bid)vulf=1;
  else{ for (vulf=vulf+Point*10; vulf==НижняячертаBuffer2[0];vulf=vulf-Point){
           if ( vulf==Ask&&vulf==Bid){vulf=1;}} 
      for (vulf=vulf-Point*10; vulf==НижняячертаBuffer2[0];vulf=vulf+Point){
           if ( vulf==Ask&&vulf==Bid)vulf=1;} 
              
           
           
           }
           
           
   if (vulf==1){Comment ("  Есть вульв!!! "  , "  timeframe " , timeframe);return(0);  }
   
   if (vulf!=1&&pereklutsatel==1) {    
   
     if(delimiter<3){delimiter++;Comment(delimiter);return(0);}
   delimiter=0;
    fChangePeriod();P++;
                                 
                   }  
 if (P>8){  K=K+50;return(0);P=0; }    
//----
   return(0);
  }
//+------------------------------------------------------------------+


void fChangePeriod(){int ii,hwd = WindowHandle(Symbol(),Period());
   switch(Period()){
      case PERIOD_W1    : ii = 33134; break; //PERIOD_D1;
      case PERIOD_D1    : ii = 33136; break; //PERIOD_H4;
      case PERIOD_H4    : ii = 33135; break; //PERIOD_H1;
      case PERIOD_H1    : ii = 33140; break; //PERIOD_M30;
      case PERIOD_M30   : ii = 33139; break; //PERIOD_M15;
      case PERIOD_M15   : ii = 33138; break; //PERIOD_M5;
      case PERIOD_M5    : ii = 33137; break; //PERIOD_M1;
      case PERIOD_M1    : ii = 33141; break; //PERIOD_W1;
   }     
   PostMessageA(hwd, WM_COMMAND, ii, 0);
   return;
}
 
通貨のインデックス(バスケット)をパーセンテージで計算するインジケーターがすでにあるかどうか教えてください。
例えば
ユーロ 37.4
日本円 9.4
ポンド 11.3
米ドル 41.9
 

みなさん、こんにちは。"mikahekin "インジケータが表示バッファをどのように変えるのか、初心者に教えていただけませんか?また、トレンドが変化したときに「アラート」機能で大声を出すにはどうすればいいのでしょうか?

P.S. インジケータは以下の通りです。

ファイル:
 

教えてください、パスワードにある拡張子ex4のファイルをクラックすることは可能でしょうか?そして、専門家が(もちろん、可能であれば)ハッキングされないように、チュートリアルKovalevに書かれたパスワードの他に何ができるのでしょうか?

ありがとうございます。

 
Skander:

そして、エキスパートがハッキングされるのを防ぐために、コバレフのチュートリアルに書かれているパスワード以外に何ができるでしょうか(もちろん、それが可能であればですが)?

侵入させる。そんなことはどうでもいいのです。どんなExpert Advisorもマーケットを変えることはできないし、マーケットにいる全員が儲けることは不可能だ。
 
Skander:

パスワードにある拡張子ex4のファイルをクラックすることが可能かどうか教えてください。

することができます。
 

プロフェッショナルの皆さん、こんにちは。私は移動平均エキスパートアドバイザーをテストしてきましたが、週末の後、テスターは131間違ったボリュームをエラーにします...しかし、その前にすべてがうまくいきました...私はMetaQuotes Software Corpからの プラットフォームでテストしてきました。

 
Zhunko:

このスクリプトは、私のために動作します。

このエキスパート、不思議な働きをするんです。効かないとも言える。M5までしかTFを自分で切り替えない。

本当の意味でダニが出るのを待ちます。なぜこのような問題が発生したのかがわからない。MT4の新しいビルドで何かが変更されました。

Expert Advisorのコードで失敗してしまった。ループ型EAは勝手にTFを切り替えてくれるが、コードが面倒くさい。

もっとシンプルでいいんです。チャートの自律的な更新にアクセスできる方向けです(土日も動作します)。

#include <ServicesMT4.mqh>
int g_hwndChart = NULL;
int g_nCounter = 0;

void init()
 {
  g_hwndChart = WindowHandle(Symbol(), Period()); // Получаем системный дескриптор графика.
  if (UninitializeReason() == 0) ServiceRefreshChart(g_hwndChart, 2000); // Запускаем обновление графика каждые 2 секунды.
 }

void deinit()
 {
  if (UninitializeReason() == REASON_REMOVE || UninitializeReason() == REASON_CHARTCLOSE)
   {
    ServiceStopRefreshChart(g_hwndChart); // Останавливаем обновление.
   }
 }

void start()
 {
  ServiceSetTimeframeByNumber(g_hwndChart, g_nCounter % 9);
  g_nCounter++;
  Sleep(2000);
 }
オフラインでのチャート更新にアクセスできない方向けです。
#include <ServicesMT4.mqh>
int g_hwndChart = NULL;
int g_nCounter = 0;

void init()
 {
  g_hwndChart = WindowHandle(Symbol(), Period()); // Получаем системный дескриптор графика.
 }

void start()
 {
  ServiceSetTimeframeByNumber(g_hwndChart, g_nCounter % 9);
  g_nCounter++;
  Sleep(2000);
 }

あるいはこんな感じ。

#include <ServicesMT4.mqh>
int g_nCounter = 0;

void start()
 {
  ServiceSetTimeframeByNumber(WindowHandle(Symbol(),Period()), g_nCounter % 9);
  g_nCounter++;
  Sleep(2000);
 }

どうだ、ルスタム?ここ2日間、Expert AdvisorでTF切り替えのコードを表示した方はいらっしゃいますか?プロだと思っていたのに、解けなかったんですね。単純なコードではエラーが出なかったんですね。でも、なんとか他人の開発を褒めることができたんですね。

 

Vadimさん、あなたの素晴らしさを疑う人はいません。私が言いたかったのは、もっとシンプルなAPIツールでこのすべてができるということで、質問者はそこから始めたのですが、あなたは説明や手助けをする代わりに、いつものように自分のトピックに話をもっていきました。そして、その結末はすぐにやってくる。

私はというと、私のところではすべてが切り替わり、機能し、いつも、そしてあるべき姿になっています。

>
 
sergkodan:

...そして、週末になると、テスターは131の不正なボリュームというエラーを報告します。


OrderSend()関数に 渡す前にロットをプリントして、EAが何をそんなに怒っているのか見せてあげましょう。